Python提供了許多內建函數。下面按函數名字母順序一一列出並做介紹。python
返回一個數的絕對值。參數能夠是一個普通整數、長整數或浮點數。若是參數是複數, 則它的值被返回。如:若a=x+yi, 則abs(a)=sqrt(x^2+y^2)。算法
若是可編歷對象中的全部元素都是真值,則返回True。至關於:
def all(iterable):
for element in iterable:
if not element:
return False
return True
該函數是2.5版本中新增的。spring
只要可編歷對象中有一個元素爲真值,就返回True。等價於:
def any(iterable):
for element in iterable:
if element:
return True
return False
該函數是2.5版本中新增的。express
(注:basestring是一個可調用對象。)basestring是str與unicode的父類,它是一個抽象類,不能直接被調用或實例化, 但能夠用它來測試一個對象是不是str或unicode的實例: isinstance(obj, basestring),等效於isinstance(obj, (str, unicode))。
該函數是2.3版本中新增的。編程
將一個整數轉換成二進制字符串。結果是一個合法的Python表達式。若是參數x不是一個整數對象(int object),它必須定義__index__()方法,並返回一個整數。
該函數是2.6版本中新增的。數據結構
使用標準真值測試過程(standard truth testing procedure)將一個值轉換成布爾型。若是參數x省略或爲假值(如:0, 空字符串,None),返回False;不然老是返回True。bool也是類型,它是int類型的子類。但不能從bool類型派生子類。它只有兩個實 例:True和False。
該函數是2.21版本中新增的。
在2.3版本中有所改變:若是沒有參數傳入,函數返回False。app
若是參數object是可調用的,返回True,不然返回False。即便函數返回True,調用該對象仍然有可能會失敗;可是若是返回 False,則調用對象確定失敗。注意:類都是可調用的(經過調用類返回一個新實例)。定義了__call__()方法的實例都是可調用的。less
將assii碼爲i的整數轉換成只包含一個字符的字符串。例如:chr(97)返回字符串’a’。參數i必須在0—255範圍內,不然會觸發ValueError異常。與之對應的一個函數是ord(c),它將字符轉換成整數。也能夠參考一下unichr()。ide
該函數返回一個類方法。
類方法顯式的接收第一個參數做爲類類型,就如實例方法接收第一個參數做爲對當前實例的引用。可使用下面的語法定義一個類方法:
class C:
@classmethod
def f(cls, arg1, arg2, ...): ...
@classmethod是一個函數修飾符----能夠在Function definitions中查詢更多關於函數定義描述的信息。
能夠經過類(如:C.f())或實例(如:C().f())調用類方法。若是在派生類中調用父類的類方法,派生類對象(derived class object) 將做爲第一個參數被傳入類方法。
Python類方法與C++或Java中的靜態方法有區別。能夠查詢本章中對staticmethod的介紹來了解這些知識。
更多關於類方法的信息,能夠參考:The standard type hierarchy.
該函數是2.2版本中新增的。
在2.4版本中做了修改:添加了對函數裝飾語法的支持。
比較兩個對象並根據比較結果返回一個整數。若是x < y, 返回一個負數,若是 x > y返回一個正數,若是x == y返回0。
將源代碼編譯成代碼對象(code object)或AST對象。能夠經過exec語句來執行代碼對象,或經過eval()來求值。參數source能夠是字符串或AST對象。更多關於AST對象的信息,能夠參考ast模塊文檔。
參數mode指定了代碼編譯的模式。它能夠是:
「exec」:代碼段
「eval」: 單個表達式
「single」: 單條交互式語句
可選參數 flags和dot_inherit控制 影響代碼編譯的未來語句。兩個參數的默認值都是0,
建立一個值爲 real + imag * j 的複數,或將一個字符串或數字轉換爲一個複數。若是第一個參數是字符串,它將被做爲複數解析,同時不能提供第二個參數。第二個參數不能是字符串。每一個參數 能夠是任何的數字類型(包括複數類型)。參數imag的默認值爲0。若是兩個參數都省略,返回0j。
參數是一個對象和字符串。字符串必須是對象屬性的名稱。函數刪除對象的屬性。如:delattr(x, 「foobar」),至關於語句:del x.foobar。
與delattr對應的函數是setattr,用於設置對象的屬性。
建立一個字典對象。可選的參數arg用於初始化字典項。
字典類型在Mapping Types — dict章中進行介紹。關於其餘的容器,能夠參考list, set,tuple,collections模塊。
若是省略參數,函數返回局部區域內的變量列表。若是參數沒有省略,函數嘗試將該參數對象的全部合法屬性名稱保存到列表中並返回該列表。
若是對象定義了__dir__()方法,那麼該方法將被調用,並返回屬性列表。容許對象經過實現__getattr__()和__getattribute__()方法來自定義dir()返回對象的屬性。
若是對象沒有定義__dir__(),dir()嘗試從對象的__dict__屬性(若是定義了__dict__)和對象所屬類型中獲取信息。dir()返回的結果沒必要是完整的,若是對象定義了__getattr__()方法,那麼結果可能不許確。
默認的dir()實現針對不一樣類型的對象可能有不一樣的行爲,它嘗試去獲取更多相關的信息,而不是所有的信息:
若是對象是模塊對象(module object),結果列表包含全部模塊中定義的屬性的名稱。
若是對象是類型或類對象,結果列表包含該類型全部的屬性名稱,包括從父類繼承的。
不然,結果列表包含對象的全部屬性名稱、對象所屬類型的屬性名稱,以及父類的全部屬性名稱。
結果列表根據屬性的名稱字母順序保存。
>>> import struct
>>> dir() # doctest: +SKIP
['__builtins__', '__doc__', '__name__', 'struct']
>>> dir(struct) # doctest: +NORMALIZE_WHITESPACE
['Struct', '__builtins__', '__doc__', '__file__', '__name__',
'__package__', '_clearcache', 'calcsize', 'error', 'pack', 'pack_into',
'unpack', 'unpack_from']
>>> class Foo(object):
... def __dir__(self):
... return ["kan", "ga", "roo"]
...
>>> f = Foo()
>>> dir(f)
['ga', 'kan', 'roo']
接收兩個數字(複數除外)做爲參數,返回一對值:商,餘數。對於不一樣類型的操做數,按二進制算術運算法則進行計算。對於普通整數與長整數,結果爲: (a / b, a % b)。對於浮點數,結果爲:(q, a % b),其中q = math.floor(a / b),若是q < 1,q = 1。不管如何,q * b + a % b老是很是接近於a,若是a不能整除b,那麼:0 <= abs(a % b) < abs(b)。
在2.3版本中做了修改:不同意使用複數做爲參數。
返回一個enumerate對象。參數sequence必須是一個序列類型,iterator,或者其餘支持編歷的對象。經過調用 enumerate()返回的iterator,它的next()方法返回一個包含 計數(由參數start開始,默認值爲0)和對應值 的元組。可使用Enumerate()來獲取一個帶索引的序列:(0, seq[0]), (1, seq[1]), (2, seq[2]),...
例如:
>>> for i, season in enumerate(['spring', 'Summer', 'Fall', 'Winter']):
... print i, season
0 Spring
1 Summer
2 Fall
3 Winter
該函數是2.3版本中新增的。
在2.6版本中,增長了start 參數。
參數expression是一個字符串,可選的globals參數必須是一個字典,可選的locals必須是一個映射對象(mapping object)。
Expression參數做爲一個Python表達式而被解析並求值(evaluate),它使用globals與locals字典做爲全局和本地變量。 globals參數的默認值爲當前的全局變量。locals參數默認爲globals。 若是兩個參數都省略,那麼eval()會在 當前上下文 中執行。執行過程當中的異常都會被認爲是語法錯誤異常。下面是使用eval的例子:
X = 1
Print eval(‘x + 1’)
expression參數也能夠是一個代碼對象(經過compile()建立),若是代碼對象使用’exec’模式進行編譯(如:eval(compile(‘3 + 4’, ‘<string>’, 「exec」)),eval()函數將返回None。
提示:exec()支持動態語句執行,使用execfile()來執行文件中的語句。Globals(), locals()分別返回全局變量和局部變量的字典,它們能夠在調用eval, execfile時做爲參數傳入。
這個函數與exec語句很像,可是它接收一個文件路徑做爲參數,並執行文件中的內容。它與import語句不一樣:它沒有使用模塊管理—它只是無條件的讀取文件內容並執行,而沒有建立一個新的模塊。
Execfile()的globals參數與locals參數的含義和eval()同樣,但函數的返回值爲None。
file類型的構造函數,它的參數與open()方法的參數的含義一致。open()方法將在下面介紹。
當要打開一個文件時,一般使用open()來代替file()。file()更適合在類型測試的時候來使用(如:isinstance(f, fle))。
該函數是在此2.2版本中新增的。
分別對可編歷對象中的元素應用函數,將結果爲True的元素組成新的列表並返回(不改變原有列表。)。 iterable參數能夠是一個序列、一個支持編歷的容器對象、也能夠是一個iterator對象。若是參數是字符串類型或者tuple類型,那麼返回的 結果也是原來的類型;不然它老是返回一個列表(list)類型。若是function爲None,則恆等函數(identity function)被做爲篩選函數(過濾掉非真值元素)
函數等效爲:
function不爲None: [item for item in iterable if function(item)]
Function爲None: [item for item in iterable if item]
將一個字符串或數字轉換爲浮點數。若是參數是字符串,它可能包含符號或小數點,字符串參數也能夠是」+nan」,」-nan」 或」+inf」,」-info」;不然,參數必須是普通整數或長整數,或一個浮點數。浮點數將直接被返回。若是沒有提供參數,函數返回0.0。
注意:
若是參數是字符串,函數可能會返回NaN( Not a Number),Infinity(無窮大),這依賴於低層的C語言庫。Float可能接收」nan」來表示一個非數字,inf和-inf來表示一個正無 窮和負無窮。對於nan,」+」, 「-「符號將被忽略。Float經過使用」nan」, 「inf」, 「-inf」來表示NaN, 正無窮,負無窮。
按指定格式表示一個值。對格式的解析依賴於值參數。有一套標準的格式語法用於大部分Python內置類型。
注意:
Format(value, format_spec)僅僅調用value.__format__(format_spec)。
該函數是2.6版本中新增的。
Return a frozenset object, optionally with elements taken from iterable. The frozenset type is described in Set Types — set, frozenset.
For other containers see the built in dict, list, and tuple classes, and the collections module.
New in version 2.4.
獲取對象指定屬性的值。參數name必須是一個字符串,若是name爲對象中某個屬性的名字,該屬性的值將被返回。例如:getattr(x, 「foobar」)等效於x.foobar。若是屬性名字不存在,參數default將被返回。若是函數名不存在且沒有提供default參數,將觸發 AttributeError異常。
返回當前模塊的全局變量字典。(若是在方法或函數中調用globals(),返回的是定義該方法或函數的模塊的全局變量字典,而不是調用該函數或方法的所在的模塊(的全局變量字典))
判斷對象是否存在指定名字的屬性。(hasattr經過調用getattr(object, name),根據是否拋出異常來判斷屬性名是否存在)
返回對象的哈希值。哈希值是整數。它被應用於字典的鍵,在查找的時候進行快速比較。數值對象的哈希值與值相同(即便他們有不一樣的類型,如:
Hash(1.0) == 1.0 #True
hash(1.0) == hash(1) #True)
調用系統幫助。(該函數能夠與系統進行交互)。若是沒有提供參數,交互式幫助系統幫助將在解析器控制檯上啓動。若是參數是一個字符串,它將做爲模 塊、函數、類型、方法、關鍵字或文件主題的名稱查詢,並將相關幫助信息顯示到控制檯上;若是參數是其餘類型的對象,對象的幫助信息將建立(並顯示在控制檯 上)。
該函數經過site模塊被添加到內建命名域內。
該函數是在2.2版本中新增的。
獲取一個整數的十六進制字符串表示。結果是一個合法的Python表達式。
2.4版本以前只返回一個無符號字面值。
返回對象的標識符(identity)。標識符是一個整數(或長整數),在對象生命週期內保證惟一且不會改變。不重疊做用域內的兩個對象可能會有同樣的標識符。(當前實現中,標識符返回對象在內存中的地址。)
至關於eval(raw_input(prompt))
警告:
該函數沒法保證用戶輸入的內容是合法的,它指望一個合法的Python表達式做爲輸入,若是輸入有語法錯誤,將觸發SyntaxError。在求值期間出現的其餘錯誤也會觸發相應的異常。(另外一方面,在寫一些快速腳本做爲高級應用時,這個函數很是有用。)
若是已經加載了readline模塊,input()函數將使用該模塊提供複雜的行編輯和記載功能。
應當考慮使用raw_input()函數來獲取用戶的通常性輸入。
將一個字符串或數值轉換爲一個普通整數。若是參數是字符串,那麼它可能包含符號和小數點。參數radix表示轉換的基數(默認爲10進制),它能夠 是[2,36]範圍內的值,或者0。若是爲0,系統將根據字符串的內容來解析。若是提供了參數radix,但參數x並非一個字符串,將拋出 TypeError異常;不然,參數x必須是數值(普通整數,長整數,浮點數)。經過捨去小數來轉換浮點數。若是結果超出了普通整數的表示範圍,一個長整 數被返回。若是沒有提供參數,函數返回0。
關於整數類型,能夠參考:Numeric Types — int, float, long, complex.
若是對象是類型的實例,或該類型派生類的實例,則返回True;若是參數classinfo是類型對象(type object)同時參數object是類對象或派生類的對象,也返回True。(譯者注:如:isinstance(A, type(A)))。若是參數object不是類實例或不是給定類型的實例,函數將返回False。
若是參數classinfo不是一個類,類型或 關於類、類型的元組(譯者注:如:(ClassA, ClassB)),或其餘相關元組,將觸發TypeError異常。
在2.2版本中添加了對 類型信息元組 的支持。
若是參數class是參數classinfo的子類,返回True。一個類被認爲是它本身的子類(譯者注:issubclass(ClassA, ClassA)返回True)。參數classinfo能夠是多個類對象(class object)的元組,在這種狀況下,元組中的每一個類都會被檢查。
返回一個iterator對象。該函數對於第一個參數的解析依賴於第二個參數。若是沒有提供第二個參數,參數o必須是一個集合對象,支持編歷功能 (__iter__()方法)或支持序列功能(__getitem__()方法,參數爲整數,從0開始),若是不支持這兩種功能,將觸發 TypeError異常。若是提供了第二個參數,參數o必須是一個可調用對象。在這種狀況下建立一個iterator對象,每次調用iterator的 next()方法來無參數的調用o,若是返回值等於參數sentinel,觸發StopIteration異常,不然將返回該值。
該函數是2.2版本中新增的。
返回對象的長度。參數能夠是序列類型(字符串、元組或列表)或映射類型(如字典)。
list的構造函數。參數iterable是可選的,它能夠是序列,支持編譯的容器對象,或iterator對象。該函數建立一個 元素值,順序與 參數iterable一致的列表。若是參數iterable是一個列表,將建立該列表的一個拷貝並返回,就像語句iterable[:]。例 如:list(‘abc‘)返回[‘a’, ‘b’, ‘c’],list((1, 2, 3))返回[1, 2, 3]。若是沒有提供參數,返回一個空的列表:[]。
更新並返回一個表示當前局部變量的字典。
警告:
不要修改locals()返回的字典中的內容;改變可能不會影響解析器對局部變量的使用。
在函數體內調用locals(),返回的是自由變量(Free variables)。修改自由變量不會影響解析器對變量的使用。不能在類區域內返回自由變量。
將字符串或數字轉換爲長整數。若是參數是字符串,那麼它可能包含符號。參數radix的意義與int()函數中的同樣,只有在參數x是字符串的狀況 下,纔給出。不然x必須是普通整數、長整數或浮點數,若是是長整數,其值將直接被返回。經過捨去小數來將浮點數轉換成長整型。若是沒有提供參數,函數返回 0L。
對參數iterable中的每一個元素都應用function函數,並將結果做爲列表返回。 若是有多個iterable參數,那麼function函數必須接收多個參數,這些iterable中相同索引處的元素將並行的做爲function函數 的參數。若是一個iterable中元素的個數比其餘少,那麼將用None來擴展該iterable使元素個數一致。若是有多個iterable且 function爲None,map()將返回由元組組成的列表,每一個元組包含全部iterable中對應索引處值。參數iterable必須是一個序列 或任何可編歷對象,函數返回的每每是一個列表(list)。
若是隻提供iterable參數,函數返回可編歷對象(如:字符串,元組或列表)中最大的非空元素。若是提供了多個參數,那麼返回值最大的那個參數。
可選參數key是單參數的排序函數。若是提供key參數,必須是以命名參數的形式,如:max(a, b, c, key = fun)----我不清楚參數key有什麼做用?
在2.5版本中修改:添加了可選的key參數。
若是隻提供iterable參數,函數返回可編歷對象(如:字符串,元組或列表)中最小的非空元素。若是提供了多個參數,那麼返回值最小的那個參數。
可選參數key是單參數的排序函數。若是提供key參數,必須是以命名參數的形式,如:max(a, b, c, key = fun)----我不清楚參數key有什麼做用?
經過調用iterator的next()方法獲取下一個元素。當iterator編歷完的時候,若是提供default參數,該default參數將被返回,不然觸發StopIteration異常。
該函數是2.6版本中新增的。
獲取一個新的、無特性(featureless)對象。Object是全部類的基類。它提供的方法將在全部的類型實例中共享。
該函數是2.2版本中新增的。
2.3版本以後,該函數不接收任何參數。之前能夠接收參數,但這些參數都被忽略。
將一個整數轉換爲八進制字符串。結果是一個合法的Python表達式。
在2.4版本以前,該函數只返回無符號的字面值。
打開一個文件,返回一個file對象。若是文件沒法打開,將觸發IOError 異常。應該使用open()來代替直接使用file類型的構造函數打開文件。
參數filename表示將要被打開的文件的路徑字符串;參數mode表示打開的模式,最經常使用的模式有:‘r’表示讀文本文件,’w’表示寫文本文 件,’a’表示在文件中追加文本內容。Mode的默認值是’r’。 在操做文本文件時,’/n’可能會被轉換爲特定平臺相關的表示。
當操做的是二進制文件時,只要在模式值上添加’b’。這樣提升了程序的可移植性。(有些操做系統不區別文本文件和二進制文件,這些文件都被看成文檔(document)來處理,這時把模式設爲二進制模式就比較合適。)
可選參數bufsize定義了文件緩衝區大小。0表示不緩衝 (unbuffered);1表示行緩衝(line buffered);任何其餘正數表示使用該大小的緩衝區;負數表示使用系統默認緩衝區大小,對於tty設備它每每是行緩衝,而對於其餘文件每每徹底緩 衝。若是參數被省略,使用系統默認值。
將字符(長度爲1的字符串)轉換爲整數。例如:ord(‘a’)返回整數97,ord(u’/u2020’)返回8224。
返回x的y次方;若是提供了參數z,則返回x的y次方,並對z進行取模操做(比pow(x, y) % z效率更高)。也可使用x**y來代替pow(x, y)
打印對象到流文件(stream file),經過sep參數分開,以end參數結束。參數sep, end, file必須以關鍵字參數的形式出現,若是提供的話。
全部非關鍵字參數都被轉換爲字符串並寫入到流,經過sep分開,將end附加到末尾。參數sep和end都是字符串,也能夠爲None,這意味着使用默認值。若是沒有對象,print()直接將end寫入。
File參數必須是一個包含write(string)方法的對象。若是沒有該方法或對象爲None,使用默認值sys.stdout
注意:在默認狀況下,print方法是不可以使用的,由於它每每被認爲是print語句。爲了使用print()方法同時並禁用print語句,要在模塊的開始處添加以下語句:
from __future__ import print_function
該函數是2.6版本中新增的。
...
這是一個經過的,用於建立包含連續算術值的列表(list)。它常常被用於for循環。參數必須是普通整數。參數 step的默認值爲1,參數start的默認值爲0。全參數調用該函數將返回一個普通整數列表[start, start + step, start + 2 * step, ...]。若是參數step爲正數,列表中的最後一個元素將是最大值,爲start + i * step,小於stop;若是step爲負數,列表中最後一個元素將是最小值,爲start – I * step,大於stop。參數step不能爲0(不然將觸發ValueError異常)。
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(1, 11)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> range(0, 30, 5)
[0, 5, 10, 15, 20, 25]
>>> range(0, 10, 3)
[0, 3, 6, 9]
>>> range(0, -10, -1)
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
>>> range(0)
[]
>>> range(1, 0)
[]
若是提供了prompt參數,它將被寫入到標準輸出(結尾沒有換行符),函數而後從輸入中讀一行數據,轉換成字符串(去除結尾的換行符)並返回。當讀取EOF時,將觸發EOFError異常。下面是一個例子:
>>> s = raw_input('--> ')
--> Monty Python's Flying Circus
>>> s
"Monty Python's Flying Circus"
...
從新加載先前導入(imported)的模塊。參數是模塊對象,因此該模塊必須在以前成功的導入。Reload在這種狀況下很是有用:程序在運行過程當中模塊源代碼發生改變,讓Python解析器擅自加載最新版本代碼。函數的返回值是模塊對象。
當reload(module)執行時:
Python模塊的代碼被從新編譯,模塊級(module-level)的代碼被從新執行,定義新的對象信綁定到模塊字典,而擴展模塊的初始化函數將不會被再次調用。
就如Python中其餘對象同樣,原有模塊的一些對象只有在其引用計算爲0的時候纔會被回收。
模塊內的名稱被更新,用於代表任何新的或改變的對象。
對原有對象的引用不會從新綁定引用到新的對象。
返回一個對象的字符串表示。有時可使用這個函數來訪問操做。對於許多類型來講,repr()嘗試返回一個字符串,eval()方法可使用該字符 串產生對象;不然用尖括號括起來的,包含類名稱和其餘額外信息(如:對象名字,在內存中的地址)的字符串被返回。類能夠經過定義__repr__()方法 來控制它的對象的輸出。
返回一個逆序的iterator對象。參數seq必須是一個包含__reversed__()方法的對象或支持序列操做(__len__()和__getitem__())
該函數是2.4版本中新增的。
對參數x的第n+1位小數進行四捨五入,返回一個小數位數爲n的浮點數。參數n的默認值是0。結果是一個浮點數。如:round(0.5) 結果 爲 1.0
...
該方法與getattr()相對應。參數分別是一個對象、字符串和值。字符串多是一個存在的屬性名或一個新的屬性名,該函數將值賦給對象的屬性。如:setattr(x, ‘fllbar’, 123)等價於x.foobar = 123。
...
...
返回一個靜態方法。
靜態方法不顯式的接收第一個參數(做爲類型)。使用下面的語法聲明一個靜態方法:
lass C:
@staticmethod
def f(arg1, arg2, ...): ...
能夠在類中調用靜態方法(如:C.f()),,也能夠在對象上調用(如:C().f())。
Python中的靜態方法與java或C++中的靜態方法相似,更詳細的信息,能夠參考:classmethod()
該函數是2.2版本中新增的。
獲取對象的字符串表示。對於字符串參數,函數直接返回。Repr()與str()之間的不一樣在於:str()返回的字符串可能不被eval()所接收求值,而僅僅返回一個可打印的字符串。若是沒有提供參數,空字符串將被返回。
先計算可編歷對象中的元素之和,再與start相加。參數start的默認值爲0。可編歷對象的元素經過是數字,不能爲字符串。經過調 用’’.join(sequence)能夠快速正確的鏈接一個字符串序列。注意:sum(range(n), m)等價於:reduce(operator.add, range(n), m)。對高精度的浮點數進行求和時,可使用math.fsum().
返回一個能夠經過委託方法調用父類型或兄弟類型的代理對象。在重寫方法中使用它來訪問父類中的虛方法,
返回一個元組,它的元素值及元素的順序與iterable中的一致。參數iterable能夠是一個序列,或者iterator對象。若是 iterable自己也是一個元組,它將被原封不支的返回。例如:tuple(‘abc’)將返回(‘a’, ‘b’, ‘c’),tuple([1, 2, 3])將返回(1, 2, 3)。若是沒有提供參數,函數返回一個空元組。
返回對象的類型。返回值是類型對象(type object),建議使用isinstance()來檢測對象的類型。含有三個參數的type()函數是type類的構造函數,在下面詳細介紹。
返回一個類對象。它本質上是一個動態形式的類定義語句(能夠動態的建立新類型)。參數name做爲__name__的值,爲新類型的名稱,參數 bases是一個元組,表示新類型的父類,做爲__bases__的值;參數dict是一個字典,表示類範圍成員的定義,做爲__dict__的值。例 如:下面兩段語句建立同一類型對象:
>>> class X(object):
... a = 1
...
>>> X = type('X', (object,), dict(a=1))
返回整數的unicode字符串。如:unichar(97)返回字符串 u’a’。
...
若是沒有提供參數,返回一個表示當前局部變量表的字典。若是輸入一個模塊對象、類對象或類實例對象(或其餘任何含有__dict__屬性的東西),返回一個表示該對象變量表的字典。
這個函數與range()很是像,但它返回一個xrange對象而不是列表。這是一個不透明的序列對象,能夠產生像對應列表同樣的值但不一樣時保存它們(在內存裏)。
Xrange相比於range的優勢在於:使用xrange佔用的內存更少。
函數返回一個元組列表,其中第n個元組的元素由全部參數序列的第n個元素組成。返回列表的長度等於參數中長度最短的序列的長度。若是多個參數序列的長度一致,那麼zip() 若是隻有一個參數,那麼返回的序列中,元素的長度爲1。若是沒有提供參數,返回一個空列表。
>>> x = [1, 2, 3]
>>> y = [4, 5, 6]
>>> zipped = zip(x, y)
>>> zipped
[(1, 4), (2, 5), (3, 6)]
>>> x2, y2 = zip(*zipped)
>>> x == x2, y == y2
True
該函數是2.0版本中新增的。
在2.4版本以前,調用zip()時至少要提供一個參數,不然將觸發TypeError異常。
這是一個高級函數,在日常編程中不多用到。使用import語句加載模塊時會調用該函數。不多直接使用__import__()函數,除非模塊的名稱在運行時獲得。