Python參考手冊,python參考手冊chm

來源:互聯網
上載者:User

Python參考手冊,python參考手冊chm
運算式重要的內建函數

#函數                                  #描述-------------------------------------------------------------------------------------------------abs(numbers)                           #返回一個數的絕對值apply(func[,arg[,kwargs]])             #調用給定的函數,可選擇提供參數all(iterable)                          #如果所有iterable的元素均為真則返回True,否則返回Falseany(iterable)                          #如果有任一iterable的元素為真則返回True,否則返回Falsebasestring()                           #str和unicode抽象超類,取決於obj的布爾值callable(obj)                          #檢查對象是否可調用char(number)                           #返回ASCII為給定的字元classmethod(func)                      #通過一個執行個體方法建立類的方法cmp(x,y)                               #比較x,y。x<y:返回負數;x>y:返回正數;x==y,返回0complex(real[,imag])                   #返回給定實部的複數delattr([mapping-or-sequence])         #從給定的對象中刪除給定的屬性dict([mapping-or-sequence])            #構造字典,可選擇從索引值對組成的列表構造。也可以用關鍵字參數調用dir(object)                            #列出給定對象的大多數特性divmod(a,b)                            #返回(a//b,a%b)enumerate(iterable)                    #對iterable所有項進行迭代eval(string[,globals[,locals]])        #對包含運算式的字串進行計算。可選擇給定的全域或局部範圍中進行execfile(file[,globals[,locals]])      #執行一個Python檔案,可選在給定全域或者局部範圍中進行file(filename[,mode[,bufsize]])        #建立給定檔案名稱的檔案,可選擇使用給定的模式和緩衝區大小float(object)                          #將字串或者數值轉換為浮點型frozenset([iterable])                  #建立一個不可變集合,這意味著不能將它添加到其他集合中getattr(object,name[,default])         #返回給定對象中指定的特性的值,可選擇給定預設值globals()                              #返回表示當前範圍的字典hasattr(object,name)                   #檢查給定的對象是否有指定的屬性help([object])                         #調用內建的協助系統,或列印給定對象的協助資訊hex(number)                            #將數字轉換為十六進位表示的字串id(object)                             #返回給定對象的唯一IDinput([prompt])                        #等同於eval(raw_input(prompt))int(object[,radix])                    #將字串或者數字轉換為整數isinstance(object,classinfo)           #檢查給定的對象是否是給定的classinfo值的執行個體,classinfo可以是類對象、類型對象issubclass(class1,class2)              #檢查class1是否是class2的子類iter(object[,sentinel])                #返回一個迭代對象,可以用於迭代序列的object_iter()迭代器len(object)                            #返回給定對象的長度list([object])                         #構造一個列表locals()                               #返回表示當前局部範圍的字典long(object[,radix])                   #將字串或者數字轉換為長整形map(function,seq1,...)                 #建立給定函數func應用到列表seq中每一項時返回的值組成的列表max(obj1[,obj2]...)                    #如果obj1為非空序列,則返回最大的元素;否則返回所提供參數的最大值  mix(obj1[,obj2]...)                    #如果obj1為非空序列,則返回最小的元素;否則返回所提供參數的最小值       object()                               #返回所有新式類的基數Object的執行個體oct(number)                            #將整型轉換為八進位表示的字串open(filename[,mode[,bufsize]])        #file的別名,在開啟檔案的時候使用open而不是filepow(x,y[,z])                           #返回x的y次方,可選擇模除zord(char)                              #返回給定單字元的ASCII值range([start,]stop[,step])             #使用給定的起始值和結束值來建立數值範圍property(fget[,fset[,fdel[,doc]]])     #通過一組訪問器建立屬性raw_input([prompt])                    #將使用者輸入的資料作為字串返回,可選擇使用給定的提示符promptreduce(func,seq[,initializer])         #將序列的所有漸增應用給定的函數,使用累積的結果作為第一個參數,所有的項作為第二個參數,可選擇給定起始值reload(module)                         #重載入一個已經載入的模組並且將其返回repr(object)                           #返回表示對象的字串,一般作為eval的參數使用reversed(object)                       #返回序列的反向迭代器round(float[,n])                       #將給定的浮點四捨五入,小數點後保留n位set([iterable])                        #返回從iterable產生的元素集合setattr(object,name,value)             #設定給定對象的指定屬性的值為給定值sorted(iterable[,cmp][,key][,reverse]) #從iterable中返回一個新排序後的列表,可選的參數和列表方法sort中的參數相同staticmethod(func)                     #從一個執行個體方法建立靜態類方法str(object)                            #返回表示給定對象object的格式化好的字串sum(seq[,start])                       #返回添加到選擇性參數start中的一系列數位和super(type[,obj/type])                 #返回給定類型的超類tuple([sequence])                      #構造一個元祖,可選擇使用sequence一樣的項type(object)                           #返回給定對象的類型type(name,bases,dict)                  #使用給定的名稱,基類和範圍返回一個新的類型對象unichr(number)                         #chr的Unicode版本unicode(object[,encoding[,errors]])    #返回給定對象的Unicode編碼版本,可以給定編碼方式和錯誤處理模式vars([object])                         #返回表示局部作用於的字典,或者對應給定對象特性的字典xrange([start,]stop[,step])            #類似於range,但是返回的對象使用較少的記憶體,而且只用於迭代zip(seq1,...)                          #返回元祖的列表,每個元祖包括一個給定序列中的項。返回長度以最小為準.
列表方法

