classmethod()
classmethod修飾符對應的函數不需要實例化,不需要 self 參數,但第一個參數需要是表示自身類的 cls 參數,可以來調用類的屬性,類的方法,實例化對象等。
語法:classmethod
返回值:返回函數的類方法。
實例:
輸出結果為:
func2
1
foo
getattr()
getattr()函數用于返回一個對象屬性值。
語法:getattr(object,name[,default])
參數:object -- 對象。
name -- 字符串,對象屬性。
default -- 默認返回值,如果不提供該參數,在沒有對應屬性時,將觸發 AttributeError。
返回值:返回對象屬性值。
實例:
locals()
locals()函數會以字典類型返回當前位置的全部局部變量。
對于函數, 方法, lambda 函式, 類, 以及實現了 __call__ 方法的類實例, 它都返回 True。
語法:locals()
返回值:返回字典類型的局部變量。
實例:
>>>defrunoob(arg):# 兩個局部變量:arg、z
...z=1
...print(locals())
...
>>>runoob(4){'z':1,'arg':4}# 返回一個名字/值對的字典
>>>
repr()
repr() 函數將對象轉化為供解釋器讀取的形式。
語法:repr(object)
參數:object -- 對象。
返回值:返回一個對象的 string 格式。
實例:
>>>s='RUNOOB'
>>>repr(s)
"'RUNOOB'"
>>>dict= {'runoob':'runoob.com','google':'google.com'};
>>>repr(dict)
"{'google': 'google.com', 'runoob': 'runoob.com'}"
>>>
zip()
zip()函數用于將可迭代的對象作為參數,將對象中對應的元素打包成一個個元組,然后返回由這些元組組成的列表。
如果各個迭代器的元素個數不一致,則返回列表長度與最短的對象相同,利用 * 號操作符,可以將元組解壓為列表。
語法:zip([iterable,...])
參數說明:iterabl -- 一個或多個迭代器;
返回值:返回元組列表。
實例:
>>>a=[1,2,3]
>>>b=[4,5,6]
>>>c=[4,5,6,7,8]
>>>zipped=zip(a,b) ? ? ? ? ? ?# 打包為元組的列表
[(1,4),(2,5),(3,6)]
>>>zip(a,c) ? ? ? ? ? ? ? ? ? ? ?# 元素個數與最短的列表一致
[(1,4),(2,5),(3,6)]
>>>zip(*zipped) ? ? ? ? ? # 與 zip 相反,可理解為解壓,返回二維矩陣式[(1,2,3),(4,5,6)]
compile()
compile() 函數將一個字符串編譯為字節代碼。
語法:compile(source,filename,mode[,flags[,dont_inherit]])
參數:
source -- 字符串或者AST(Abstract Syntax Trees)對象。。
filename -- 代碼文件名稱,如果不是從文件讀取代碼則傳遞一些可辨認的值。
mode -- 指定編譯代碼的種類??梢灾付?exec, eval, single。
flags -- 變量作用域,局部命名空間,如果被提供,可以是任何映射對象。。
flags和dont_inherit是用來控制編譯源碼時的標志
返回值:返回表達式執行結果。
實例:
>>>str="for i in range(0,10): print(i)"
>>>c=compile(str,'','exec')# 編譯為字節代碼對象
>>>c
<code object <module> at 0x10141e0b0, file "" ,line 1>
>>>exec(c)
0123456789
>>>str="3 * 4 + 5"
>>>a=compile(str,'','eval')
>>>eval(a)
17
globals()
globals()函數會以字典類型返回當前位置的全部全局變量。
語法:globals()
返回值:返回全局變量的字典。
實例:
map()
map()會根據提供的函數對指定序列做映射。
第一個參數 function 以參數序列中的每一個元素調用 function 函數,返回包含每次 function 函數返回值的新列表。
語法:map(function,iterable,...)
參數:
function -- 函數,有兩個參數
iterable -- 一個或多個序列
返回值:返回列表。
實例:
__import__()
__import__()函數用于動態加載類和函數 。
如果一個模塊經常變化就可以使用 __import__() 來動態載入。
語法:__import__(name[,globals[,locals[,fromlist[,level]]]])
參數說明:name -- 模塊名
返回值:返回元組列表。
實例:
a.py 文件代碼:
#!/usr/bin/env python
#encoding: utf-8
import os
print('在 a.py 文件中 %s'%id(os))
test.py 文件代碼:
#!/usr/bin/env python
#encoding: utf-8
import sys
__import__('a') ? ? ? ? ? ? ?# 導入 a.py 模塊
執行 test.py 文件,輸出結果為:
在a.py文件中4394716136
reversed()
reversed 函數返回一個反轉的迭代器。
語法:reversed(seq)
參數:seq -- 要轉換的序列,可以是 tuple, string, list 或 range。
返回值:返回一個反轉的迭代器。
實例:
complex()
complex()函數用于創建一個值為 real + imag * j 的復數或者轉化一個字符串或數為復數。如果第一個參數為字符串,則不需要指定第二個參數。。
語法:class complex([real[, imag]])
參數說明:real -- int, long, float或字符串;
imag -- int, long, float;
返回值:返回一個復數。
實例:
hasattr()
hasattr()函數用于判斷對象是否包含對應的屬性。
語法:hasattr(object, name)
參數:object -- 對象。
name -- 字符串,屬性名。
返回值:如果對象有該屬性返回 True,否則返回 False。
實例:
max()
max() 方法返回給定參數的最大值,參數可以為序列。
語法:max(x,y,z,....)
參數:x -- 數值表達式。y -- 數值表達式。z -- 數值表達式。
返回值:返回給定參數的最大值。
實例:
#!/usr/bin/python3
print("max(80, 100, 1000) : ",max(80,100,1000))
print("max(-20, 100, 400) : ",max(-20,100,400))
print("max(-80, -20, -10) : ",max(-80,-20,-10))
print("max(0, 100, -400) : ",max(0,100,-400))
以上實例運行后輸出結果為:
max(80,100,1000):1000
max(-20,100,400):400
max(-80,-20,-10):-10
max(0,100,-400):100
round()
round()方法返回浮點數x的四舍五入值。
語法:round(x[,n])
參數:x -- 數值表達式。n -- 數值表達式。
返回值:返回浮點數x的四舍五入值。
實例:
#!/usr/bin/python3
print("round(70.23456) : ",round(70.23456))
print("round(56.659,1) : ",round(56.659,1))
print("round(80.264, 2) : ",round(80.264,2))
print("round(100.000056, 3) : ",round(100.000056,3))
print("round(-100.000056, 3) : ",round(-100.000056,3))
以上實例運行后輸出結果為:
round(70.23456):70
round(56.659,1):56.7
round(80.264,2):80.26
round(100.000056,3):100.0
round(-100.000056,3):-100.0
delattr()
delattr函數用于刪除屬性。
delattr(x, 'foobar')相等于del x.foobar。
語法:delattr(object,name)
參數:object -- 對象。name -- 必須是對象的屬性。
實例:
輸出結果:
hash()
hash()用于獲取取一個對象(字符串或者數值等)的哈希值。
語法:hash(object)
參數說明:object -- 對象;
返回值:返回對象的哈希值。
實例:
>>>hash('test') ? ? ? ? ? ? ? ? ? ? ? # 字符串
2314058222102390712
>>>hash(1) ? ? ? ? ? ? ? ? ? ? ? ? ? ? # 數字1
>>>hash(str([1,2,3])) ? ? ? ? ? ? ? # 集合
1335416675971793195
>>>hash(str(sorted({'1':1}))) ? ?# 字典
7666464346782421378
>>>
memoryview()
memoryview()函數返回給定參數的內存查看對象(Momory view)。
所謂內存查看對象,是指對支持緩沖區協議的數據進行包裝,在不需要復制對象基礎上允許Python代碼訪問。
?語法:memoryview(obj)
參數說明:obj -- 對象
返回值:返回元組列表。
實例:
>>>v=memoryview('abcefg')
>>>v[1]
'b'
>>>v[-1]
'g'
>>>v[1:4]
>>>v[1:4].tobytes()
'bce'
set()
set()函數創建一個無序不重復元素集,可進行關系測試,刪除重復數據,還可以計算交集、差集、并集等。
語法:class set([iterable])
參數說明:iterable -- 可迭代對象對象;
返回值:返回新的集合對象。
實例:
>>>x=set('runoob')
>>>y=set('google')
>>>x,y
(set(['b','r','u','o','n']),set(['e','o','g','l']))# 重復的被刪除
>>>x&y ? ? ? ? ? ? ? ? # 交集
set(['o'])
>>>x|y ? ? ? ? ? ? ? ? ? ?# 并集
set(['b','e','g','l','o','n','r','u'])
>>>x-y ? ? ? ? ? ? ? ? ? ? ? # 差集
set(['r','b','u','n'])
>>>