python基礎入門一(語法基礎)

做爲本身正式接觸並應用的第一門編程語言,在Alex和武sir兩位大王的要求下,開始了寫博客總結的日子。學習編程語言是頗有趣的一件事情,但有2點請必定要謹記:1.作人靠本身,碼代碼也必須靠本身。能不能成爲python大牛,靠的是平時邏輯的訓練和日復一日的碼代碼練出來的;2.多總結、多思考、多查閱。實現需求的方式有多種,但總會有另外一個辦法是更加高效的!java

博文內容屬於基礎篇,實時更新,若有地方寫的很差,還請你們批評指正!python

大人不華,君子務實!編程

python的語法基礎

'''
1.python的換行縮進和註釋
2.python的輸入和輸出
3.python變量
4.python的字符編碼
5.python格式化
6.python基本數據類型
'''
目錄導讀

 

任何一種編程語言都有本身的一套語法,python也不例外。值得提一句的是,python對字母大小寫是敏感的。app

一、python的換行、縮進和註釋

python代碼的組織不像java、C同樣用「{}」來控制模塊,而是用「換行和縮進」來組織模塊,通常狀況建議4個空格的縮進。編程語言

#who big who print
a = 3
b = 4
if a > b:
    print(a)
else:
    print(b)

上述代碼中的(#)是python的單行註釋符,若是實現多行註釋,能夠用三個(‘)或(「)來實現。特別須要注意的是,python的(’)和(」)使用方法是相同的。ide

print("#這是單行註釋」)
print(「
'''
這
是
多
行
注
釋
'''")
二、python的輸入和輸出

python的輸入和輸出在2.X和3.X這兩個版本里用法略有不一樣。函數

#在3.X版本的python裏,輸入和輸出
name = input("what is your name: ")
print(name)
#在2.X版本的python裏,輸入和輸出
name = raw_input("what is your name: ")
print name

在3.X版本的python中,簡化了輸入的語法,輸出的(print)被內置成了函數,因此函數後邊要有參數傳進來>> print(name),我的以爲這兩個版本的差異只有個別地方的不一樣,用到時稍微注意下就能夠了(習慣問題就只能酸爽的呵呵了)。學習

三、什麼是變量?

咱們回想一下初中時候的代數基礎知識:有個邊長爲a的正方形,那麼正方形的面積就是:a*a。這個時候,a就看作是變量,咱們給a任意賦一個值,就能夠計算出正方形的面積了.ui

#求邊長爲a的正方形面積
a = 3        #把3賦值給邊長a
s = a*a    #把計算結果賦值給s
print(s)    #輸出正方形面積s      

除此以外,變量能夠是其它的任意數據類型,如字符串、布爾、浮點數,甚至是函數。也能夠實現變量之間的賦值。編碼

a = 3
b = True
c = b
b = a
print(a,b,c)
3 3 True
 四、python字符編碼

字符串也是一種數據類型,可是,字符串比較特殊的是還有一個編碼問題。因爲計算機是美國人發明的,所以,最先只有127個字母被編碼到計算機裏,也就是大小寫英文字母、數字和一些符號,這個編碼表被稱爲"ASCII"編碼,好比大寫字母A的編碼是65,小寫字母z的編碼是122

可是要處理中文顯然一個字節是不夠的,至少須要兩個字節,並且還不能和ASCII編碼衝突,因此,中國製定了GB2312編碼,用來把中文編進去。但是世界除了英語和中文以外,還有不少語言。所以,Unicode應運而生。Unicode把全部語言都統一到一套編碼裏,這樣就不會再有亂碼問題了。

在計算機內存中,統一使用Unicode編碼,當須要保存到硬盤或者須要傳輸的時候,就轉換爲UTF-8編碼。用記事本編輯的時候,從文件讀取的UTF-8字符被轉換爲Unicode字符到內存裏,編輯完成後,保存的時候再把Unicode轉換爲UTF-8保存到文件:

 

在最新的Python 3.X版本中,字符串是以Unicode編碼的,也就是說,Python的字符串支持多語言;須要注意的是,在2.X版本里,須要加一行註釋,不然python2會默認使用ASCII編碼。

# -*- coding:utf-8 -*-
五、python的格式化

最後一個常見的問題是如何輸出格式化的字符串。咱們常常會輸出相似"歡迎XXX!您的帳戶餘額爲:XXX"之類的字符串,而XXX的內容都是根據變量變化的,因此,須要一種簡便的格式化字符串的方式。python的字符串格式化用(%)來實現!

'Hi, %s, you have $%d.' % ('Michael', 1000000)
'Hi, Michael, you have $1000000.

在字符串內部,%s表示用字符串替換,%d表示用整數替換,有幾個%?佔位符,後面就跟幾個變量或者值,順序要對應好。若是隻有一個%?,括號能夠省略。

六、python基本數據類型

字符串(str)

定義字符串

  python字符串的定義是用(」)或(‘)引發來,三個引號也能夠定義一個字符串,不一樣的是後者支持多行編碼。

s0 = "hello"
s1 = ' world'
s3 = ''' hello
         python'''
s4 = """  python is 
        good """    

經常使用的字符串計算

  1.字符串的加法運算,能夠試一下下邊代碼兩個輸出異同點。

a = 'as1d'
b = 'fa3s'
print(a,b)
print(a+b)
View Code

  2.字符串的乘法運算:

a = 'as1d'
s = a * 5
print(s)

  3.字符串大小比較:比較的是ASCII碼的大小。

a = "A"
b = "a"
if a > b:
    print(1)
else:
    print(0)

  4.字符串的in運算:判斷某個字符串是否爲另一個字符串的子串

a = 'qwert'
b = 'w'
if b in a:
    print(yes)
else:
    print(no)
View Code

經常使用的字符串函數

  index(索引)  S.index(substr, [start, [end]])能夠經過索引訪問字符串內部的任意元素。

s = "qwertyuiop"
#    012345678910

python字符串中表明字符串(qwer...)位置的下標,稱之爲索引(0123...),運行下面代碼試一下!

s = 'qwertyuiop'
print(s[0],s[3],s[9]
View Code

咱們要prints裏的每個字符串,應該怎麼辦呢?用while循環試一下:

s = "qwertyuiop"
i = 0
while i < len(s):
    print s[i]
    i += 1
View Code

上述代碼中的len()函數返回s字符串的長度值,s[i]表明着當前下標i的元素值。

  slice(切片)  訪問字符串內部任意部分的元素

要訪問s字符串裏的’yu‘字符串應該怎麼實現呢?

s = 'qwertyuiop'
print(s[5:7])
#python的切片規則,s[start:end]是瞻前不顧後的
View Code

   find(查找)  S.find(substr),返回s中substr這個字符串中第一個元素的索引:

s = "qwertyuiop"
a = "io"
t = s.find(a)
print(t)
View Code

   split(切片) S.split([sep, [maxsplit]]),以sep爲分隔符,把S分紅一個list。maxsplit表示分割的次數。默認的分割符爲空白字符 

s = 'qwer,tyuiop'
s.split(",")

其它的字符串函數,你們能夠在交互一下help(str),返回的是字符串全部的函數方法。

help(str)

列表(list)

列表的經常使用函數:

append(...)
 |      L.append(object) -> None -- append object to end
 |  clear(...)
 |      L.clear() -> None -- remove all items from L
 |  copy(...)
 |      L.copy() -> list -- a shallow copy of L
 |  count(...)
 |      L.count(value) -> integer -- return number of occurrences of value
 |  extend(...)
 |      L.extend(iterable) -> None -- extend list by appending elements from the iterable
 |  index(...)
 |      L.index(value, [start, [stop]]) -> integer -- return first index of value.
 |      Raises ValueError if the value is not present.
 |  insert(...)
 |      L.insert(index, object) -- insert object before index
 |  pop(...)
 |      L.pop([index]) -> item -- remove and return item at index (default last).
 |      Raises IndexError if list is empty or index is out of range.
 |  remove(...)
 |      L.remove(value) -> None -- remove first occurrence of value.
 |      Raises ValueError if the value is not present.
 |  reverse(...)
 |      L.reverse() -- reverse *IN PLACE*
 |  sort(...)
 |      L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*
 |  
View Code
相關文章
相關標籤/搜索