#方法                                  #描述-------------------------------------------------------------------------------------------------L.append(obj)                          #等同於L[len(L):len(L)] = [obj]L.count(obj)                           #返回L[i] == obj中索引為i的值L.extend(obj)                          #等同於L[len(L):len(L)] = seqL.index(obj)                           #返回L[i] == obj中最小的i,不存在會觸發ValueError異常L.insert(index,obj)                    #index>0,等同於L[index:index]=[obj],index<0,插入列表最前面L.pop([index])                         #移除並且返回給定索引的項(預設為:-1即最後一項)  L.remove(obj)                          #等同於L[L.index(obj)]    L.sort([cmp][,key][,reverse])          #對L中的項進行原地排序。可以提供比較函數cmp,建立用於排序的鍵的key函數和reverse標誌進行自訂
字典方法

#方法                                  #描述-------------------------------------------------------------------------------------------------D.clear()                              #移除D中的所有項D.copy()                               #返回D的副本D.fromkeys(seq[,val])                  #返回從seq中獲得的鍵和被設定為val的值的字典。可做類方法調用D.get(key[,default])                   #如果D[key]存在,將其返回;否則返回給定的預設值NoneD.has_key(key)                         #檢查D是否有給定鍵keyD.items()                              #返回表示D項的(鍵,值)對列表D.iteritems()                          #從D.items()返回的(鍵,值)對中返回一個可迭代的對象D.iterkeys()                           #從D的鍵中返回一個可迭代對象D.itervalues()                         #從D的值中返回一個可迭代對象D.keys()                               #返回D鍵的列表D.pop(key[,d])                         #移除並且返回對應給定鍵key或給定的預設值D的值D.popitem()                            #從D中移除任意一項,並將其作為(鍵,值)對返回D.setdefault(key[,default])            #如果D[key]存在則將其返回;否則返回預設值NoneD.update(other)                        #將other中的每一項加入到D中。D.values()                             #返回D中值的列表
字串方法

