1. abs() 獲取絕對值python
>>> abs(-10) 10 >>> a = -10 >>> a.__abs__() 10
2. all() 參數爲可迭代對象,迭代對象爲空時,返回True.若是迭代對象的全部元素都爲真,那麼返回True,不然返回False.算法
all(['python',123]) --->True all([]) --->True all([0]) --->False all(" ") --->True all(1,' ',2,None) --->False
3.any() 參數爲可迭代對象,參數爲空時返回Trueshell
print(any([None,0,' ',{},1])) --->True print(any(' ')) --->True
4.sum() 求和app
>>> res = sum(i for i in range(5)) >>> print(res) 10
5.bin() 將參數轉化爲二進制less
>>> bin(3) '0b11' >>> bin(10) '0b1010'
6.bool() 布爾函數,返回bool值,False或True函數
>>> bool(3) True >>> bool(0) False >>> bool(None) False
7. ascii() 調用對象的__repr__()方法,得到該方法的返回值post
8.bytes() 將一個字符串轉化爲字節類型ui
>>> print(bytes('hello',encoding='utf-8')) b'hello
9.str() 將字符類型/數值類型等轉換爲字符串類型this
>> str(1) '1'
10.chr() 查看十進制數對應的ASCII字符spa
>>> chr(65) 'A' >>> chr(90) 'Z' >>> chr(97) 'a' >>> chr(122) 'z'
11.ord() 查看某個ASCII對應的十進制數
>>> ord('a') 97 >>> ord('A') 65
12.callabe() 判斷對象是否能夠被調用,能被調用的對象就是一個callables對象,好比函數和帶有__call__()的實例
13. classmethod() 用來指定一個方法爲類的方法,由類直接調用執行,只有一個cls參數,執行雷的方法時,自動將調用該方法的類賦值給cls.沒有此參數指定的類的方法爲實例方法
class Province: country = "中國" def __init__(self, name): self.name = name @classmethod def show(cls): # 類方法,由類調用,最少要有一個參數cls,調用的時候這個參數不用傳值,自動將類名賦值給cls print(cls) # 調用方法 Province.show()
14.complie() 將字符串編譯成python能識別或能夠執行的代碼,也能夠將文字讀成字符串再編譯
1
2
3
4
5
6
|
compile
(source, filename, mode, flags
=
0
, dont_inherit
=
False
, optimize
=
-
1
)
說明:
1.
將source編譯爲代碼或者AST對象。代碼對象可以經過
exec
語句來執行或者
eval
()進行求值。
2.
參數source:字符串或者AST(Abstract Syntax Trees)對象。即須要動態執行的代碼段。
3.
參數 filename:代碼文件名稱,若是不是從文件讀取代碼則傳遞一些可辨認的值。當傳入了source參數時,filename參數傳入空字符便可。
4.
參數mode:指定編譯代碼的種類,能夠指定爲 ‘
exec
’,’
eval
’,’single’。當source中包含流程語句時,mode應指定爲‘
exec
’;當source中只包含一個簡單的求值表達式,mode應指定爲‘
eval
’;當source中包含了交互式命令語句,mode應指定爲
'single'
。
|
#流程語句使用exec code1 = 'for i in range(10):print(i)' aa = compile(code1,'','exec') #source,filename,mode exec(aa) 結果: 0 1 2 3 4 5 6 7 8 9 #簡單求值表達式用eval code2 = "1+2+3+4" bb = compile(code2,'','eval') print(eval(bb)) 結果: 10 #交互語句用single code3 = "name = input('please input your name:')" cc = compile(code3,'','single') exec(cc) #執行時提示輸入name
15.complex()
1 建立一個值爲real + imag * j的複數或者轉化一個字符串或數爲複數。若是第一個參數是字符串,則不須要指定第二個參數。 2 參數real:int,long,float或字符串。 3 參數imag:int,long,float x=complex(1-2j) print(x.real) --->1.0 print(x.imag) --->2.0
16. delattr() 刪除對象的屬性
18. float() 講一個字符串或整數轉換爲浮點數
>>> print(float(1)) 1.0
19.list() 參數爲可迭代對象
20.tuple() 元組
21.dict() 建立數據字典
22.set() 集合
23.frozenset() 不可變集合
24.dir() 不帶參數時返回當前範圍內的變量,方法和定義的類型列表,帶參數時返回參數的屬性,方法列表
>>> dir() ['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__'] >>> dir(sum)#輸出sum下有哪些可被sum調用的方法。(對象.方法),sum.方法
25.divmod() 分別取商和餘數.二個參數x和y,輸出元組(x//y,x%y)
print(divmod(100,33)) --->(3,1)
26. enumerate() 返回一個能夠枚舉的對象,該對象的next()方法將返回一個元組
for i in enumerate(['a','b','c','d']): print(i)
結果: (0, 'a') (1, 'b') (2, 'c') (3, 'd')
27.eval() 將字符串str中的表達式提取出來並運行
s= "1 + 2 * 3" print(type(s)) print(eval(s)) 結果: <class 'str'> 7
28.exec() 執行字符串或complie方法編譯過的字符串,沒有返回值
exec函數和eval函數相似,也是執行動態語句,只不過eval函數只用於執行表達式求值,而exec函數主要用於執行語句塊。 >>> eval('a=1+2') #執行語句報錯 Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> eval('a=1+2') File "<string>", line 1 a=1+2 ^ SyntaxError: invalid syntax >>> exec('a=1+2') #執行語句 >>> a 3
29.filter() 過濾器,構造一個序列,等價於[ item for item in iterables if function(item)],在函數中設定過濾條件,逐一循環迭代器中的元素,將返回值爲True時的元素留下,造成一個filter類型數據
30.format() 格式化輸出字符串,format(value, format_spec)實質上是調用了value的__format__(format_spec)方法
>>> print("I am {0}, I like {1}".format("derek","python")) I am derek, I like python
31.getattr() 獲取對象的屬性
getattr(object, name [, defalut]) 獲取對象object名爲name的特性,若是object不包含名爲name的特性,將會拋出AttributeError異常;若是不包含名爲name的特性 且提供default參數,將返回default。 參數object:對象 參數name:對象的特性名 參數default:缺省返回值 print(getattr(list, 'append')) ---> <method 'append' of 'list' objects> mylist = [3, 4, 5] append(mylist, 6) print(mylist) --->[3, 4, 5, 6] print(getattr(list, 'add')) --->Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: type object 'list' has no attribute 'add' print(getattr(list, 'add', 'NoMethod')) ---> 'NoMethod'
32.globals() 返回一個描述當前全局變量的字典
33.hasattr()
hasattr(object,name) 判斷對象object是否包含名爲name的特性(hasattr是經過調用getattr(object,name))是否拋出異常來實現的。 參數object:對象 參數name:特性名稱 print(hasattr(list, 'append')) ---> True print(hasattr(list, 'add')) ---> False
34.hash() 哈希值
hash(object) hash是一種算法,二個數值相等hash值是肯定的惟一的,經常使用來校驗數據。<br>hash值不能逆推。 若是對象object爲哈希表類型,返回對象object的哈希值。哈希值爲整數,在字典查找中,哈希值用於快遞比價字典的鍵。 兩個數值若是相等,則哈希值也相等。
35.hex() 十進制轉化爲十六進制
>>> print(hex(10)) 0xa
36. id() 查看惟一標識的身份
37. help() 返回對象的幫助文檔
38. input() 獲取用戶輸入內容
39. isinstance() 檢查對象是不是類的對象,返回True或False
isinstance(obj, cls) 檢查obj是不是類cls的對象, 返回True 或 False class Foo(object): pass obj = Foo() isinstance(obj, Foo)
40. issubclass() 檢查一個類是不是另外一個類的子類。返回True或False
issubclass(sub, super) 檢查sub類是不是super類的派生類(子類)。返回True 或 False class Foo(object): pass class Bar(Foo): pass issubclass(Bar, Foo)
41. iter()
42. len() 返回對象長度,參數能夠是序列類型(字符串,元組或列表)或映射類型(如字典)
43. locals() 打印當前可用的局部變量的字典
44. lambda匿名函數
45. zip() ‘拉鍊’,一對一的
46. sorted() 返回列表,列表包含全部的元素,按升序排列
47. map() 映射,第一個參數爲函數,第二個參數爲可迭代對象
48.max() 返回給定元素裏最大值
49.min() 返回給定元素裏最小值
50.object()
1.獲取一個新的,無特性(geatureless)對象。Object是全部類的基類。它提供的方法將在全部的類型實例中共享。
2 該函數時2.2.版本新增,2.3版本以後,該函數不接受任何參數。
51.open() 打開文件
52.print() 輸出函數
53.range() 根據須要生成一個指定範圍的數字,能夠提供你須要的控制來迭代指定的次數
55. repr() 將任意值轉換爲字符串,供計時器讀取的形式
返回一個對象的字符串表示。有時可使用這個函數來訪問操做。
對於許多類型來講,repr()嘗試返回一個字符串,eval()方法可使用該字符串產生對象;
不然用尖括號括起來的,包含類名稱和其餘二外信息的字符串被返回。
57.round() 四捨六入五留雙,五留雙留離整數最近的偶數
print(round(10.3)) ----> 10 print(round(10.5)) ----> 10 print(round(10.6)) ----> 11 print(round(10.9)) ----> 11 print(round(11.5)) ----> 12
58.pow() 冪函數
>>> print(pow(3,3)) 27 >>> print(pow(2,5)) 32
59. reduce() 合併,第一個參數爲函數,第二個參數爲可迭代對象。第三個參數無關緊要,默認初始值。
60. filter 過濾
61.oct() 十進制轉化爲八進制
print(oct(10)) ---->0o12
62.slice 切片
l=[1,2,3,4,5] print(l[2:4]) --->[3,4] s=slice(2,4) print(l[s]) ---->[3,4]
63. vars 沒有參數時和locals()同樣,有參數獲得字典
64. __import__