VOOZH about

URL: https://read01.com/E84GN.html

⇱ Python參考手冊 - 壹讀


Saturday, Apr 11, 2026

Python參考手冊

2014/11/19 來源:紅黑聯盟

函數 描述 abs(numbers) 返回一個數的絕對值 apply(func[,arg[,kwargs]]) 調用給定的函數,可選擇提供參數 all(iterable) 如果所有iterable的元素均為真則返回True,否則返回False any(iterable) 如果有任一iterable的元素為真則返回True,否則返回False basestring str和unicode抽象超類,取決於obj的布爾值 callable(obj) 檢查對象是否可調用 char(number) 返回ASCII為給定的字符 classmethod(func) 通過一個實例方法創建類的方法 cmp(x,y) 比較x,y。xy:返回正數;x==y,返回0 complex(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) 返回給定對象的唯一ID input([prompt]) 等同於eval(raw_input(prompt)) int(object[,radix]) 將字符串或者數字轉換為整數 isinstance(object,classinfo) 檢查給定的對象是否是給定的classinfo值的實例 classinfo可以是類對象、類型對象或者類對象和類型對象的元祖 issubclass(class1,class2) 檢查class1是否是class2的子類 iter(object[,sentinel]) 返回一個疊代對象,可以用於疊代序列的object_iter疊代器,或者提供一個sentinel, 疊代器會在每次疊代中調用object,真到返回sentinel 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而不是file pow(x,y[,z]) 返回x的y次方,可選擇模除z ord(char) 返回給定單字符的ASCII值 range([start,]stop[,step]) 使用給定的起始值和結束值來創建數值範圍 property(fget[,fset[,fdel[,doc]]]) 通過一組訪問器創建屬性 raw_input([prompt]) 將用戶輸入的數據作為字符串返回,可選擇使用給定的提示符prompt reduce(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)] = seq L.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]存在,將其返回;否則返回給定的默認值None D.has_key(key) 檢查D是否有給定鍵key D.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]存在則將其返回;否則返回默認值None D.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字符會使用空格進行擴展,可選擇tabsize S.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中的所有字符簡單語句

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

表達式語句

表達式也可以是語句。如果表達式是函數調用或者文檔字符串的話尤其如此

"This module contains SPAM-related functions"

斷言語句

用於檢查條件是否為真,如假的話會引發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 "", line 1, inAssertionError: 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.name except AttributeError: pass else: 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 IndexError raise 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 math from math import sqrt from math import sqrt as squareroot from math import *

global語句

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

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

count = 1 def 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語句的時候執行)

for語句

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

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

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

try語句

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

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

try: 1/0 except 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) #文件在此處關閉

函數定義

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

類定義

類定義用於創建類對象,並且綁定全局或局部變量到類對象上

class Doubler: def __init__(self,value): self.value = value def double(self): self.value *= 2

用於記錄開始使用PYTHON編程的時候,可以用於更新記憶的方便的「備忘錄」,完整的參考手冊,請參考Python的標準文檔https://www.python.org/doc/
您可能感興趣
免責聲明:本文內容來源于紅黑聯盟,文章觀點不代表壹讀立場,如若侵犯到您的權益,或涉不實謠言,敬請向我們提出檢舉
最新文章 / 服務條款 / 私隱保護 / DMCA / 聯絡我們

壹讀/READ01.COM