#方法                                   #描述-------------------------------------------------------------------------------------------------S.capitalize()                          #返回首字母大寫的字串的副本S.center(width[,fillchar])              #返回一個長度為max(len(S),width),S置中,兩側fillchar填充S.count(sub[,start[,end]])              #計運算元字串sub的出現次數,可將搜尋範圍限制為S[start:end]S.decode([encoding[,error]])            #返回使用給定編碼方式的字串的解碼版本,由error指定錯誤處理方式S.endswith(suffix[start[,end]])         #檢查S是否以suffix結尾,可給定[start:end]來選擇匹配的範圍S.expandtabs([tabsize])                 #返回字串的副本,其中tab字元會使用空格進行擴充,可選擇tabsizeS.find(sun[,start[,end]])               #返回子字串sub的第一個索引,不存在則為-1,可選擇搜尋範圍S.index(sub[,start[,end]])              #返回子字串sub的第一個索引,不存在則引發ValueError異常.S.isalnum()                             #檢查字串是否由字母或數字字元組成S.isalpha()                             #檢查字串是否由字母字元組成S.isdigit()                             #檢查字串是否由數字字元組成S.islower()                             #檢查字串是否由小寫字母組成S.isspace()                             #檢查字串是否由空格組成S.istitle()                             #檢查字串時候首字母大寫S.isupper()                             #檢查字串是否由大寫字母組成S.join(sequence)                        #返回其中sequence的字串元素由S串連的字串S.ljust(width[,fillchar])               #返回S副本靠左對齊的字串,長度max(len(S),W),右側fillchar填充S.lower()                               #返回所有字串都為小寫副本S.lstrip([char])                        #向左移除所有char,預設移除(空格,tab,\n)S.partition(seq)                        #在字串中搜尋seq並返回S.replace(old,new[,max])                #將new替換olad,最多可替換max次S.rfind(sub[,start[,end]])              #返回sub所在的最後一個索引,不存在則為-1,可定搜尋範圍S[start:end]S.rindex(sub[,start[,end]])             #返回sub所在的最後一個索引,不存在則會引發ValueError異常。S.rjust(width[,fillchar])               #返回S副本靠右對齊的字串,長度max(len(S),W),左側fillchar填充S.rpartition(seq)                       #同Partition,但從右側開始尋找S.rstip([char])                         #向右移除所有char,預設移除(空格,tab,\n)S.rsplit(sep[,maxsplit])                #同split,但是使用maxsplit時是從右往左進行計數S.split(sep[,maxsplit])                 #使用sep做為分割符,可使用maxsplit指定最大切分數S.zfill(width)                          #在S的左側以0填充width個字元S.upper()                               #返回S的副本,所有字元大寫S.splitlines([keepends])                #返回S中所有行的列表,可選擇是否包括分行符號S.startswith(prefix[,start[,end]])      #檢查S是否以prefix開始,可用[start,end]來定義範圍S.strip([chars])                        #移除所有字串中含chars的字元,預設移除(空格,tab,\n)S.swapcase()                            #返回S的副本,所有大小寫交換S.title()                               #返回S的副本,所有單詞以大寫字母開頭S.translate(table[,deletechars])        #返回S的副本,所有字元都使用table進行的轉換,可選擇刪除出現在deletechars中的所有字元
基礎資料型別 (Elementary Data Type)

#類型             #描述                   樣本--------------------------------------------------------Integer           #無小數部分的數         42Long Integer      #大整數                 42LFloat             #有小數部分的數         42.5, 42.5e-2Complex           #實數和虛數的和         4 + 3j,42jString            #不可變的字元序列       'foo',"bar","""abc""",r'\n'  Unicode           #不可變的Unicode序列    u'foo',u"bar",u"""abc"""

語句簡單語句

簡單語句由邏輯上的一行組成


運算式語句運算式也可以是語句。如果運算式是函數調用或者文檔字串的話尤其如此
"This module contains SPAM-related functions"
Assert 陳述式用於檢查條件是否為真,如假的話會引發AssertionError的異常.
#為真:>>> age = 20>>> assert age >= 12, 'The age under 12 is not allowed!'#為假:>>> assert age >= 40, 'The age must over 40!'Traceback (most recent call last):  File "<stdin>", line 1, in <module>AssertionError: The age must over 40!
賦值語句賦值語句將變數綁定到值上。多個變數可以通過隊列解包的方式賦值,複製也可以是連鎖的。
>>> name, age = 'Jerry', 38   # 序列解包>>> x = y = z = 42            # 鏈式賦值>>> x = 42                    # 簡單賦值    
增量賦值語句賦值也可以通過運算子來擴充。運算子可以應用到已有變數值和新值,然後變數會被重新綁定到結果上。
>>> x *= 2                    # x = x * 2>>> x += 5                    # x = x + 5
pass語句無操作,啥事不用幹。可做預留位置,或不需要做任何事情的語句
try:    x.nameexcept AttributeError:    passelse:    print 'Hello', x.name
del語句用於解除變數和特性的綁定,並且移除資料結構中的某部分。但不能用於直接刪除值,因為值只能通過垃圾收集進行刪除
del x                        # 解除變數綁定del seq[4]                   # 刪除序列元素del seq[4:]                  # 刪除序列切片del map['foo']               # 刪除字典中的映射項
print語句該語句將一個或多值寫入到給定的流中,預設sys.stdout.除非以逗號結束,否則會增加一個分行符號.
>>> print 'Hello,World!'      # 將'Hello,World!\n'寫入到sys.stdout中>>> print 1, 2, 3             # 將'1 2 3\n'寫入到sys.stdout中>>> print >> somefile, 'xyz'  # 將'xyz'寫入到somefile中>>> print 42,                 # 將'42'寫入到sys.stdout中
return語句

