python 內建函式Built-in Functions
嘗試將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__() |
相關文章
- LLVM編譯器中的內建(built-in)函式LVM編譯UI函式
- python 常用內建函式Python函式
- python內建函式——sortedPython函式
- Python內建函式示例Python函式
- python常用內建函式Python函式
- Python內建函式(一)Python函式
- Python內建函式(二)Python函式
- 1.5.5 Python內建函式Python函式
- Python 內建函式大全Python函式
- python高階內建函式Python函式
- python 66個內建函式Python函式
- python內建函式 map/reducePython函式
- python合集———內建函式合集Python函式
- python的部分內建函式Python函式
- 12.4、python內建函式—sortedPython函式
- 12.2、python內建函式—formatPython函式ORM
- python常見內建函式Python函式
- python內建函式-eval()函式與exec()函式的區別Python函式
- 內建函式函式
- Python分享之內建函式清單Python函式
- python-內建函式(搭配lambda使用)Python函式
- Python內建函式大全,快來看看!!Python函式
- Python 字串 String 內建函式大全(1)Python字串函式
- Python 字串 String 內建函式大全(2)Python字串函式
- python 內建函式簡單總結Python函式
- (十六)Python學習之內建函式Python函式
- Python補充03 Python內建函式清單Python函式
- Swift-函式(Functions)Swift函式Function
- webgl內建函式--通用函式Web函式
- Python 兩個內建函式: locals() 和 globals()Python函式
- Python中常用的內建函式input()、isinstance()Python函式
- Python 內建函式:——locals 和 globals介紹Python函式
- js內建函式JS函式
- php 內建函式PHP函式
- hive內建函式Hive函式
- MySQL 內建函式MySql函式
- 自定義生成器函式模擬Python內建函式filter()函式PythonFilter
- webgl內建函式--指數函式Web函式
- Python有哪些比較重要的內建函式?Python函式