python 內建函式Built-in Functions

weixin_33724059發表於2018-01-30

python 內建函式文件連結

嘗試將python的內建函式進行解釋及分類

內建函式分類
反射操作 在執行狀態中,對於任意一個類,都能夠知道這個類的所有屬性和方法;對於任意一個物件,都能夠呼叫它的任意一個方法和屬性
__import__() 匯入模組 __import__('sys').path
isinstance() 判斷物件是否是某個類的例項 isinstance('abc', str) = True
issubclass() 判斷物件是否是某個類的子類的例項 issubclass(str, str) = True
hasattr() 判斷物件是否含有某個屬性 hasattr(str, 'join') # ''.join([1, 2])
getattr() 獲取物件的某個屬性 getattr(str, 'join')
setattr() 設定物件的某個屬性 setattr(p, 'name', 'xiaoming')
delattr() 刪除物件的某個屬性 delattr(p, 'name')
callable() 檢測物件是否可被呼叫 callable(str) = True
變數操作
globals() 回當前作用域內的全域性變數和其值組成的字典 globals()
locals() 返回當前作用域內的區域性變數和其值組成的字典 locals()
互動操作
print() 向標準輸出物件列印輸出 print('123')
input() 讀取使用者輸入值 p = input()
檔案操作
open() 開啟某個檔案 with open('/test.txt', 'rb') as f
編譯執行
compile() 將字串編譯為程式碼或者AST物件,使之能夠通過exec語句來執行或者eval進行求值 compile('1+2', '', 'eval')
eval() 執行動態表示式求值 eval('1+2+3+4') = 10
exec() 執行動態語句塊 exec('p=2+3') print(p) # 5
repr() 返回一個物件的字串表現形式(給直譯器) repr(str)
裝飾器
property() 標示屬性的裝飾器 @property
classmethod() 類方法的裝飾器 @classmethod
staticmethod() 靜態方法的裝飾器 @staticmethod
序列操作
all() 判斷物件內部所有元素是否全部不為False all([1, 2, 3, 0]) = False
any() 判斷物件內部是否有元素不為False any([0, 0, 0, 0, 1]) = True
filter() 用一個函式作用於可迭代物件的每一個元素,篩選出一個新的迭代器 list(filter(lambda p:p <3, [1, 2, 3])) = [1, 2]
next() 返回可迭代物件的下一個元素,沒有會報錯 next(iter([1, 2, 3])) = 1
map() 用一個函式作用於可迭代物件的每一個元素,生成一個新的迭代器 list(map(lambda p:p**2, [1, 2, 3])) = [1, 4, 9]
sorted() 陣列排序,可傳入一個key函式作為判斷 sorted(['2', '1', '3'], key=int, reverse=True) = ['3', '2', '1']
reversed() 倒序 list(reversed(['2', '1', '3'])) = ['3', '1', '2']
zip() 元組操作 list(zip([1, 2, 3], [1, 2, 3])) = [(1, 1), (2, 2), (3, 3)]
物件操作
help() 獲取物件的幫助資訊 help(str)
id() 獲取物件的唯一識別符號 id('123')
dir() 返回物件的或者當前作用域內的屬性列表 dir(str)
hash() 獲取物件的雜湊值 hash('123')
vars() 返回當前作用域內的區域性變數和其值組成的字典,或者返回物件的屬性列表 vars()
ascii() 返回物件的可列印表字串表現方式 ascii('簡書') = '\u7b80\u4e66'
type() 返回物件的型別,或者根據傳入的引數建立一個新的型別 Person = type('Person', (), {'name':'python ~'}) p = Person() p.name
len() 獲取物件的長度 len('123') = 3
format() 格式化顯示值 format(123, 'b') = 1111011
數值計算
abs() 絕對值函式 abs(-1) = 1
divmod() 除餘函式 divmod(11,3) = 3(整除數),2(餘數)
pow() 函式 pow(2, 3) = 2**3 = 8
max() 最大值函式 max([(1, 2), (2, 3), (3, 1)], key=lambda p:p[1]) = (2,3)
min() 最小值函式 min([(1, 2), (2, 3), (3, 1)], key=lambda p:p[1]) = (3,1)
sum() 求和函式 sum([1, 2, 3]) = 6
round() 四捨五入函式 round(1.12345, 3) = 1.123 # 第二個引數為位數約束
型別轉換
bool() 轉換為bool bool('') = bool(0) = bool(False) = False
bytearray() 轉換為位元組陣列 bytearray('位元組', encoding='utf8')
bytes() 轉換為不可變位元組陣列 bytes('位元組', encoding='utf8')
float() 轉換為float float(1) = 1.o
int() 字串或者浮點數轉換為int int(10.0) = int('10') = 10
hex() 由其他進位制轉換為十六進位制 hex(10) = oxa
oct() 由其他進位制轉換為八進位制 oct(16) = 0o20
bin() 由其他進位制轉換為二進位制 bin(8) = 0b1000
complex() 由其他進位制或字串轉換為複數 complex('1+2j') = complex(1+2j) = (1+2j)
chr() 數字轉換為unicode chr(48) = 0
ord() unicode字串轉換為數字 ord('0') = 48
str() 建立一個新的str物件 str(123) = '123'
list() 建立一個新的list物件 list([1, 2, 3]) = [1, 2, 3]
object() 建立一個新的object物件 obj = object()
tuple() 建立一個新的tuple物件 tuple([1, 2, 3] = (1,2, 3)
set() 建立一個新的set物件 set(range(3)) = {0, 1, 2}
memoryview() 建立一個新的記憶體檢視物件 memoryview(b'1234')[0] = 49 傳入引數必須為byte-like型別,返回為unicode迭代器
dict() 建立一個新的dict物件 dict({'0':0}) = {'0': 0}
frozenset() 建立一個新的不可變集合 frozenset([1, 2, 3]) = frozenset({1, 2, 3})
enumerate() 建立一個列舉物件 enumerate([1, 2, 3, 4]) 迭代器返回為(index, item)
range() 建立一個新的range物件 range(start, stop, step)
iter() 建立一個新的可迭代物件 iter([1, 2, 3]).__next__() = 1
slice() 建立一個新的切片物件 list[slice(start, stop, step)]
super() 建立一個新的子類和父類關係的代理物件 super().__init__()
Built-in Functions
abs() dict() help() min() setattr()
all() dir() hex() next() slice()
any() divmod() id() object() sorted()
ascii() enumerate() input() oct() staticmethod()
bin() eval() int() open() str()
bool() exec() isinstance() ord() sum()
bytearray() filter() issubclass() pow() super()
bytes() float() iter() print() tuple()
callable() format() len() property() type()
chr() frozenset() list() range() vars()
classmethod() getattr() locals() repr() zip()
compile() globals() map() reversed() __import__()
complex() hasattr() max() round()
delattr() hash() memoryview() set()

相關文章