return語句會終止函數的運行,並且返回值。如果沒有提供返回值,則返回None.

>>>return                     # 從當前函數中返回None>>>return 42                  # 從當前函數中返回42>>>return 1, 2, 3             # 從當前函數中返回(1,2,3)
yield語句

yield語句會暫時終止產生器的執行並產生一個值。產生器是迭代器的一種形式,可以和其他對象一起用於for迴圈.

yielda 42                     # 從當前函數中返回42
raise語句

raise語句引發一個異常。可以不用參數進行調用(在except子句內,重引發當前捕捉到的異常)

也可以子類化Exception並且提供可選的參數(在這種情況下,會構造一個執行個體),或是使用Exception子類的一個執行個體

raise                         # 只能用於except子句中raise IndexErrorraise IndexError, 'index out of bounds'raise IndexError('index out of bounds')
break語句

break語句會結束當前的for或while迴圈,並且會立即執行迴圈後的語句

while True:    line = file.readline()    if not line:        break    print line
continue語句

contineu語句會終止當前迴圈中的迭代,但是並不會完全終止迴圈,而是從下一個迭代過程的開始處繼續執行

while True:    line = file.readline()    if not line: break    if line.isspace(): continue    print line
import語句

import語句用於從外部模組中匯入名稱(綁定到函數、類、或者變數)。

這也包括from __future__ import * 語句。這個語句用於匯入在未來的Python版本中成為標準的特性。

import mathfrom math import sqrtfrom math import sqrt as squarerootfrom math import *
global語句

global語句用於標記一個變數為全域變數。它可以在函數內,以允許函數體內的語句重新綁定全域變數。

使用global語句一般來說被認為是不好的編程風格,能避免的話盡量避免。

count = 1def inc():    global count    count += 1
exec語句

exec語句用於執行包含Python語句的字串,可選擇給定的全域和局部命名空間(字典)。

exec 'print "Hello,World!"'exec 'x = 2' in myglobals, mylocals   # mygolobals和mylocals都是字典
lambda語句

Python中函數的一種,無變數,無return,簡單方便.

lambda x,y: x ** 2 + y, (1,2)         # 冒號分割,前面變數,後面return值

複合陳述式複合陳述式包括其他語句塊

if語句

if語句用於條件執行,可以包括elif和else語句

if x < 10:    print 'Less than 10'elif 10 <= x <= 20:    print 'Less than 20'else:    print 'More than 20'
while語句

while語句用於在給定的條件為真的時候重複執行。它可以包括else子句(在迴圈正常結束,在沒有break或者return語句的時候執行)

x = 1while x < 100:    x *= 2print x
for語句

for語句用於對序列或者其他可迭代對象(對象有返回迭代器的__iter__方法)的元素重複執行迴圈。

它可以包括一個else子句(在迴圈正常結束,沒有任何break或者return語句的時候執行)

for i in range(10, 0, -1):    print iprint 'Ignition!'
try語句

try語句用於封閉一段可能發生一個或者多個異常的代碼,讓程式可以捕捉這些異常,並且在捕捉到異常的時候進行異常處理。

try語句可以包含多個except子句來處理異常,以及多個finally子句(無論如何都會執行的語句,用於清理)

try:    1/0except ZeroDivisionError:    print "Can't divide anything by zero."finally:    print 'Done trying to calculate 1/0'
with語句

with語句使用所謂的上下文管理器對代碼塊進行封裝,允許上下文管理器實現一些設定和清理操作。

例如:檔案可以作為上下文管理器使用,它們可以關閉自身作為清理的一部分。

NOTE:在PYTHON2.5中,需要使用from __future__ import with_statement進行with語句的匯入

with open('NOTE.txt') as myfile:    dosomething(myfile)#檔案在此處關閉
函數定義

