Python語法速覽(一)(python語法大全)
https://wklchris.github.io/Py3-basic.html#%E9%9B%86%E5%90%88set
Python 中文編碼
Python中默認(rèn)的編碼格式是 ASCII 格式,在沒修改編碼格式時(shí)無法正確打印漢字,所以在讀取中文時(shí)會(huì)報(bào)錯(cuò)。 解決方法為只要在文件開頭加入 # -- coding: UTF-8 -- 或者 #coding=utf-8 就行了 或者# -- coding: cp936 -- 確保要和文件編碼類型一致 注意:Python3.X 源碼文件默認(rèn)使用utf-8編碼,所以可以正常解析中文,無需指定 UTF-8 編碼。
Python 保留字符
行和縮進(jìn)
學(xué)習(xí) Python 與其他語言最大的區(qū)別就是,Python 的代碼塊不使用大括號 {} 來控制類,函數(shù)以及其他邏輯判斷。python 最具特色的就是用縮進(jìn)來寫模塊。 縮進(jìn)的空白數(shù)量是可變的,但是所有代碼塊語句必須包含相同的縮進(jìn)空白數(shù)量,這個(gè)必須嚴(yán)格執(zhí)行。
多行語句
Python語句中一般以新行作為語句的結(jié)束符。 但是我們可以使用斜杠( \)將一行的語句分為多行顯示 語句中包含 [], {} 或 () 括號就不需要使用多行連接符。
Python 引號
Python 可以使用引號( ' )、雙引號( " )、三引號( ''' 或 """ ) 來表示字符串,引號的開始與結(jié)束必須的相同類型的。 其中三引號可以由多行組成,編寫多行文本的快捷語法,常用于文檔字符串,在文件的特定地點(diǎn),被當(dāng)做注釋。
Python注釋
python中單行注釋采用 # 開頭。 python 中多行注釋使用三個(gè)單引號(''')或三個(gè)雙引號(""")。
等待用戶輸入
下面的程序執(zhí)行后就會(huì)等待用戶輸入,按回車鍵后就會(huì)退出:
!/usr/bin/python
-- coding: UTF-8 --
raw_input(”按下 enter 鍵退出,其他任意鍵顯示…\n”)
同一行顯示多條語句
Python可以在同一行中使用多條語句,語句之間使用分號(;)分割
Print 輸出
print 默認(rèn)輸出是換行的,如果要實(shí)現(xiàn)不換行需要在變量末尾加上逗號 ,
多個(gè)語句構(gòu)成代碼組
縮進(jìn)相同的一組語句構(gòu)成一個(gè)代碼塊,我們稱之代碼組。 像if、while、def和class這樣的復(fù)合語句,首行以關(guān)鍵字開始,以冒號( : )結(jié)束,該行之后的一行或多行代碼構(gòu)成代碼組。 我們將首行及后面的代碼組稱為一個(gè)子句(clause)。
Python 變量類型
變量賦值 Python 中的變量賦值不需要類型聲明。 每個(gè)變量在內(nèi)存中創(chuàng)建,都包括變量的標(biāo)識,名稱和數(shù)據(jù)這些信息。 每個(gè)變量在使用前都必須賦值,變量賦值以后該變量才會(huì)被創(chuàng)建。 等號(=)用來給變量賦值。 等號(=)運(yùn)算符左邊是一個(gè)變量名,等號(=)運(yùn)算符右邊是存儲(chǔ)在變量中的值。
多個(gè)變量賦值 Python允許你同時(shí)為多個(gè)變量賦值 a = b = c = 1 a, b, c = 1, 2, "john"
標(biāo)準(zhǔn)數(shù)據(jù)類型 Numbers String List Tuple Dictionary
Python數(shù)字 數(shù)字?jǐn)?shù)據(jù)類型用于存儲(chǔ)數(shù)值。 他們是不可改變的數(shù)據(jù)類型,這意味著改變數(shù)字?jǐn)?shù)據(jù)類型會(huì)分配一個(gè)新的對象 您也可以使用del語句刪除一些對象的引用。
Python支持四種不同的數(shù)字類型:
int(有符號整型)
long(長整型[也可以代表八進(jìn)制和十六進(jìn)制])
float(浮點(diǎn)型)
complex(復(fù)數(shù)) 注意:long 類型只存在于 Python2.X 版本中,在 2.2 以后的版本中,int 類型數(shù)據(jù)溢出后會(huì)自動(dòng)轉(zhuǎn)為long類型。在 Python3.X 版本中 long 類型被移除,使用 int 替代。
Python字符串
python的字串列表有2種取值順序: 1. 從左到右索引默認(rèn)0開始的,最大范圍是字符串長度少1 2. 從右到左索引默認(rèn)-1開始的,最大范圍是字符串開頭??如果你要實(shí)現(xiàn)從字符串中獲取一段子字符串的話,可以使用 [頭下標(biāo):尾下標(biāo)] 來截取相應(yīng)的字符串,其中下標(biāo)是從 0 開始算起,可以是正數(shù)或負(fù)數(shù),下標(biāo)可以為空表示取到頭或尾。 [頭下標(biāo):尾下標(biāo)] 獲取的子字符串包含頭下標(biāo)的字符,但不包含尾下標(biāo)的字符 s = 'abcdef' s[1:5] 'bcde' 加號(+)是字符串連接運(yùn)算符,星號(*)是重復(fù)操作 print str # 輸出完整字符串 print str[0] # 輸出字符串中的第一個(gè)字符 print str[2:5] # 輸出字符串中第三個(gè)至第五個(gè)之間的字符串 print str[2:] # 輸出從第三個(gè)字符開始的字符串 print str * 2 # 輸出字符串兩次 print str + "TEST" # 輸出連接的字符串
Python列表
List(列表) 是 Python 中使用最頻繁的數(shù)據(jù)類型 列表可以完成大多數(shù)集合類的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)。它支持字符,數(shù)字,字符串甚至可以包含列表(即嵌套)。 列表用 [ ] 標(biāo)識,是 python 最通用的復(fù)合數(shù)據(jù)類型。 列表中值的切割也可以用到變量 [頭下標(biāo):尾下標(biāo)] ,就可以截取相應(yīng)的列表,從左到右索引默認(rèn) 0 開始,從右到左索引默認(rèn) -1 開始,下標(biāo)可以為空表示取到頭或尾。 加號 + 是列表連接運(yùn)算符,星號 * 是重復(fù)操作。 print list # 輸出完整列表 print list[0] # 輸出列表的第一個(gè)元素 print list[1:3] # 輸出第二個(gè)至第三個(gè)元素 print list[2:] # 輸出從第三個(gè)開始至列表末尾的所有元素 print tinylist * 2 # 輸出列表兩次 print list + tinylist # 打印組合的列表
Python元組
元組是另一個(gè)數(shù)據(jù)類型,類似于List(列表)。 元組用"()"標(biāo)識。內(nèi)部元素用逗號隔開。但是元組不能二次賦值,相當(dāng)于只讀列表。 print tuple # 輸出完整元組 print tuple[0] # 輸出元組的第一個(gè)元素 print tuple[1:3] # 輸出第二個(gè)至第三個(gè)的元素 print tuple[2:] # 輸出從第三個(gè)開始至列表末尾的所有元素 print tinytuple * 2 # 輸出元組兩次 print tuple + tinytuple # 打印組合的元組
Python 字典
字典(dictionary)是除列表以外python之中最靈活的內(nèi)置數(shù)據(jù)結(jié)構(gòu)類型。列表是有序的對象集合,字典是無序的對象集合。 兩者之間的區(qū)別在于:字典當(dāng)中的元素是通過鍵來存取的,而不是通過偏移存取。 字典用"{ }"標(biāo)識。字典由索引(key)和它對應(yīng)的值value組成。 print dict['one'] # 輸出鍵為'one' 的值 print dict[2] # 輸出鍵為 2 的值 print tinydict # 輸出完整的字典 print tinydict.keys() # 輸出所有鍵 print tinydict.values() # 輸出所有值
Python數(shù)據(jù)類型轉(zhuǎn)換
有時(shí)候,我們需要對數(shù)據(jù)內(nèi)置的類型進(jìn)行轉(zhuǎn)換,數(shù)據(jù)類型的轉(zhuǎn)換,你只需要將數(shù)據(jù)類型作為函數(shù)名即可。 以下幾個(gè)內(nèi)置的函數(shù)可以執(zhí)行數(shù)據(jù)類型之間的轉(zhuǎn)換。這些函數(shù)返回一個(gè)新的對象,表示轉(zhuǎn)換的值。
Python 運(yùn)算符
Python算術(shù)運(yùn)算符
注意:Python2.x 里,整數(shù)除整數(shù),只能得出整數(shù)。如果要得到小數(shù)部分,把其中一個(gè)數(shù)改成浮點(diǎn)數(shù)即可。 * Python比較運(yùn)算符
Python賦值運(yùn)算符
Python位運(yùn)算符
按位運(yùn)算符是把數(shù)字看作二進(jìn)制來進(jìn)行計(jì)算的。
Python邏輯運(yùn)算符
Python成員運(yùn)算符
除了以上的一些運(yùn)算符之外,Python還支持成員運(yùn)算符,測試實(shí)例中包含了一系列的成員,包括字符串,列表或元組。
Python身份運(yùn)算符
身份運(yùn)算符用于比較兩個(gè)對象的存儲(chǔ)單元
Python運(yùn)算符優(yōu)先級
Python 條件語句
if 判斷條件: 執(zhí)行語句…… else: 執(zhí)行語句……
if 判斷條件1: 執(zhí)行語句1…… elif 判斷條件2: 執(zhí)行語句2…… elif 判斷條件3: 執(zhí)行語句3…… else: 執(zhí)行語句4……
if ( var == 100 ) : print ”變量 var 的值為100”
Python 循環(huán)語句
Python While 循環(huán)語句 while 判斷條件: 執(zhí)行語句……
無限循環(huán) var = 1 while var == 1 : # 該條件永遠(yuǎn)為true,循環(huán)將無限執(zhí)行下去 num = raw_input("Enter a number :") print "You entered: ", num
循環(huán)使用 else 語句 count = 0 while count < 5: print count, " is less than 5" count = count + 1 else: print count, " is not less than 5"
簡單語句組 flag = 1 while (flag): print 'Given flag is really true!'
Python for 循環(huán)語句 Python for循環(huán)可以遍歷任何序列的項(xiàng)目,如一個(gè)列表或者一個(gè)字符串。 for iterating_var in sequence: statements(s) for letter in 'Python': # 第一個(gè)實(shí)例 print '當(dāng)前字母 :', letter
fruits = ['banana', 'apple', 'mango'] for fruit in fruits: # 第二個(gè)實(shí)例 print '當(dāng)前水果 :', fruit 1. 通過序列索引迭代 fruits = ['banana', 'apple', 'mango'] for index in range(len(fruits)): print '當(dāng)前水果 :', fruits[index] 2. 循環(huán)使用 else 語句 在 python 中,for … else 表示這樣的意思,for 中的語句和普通的沒有區(qū)別,else 中的語句會(huì)在循環(huán)正常執(zhí)行完(即 for 不是通過 break 跳出而中斷的)的情況下執(zhí)行,while … else 也是一樣。 for num in range(10,20): # 迭代 10 到 20 之間的數(shù)字 for i in range(2,num): # 根據(jù)因子迭代 if num%i == 0: # 確定第一個(gè)因子 j=num/i # 計(jì)算第二個(gè)因子 print '%d 等于 %d * %d' % (num,i,j) break # 跳出當(dāng)前循環(huán) else: # 循環(huán)的 else 部分 print num, '是一個(gè)質(zhì)數(shù)' * Python 循環(huán)嵌套 Python for 循環(huán)嵌套語法: for iterating_var in sequence: for iterating_var in sequence: statements(s) statements(s) Python while 循環(huán)嵌套語法: while expression: while expression: statement(s) statement(s) i = 2 while(i < 100): j = 2 while(j <= (i/j)): if not(i%j): break j = j + 1 if (j > i/j) : print i, " 是素?cái)?shù)" i = i + 1 * Python break 語句 Python break語句,就像在C語言中,打破了最小封閉for或while循環(huán)。 break語句用來終止循環(huán)語句,即循環(huán)條件沒有False條件或者序列還沒被完全遞歸完,也會(huì)停止執(zhí)行循環(huán)語句。 break語句用在while和for循環(huán)中。 如果您使用嵌套循環(huán),break語句將停止執(zhí)行最深層的循環(huán),并開始執(zhí)行下一行代碼。 * Python continue 語句 Python continue 語句跳出本次循環(huán),而break跳出整個(gè)循環(huán)。 continue 語句用來告訴Python跳過當(dāng)前循環(huán)的剩余語句,然后繼續(xù)進(jìn)行下一輪循環(huán)。 continue語句用在while和for循環(huán)中。 * Python pass 語句 Python pass是空語句,是為了保持程序結(jié)構(gòu)的完整性。 pass 不做任何事情,一般用做占位語句。
Python Number(數(shù)字)
數(shù)據(jù)類型是不允許改變的,這就意味著如果改變 Number 數(shù)據(jù)類型的值,將重新分配內(nèi)存空間 您也可以使用del語句刪除一些 Number 對象引用 * Python Number 類型轉(zhuǎn)換
Python math 模塊、cmath 模塊
Python math 模塊提供了許多對浮點(diǎn)數(shù)的數(shù)學(xué)運(yùn)算函數(shù)。 Python cmath 模塊包含了一些用于復(fù)數(shù)運(yùn)算的函數(shù)。 cmath 模塊的函數(shù)跟 math 模塊函數(shù)基本一致,區(qū)別是 cmath 模塊運(yùn)算的是復(fù)數(shù),math 模塊運(yùn)算的是數(shù)學(xué)運(yùn)算。 要使用 math 或 cmath 函數(shù)必須先導(dǎo)入: import math 查看 math 查看包中的內(nèi)容: import math dir(math) import cmath dir(cmath)
Python數(shù)學(xué)函數(shù)
Python隨機(jī)數(shù)函數(shù)
Python三角函數(shù)
Python數(shù)學(xué)常量
Python 字符串
Python訪問字符串中的值 var1 = 'Hello World!' var2 = "Python Runoob" print "var1[0]: ", var1[0] print "var2[1:5]: ", var2[1:5]
Python字符串更新 你可以對已存在的字符串進(jìn)行修改,并賦值給另一個(gè)變量
Python轉(zhuǎn)義字符 在需要在字符中使用特殊字符時(shí),python用反斜杠(\)轉(zhuǎn)義字符
Python字符串運(yùn)算符
Python 字符串格式化 Python 支持格式化字符串的輸出 。盡管這樣可能會(huì)用到非常復(fù)雜的表達(dá)式,但最基本的用法是將一個(gè)值插入到一個(gè)有字符串格式符 %s 的字符串中。 在 Python 中,字符串格式化使用與 C 中 sprintf 函數(shù)一樣的語法。 print "My name is %s and weight is %d kg!" % ('Zara', 21) python字符串格式化符號:
格式化操作符輔助指令:
Python2.6 開始,新增了一種格式化字符串的函數(shù) str.format(),它增強(qiáng)了字符串格式化的功能。 * Python三引號(triple quotes) python中三引號可以將復(fù)雜的字符串進(jìn)行復(fù)制: python三引號允許一個(gè)字符串跨多行,字符串中可以包含換行符、制表符以及其他特殊字符。 三引號的語法是一對連續(xù)的單引號或者雙引號(通常都是成對的用)。 hi = '''hi there''' hi # repr() 'hi\nthere' print hi # str() hi there
三引號讓程序員從引號和特殊字符串的泥潭里面解脫出來,自始至終保持一小塊字符串的格式是所謂的WYSIWYG(所見即所得)格式的。 一個(gè)典型的用例是,當(dāng)你需要一塊HTML或者SQL時(shí),這時(shí)當(dāng)用三引號標(biāo)記,使用傳統(tǒng)的轉(zhuǎn)義字符體系將十分費(fèi)神。 * Unicode 字符串 Python 中定義一個(gè) Unicode 字符串和定義一個(gè)普通字符串一樣簡單: u'Hello World !' 引號前小寫的"u"表示這里創(chuàng)建的是一個(gè) Unicode 字符串。如果你想加入一個(gè)特殊字符,可以使用 Python 的 Unicode-Escape 編碼 u'Hello\u0020World !' 被替換的 \u0020 標(biāo)識表示在給定位置插入編碼值為 0x0020 的 Unicode 字符(空格符) * python的字符串內(nèi)建函數(shù)
Python 列表(List)
Python有6個(gè)序列的內(nèi)置類型,但最常見的是列表和元組。 序列都可以進(jìn)行的操作包括索引,切片,加,乘,檢查成員。 * 訪問列表中的值 使用下標(biāo)索引來訪問列表中的值,同樣你也可以使用方括號的形式截取字符 * 更新列表 你可以對列表的數(shù)據(jù)項(xiàng)進(jìn)行修改或更新,你也可以使用append()方法來添加列表項(xiàng) * 刪除列表元素 可以使用 del 語句來刪除列表的元素 * Python列表腳本操作符 列表對 + 和 * 的操作符與字符串相似。+ 號用于組合列表,* 號用于重復(fù)列表。
Python列表截取
Python列表函數(shù)和方法
Python 元組
Python的元組與列表類似,不同之處在于元組的元素不能修改。 元組使用小括號,列表使用方括號。 元組創(chuàng)建很簡單,只需要在括號中添加元素,并使用逗號隔開即可 * 訪問元組 元組可以使用下標(biāo)索引來訪問元組中的值 * 修改元組 元組中的元素值是不允許修改的,但我們可以對元組進(jìn)行連接組合 * 刪除元組 元組中的元素值是不允許刪除的,但我們可以使用del語句來刪除整個(gè)元組 * 元組運(yùn)算符 與字符串一樣,元組之間可以使用 + 號和 * 號進(jìn)行運(yùn)算。這就意味著他們可以組合和復(fù)制,運(yùn)算后會(huì)生成一個(gè)新的元組。 * 元組索引,截取
無關(guān)閉分隔符 任意無符號的對象,以逗號隔開,默認(rèn)為元組
元組內(nèi)置函數(shù) Python元組包含了以下內(nèi)置函數(shù)
Python 字典(Dictionary)
字典是另一種可變?nèi)萜髂P停铱纱鎯?chǔ)任意類型對象。 字典的每個(gè)鍵值 key=>value 對用冒號 : 分割,每個(gè)鍵值對之間用逗號 , 分割,整個(gè)字典包括在花括號 {} 中 ,格式如下所示: d = {key1 : value1, key2 : value2 } 鍵一般是唯一的,如果重復(fù)最后的一個(gè)鍵值對會(huì)替換前面的,值不需要唯一。 可以取任何數(shù)據(jù)類型,但鍵必須是不可變的,如字符串,數(shù)字或元組。 * 訪問字典里的值 把相應(yīng)的鍵放入熟悉的方括弧 * 修改字典 向字典添加新內(nèi)容的方法是增加新的鍵/值對,修改或刪除已有鍵/值 dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} dict['Age'] = 8 # 更新 dict['School'] = "RUNOOB" # 添加 * 刪除字典元素 能刪單一的元素也能清空字典,清空只需一項(xiàng)操作。 顯示刪除一個(gè)字典用del命令 dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} del dict['Name'] # 刪除鍵是'Name'的條目 dict.clear() # 清空詞典所有條目 del dict # 刪除詞典 * 字典鍵的特性 字典值可以沒有限制地取任何python對象,既可以是標(biāo)準(zhǔn)的對象,也可以是用戶定義的,但鍵不行。 兩個(gè)重要的點(diǎn)需要記住: 1)不允許同一個(gè)鍵出現(xiàn)兩次。創(chuàng)建時(shí)如果同一個(gè)鍵被賦值兩次,后一個(gè)值會(huì)被記住 2)鍵必須不可變,所以可以用數(shù)字,字符串或元組充當(dāng),所以用列表就不行 * 字典內(nèi)置函數(shù)和方法
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。