函數定義用於建立函數對象,並且綁定全域或者局部變數到函數對象上.

def double(x):    return x * 2
類定義

類定義用於建立類對象,並且綁定全域或局部變數到類對象上

class Doubler:    def __init__(self,value):        self.value = value    def double(self):        self.value *= 2
Python3.0新特性

#版本           #新特性-----------------------------------------------------------------------------------------01.Python 3.0:  #print是一個函數02.Python 3.0:  #文字檔強制編碼03.Python 3.0:  #zip、map和filter函數返回迭代器04.Python 3.0:  #dict.keys()、dict.values()和dict.items()返回視圖而不是列表05.Python 3.0:  #cmp參數不再用於sorted和list.sort,使用key代替06.Python 3.0:  #除法成了真的除法 1/2 == 0.507.Python 3.0:  #只有一個字串類型str,等同於Python2.x版本中的unicode類型08.Python 3.0:  #basestring類被去除了09.Python 3.0:  #新的bytes類型用於表示位元據和編碼後文本10.Python 3.0:  #bytes寫成b"abc"11.Python 3.0:  #UTF-8為預設的Python源檔案編碼方式。可以使用非ASCII標識符12.Python 3.0:  #StringIO和cStringIO由io.StringIO和io.BytesIO代替13.Python 3.0:  #新的內建字串格式化方法代替了%運算子14.Python 3.0:  #函數可以注釋它自己的參數和傳回值15.Python 3.0:  #使用raise Exception(args)代替 raise Exception, args16.Python 3.0:  #使用except MyException as identifier代替 except MyException,identifier17.Python 3.0:  #經典類和舊式類被去除了18.Python 3.0:  #Foo(Base,metaclass=Meta): 用於設定原類19.Python 3.0:  #增加抽象類別@abstractmethod和@abstractproperty20.Python 3.0:  #增加了類修飾符,類似於函數修飾符21.Python 3.0:  #不再使用``,而使用repr函數22.Python 3.0:  #<>運算子不再使用,一律使用!=23.Python 3.0:  #True,False、None、as和with成為關鍵字,意味著不能用作變數名24.Python 3.0:  #long類型被重新命名為int,是現在唯一的整形,沒有L25.Python 3.0:  #sys.maxint被去除,不再有最大值26.Python 3.0:  #x<y在x和y屬不同類型的情況下會報錯27.Python 3.0:  #__getslice__和類似的的函數被去除。可以使用分區對象調用__getitem__28.Python 3.0:  #參數可以作為專用關鍵字29.Python 3.0:  #使用nonloacl x以後,可以在外部範圍對x進行賦值30.Python 3.0:  #raw_input被重新命名為input。使用eval(input())擷取原先input的功能 31.Python 3.0:  #xrange重新命名為range32.Python 3.0:  #元祖參數解包功能被去除。def foo(a,(b,c)):不再可用33.Python 3.0:  #迭代器中的next函數被重新命名為x.__next__。next(x)會調用x.__next__34.Python 3.0:  #增加了八進位字面量。以0o666代替066635.Python 3.0:  #增加了二進位字面量。0b1010 == 10。bin()函數的作用類似於hex()和oct()36.Python 3.0:  #增加了星號迭代器解包功能,對於參數a和b來說,使用*rest = seq或*rest.a = seq37.Python 3.0:  #super函數可以不用參數調用,行為也會正確38.Python 3.0:  #string.letters和相關函數被去除。使用string.ascii_letters代替39.Python 3.0:  #apply函數被去除。使用f(*x)代替apply(f.x)40.Python 3.0:  #callable被去除。使用hasattr(f,"__call__")代替callable(f)41.Python 3.0:  #coerce函數被去除42.Python 3.0:  #execfile被去除。使用exec代替43.Python 3.0:  #file對象被去除44.Python 3.0:  #reduce函數被移動到functools模組中45.Python 3.0:  #reload函數被去除。使用exec代替46.Python 3.0:  #dict.has_key被去除。使用k in d代替d.has_key(k)


說明:用於記錄開始使用PYTHON編程的時候,可以用於更新記憶的方便的“備忘錄”,完整的參考手冊,請參考Python的標準文檔

https://www.python.org/doc/




聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.