Python 入門 04 —— Python的常用函數

一、轉換
bin(x) ———— 將x看作十進制數,然後轉換成二進制數。例如:print(bin(1025)) # 0b10000000001
oct(x) ———— 將x看作十進制數,然後轉換成八進制數。例如:print(oct(1025)) # 0o2001
hex(x) ———— 將x看作十進制數,然後轉換成十六進制數。例如:print(hex(1025)) # 0x401

int(x) ———— 取x的整數部分。例如:print(int(1234.5678)) # 1234
int(‘x’,d) ———— 將x看作d進制的數,然後轉換成十進行的數。例如:print(int(‘101’,8)) #:65

ord(‘x’) ———— 返回x的Unicode編碼。例如:print(ord(‘B’)) #66
chr(x) ———— 將x看作Unicode編碼,返回對應的字符。例如:print(chr(67)) #C
str(x) ———— 不論x是什麼,都將它轉換成字符串。例如:print(str([11,22,33])) #[11,22,33]

bool(x) ———— 取x的布爾值:True、或False。

1、“空”的布爾值均爲False:空類型、0、空字符串、空列表、字元組、空集合,例如:

print(bool(None))  #False
print(bool(0))  #False
print(bool(''))  #False
print(bool([]))  #False
print(bool(()))  #False
print(bool({}))  #False

2、邏輯判斷爲假的布爾值爲False,例如:

print(bool(11==33))  #False
print(bool(12>13))  #False

3、False的布爾值爲False:

print(bool(False))  #False

4、負數等爲True,例如:

print(bool(not None))  #True
print(bool(-1))  #True
print(bool('a'))  #True
print(bool([0]))  #True
print(bool((0,)))  #True (0)相當於0,元組僅有一個元素結尾須加逗號
print(bool({0}))  #True
print(bool(11!=33))  #True
print(bool(12<13))  #True
print(bool(True))  #True

5、變量沒有賦值、文件不存在等,不是返回False,而是直接報錯。

abs(x) ———— 返回x的絕對值,例如:
print(abs(12)) # 12
print(abs(0)) # 0
print(abs(-12)) # 12

float(x) ———— 將x轉換爲浮點數並返回,如果x本身爲浮點數,則什麼也不做,例如:
print(float(123)) # 123.0
print(float(’-123’)) # -123.0
print(float(123.6)) # 123.6

round(x,y) ———— 返回x四捨五入後的值,例如:
print(round(12.12345678)) # 12
print(round(12.12345678,3)) # 12.123
print(round(12.12345678,4)) # 12.1235
print(round(-12.12345678,5)) # -12.12346

pow(x,y) ———— 返回x的y次方,相當於 x**y,例如:print(pow(2,10)) # 1024

hash(x) ———— 返回x的哈希值,例如:print(hash(‘abcdefg’)) # 7728077216640607955

eval(exp) ———— 把exp作爲一名代碼進行運算,返回運算結果 # print(eval(‘pow(2,10)’)) # 1024

二、數據類型判斷
type(x) ———— 返回x的類型。例如:print(type(‘123’)) #<class ‘str’>

isinstance(x,t) ———— x是否爲t類型。。例如:print(isinstance(‘123’,str)) # True

三、針對對象的操作
id(obj) ———— 返回對象obj的標識,即內存地址。例如:print(id(123)) # 8791404434912

dir(obj) ———— 返回對象或模塊的成員列表。dir(模塊名),可以查看到模塊中定義的所有類、函數等。例如:
print(dir(123)) # [‘abs’, ‘add’, … ‘to_bytes’]
print(dir(‘collections’)) # [‘add’, ‘class’…‘iter’…‘zfill’]

hasattr(obj,attr) ———— 返回對象obj中有attr屬性則爲真,否則爲假,例如:
print(hasattr(123,‘abs’)) #False
print(hasattr(123,‘abs’)) # True
print(hasattr(123,‘iter’)) #False
print(hasattr(‘collections’,‘iter’)) # True

callable(obj) ———— 對象obj可調用返回真,否則爲假。對於函數、方法、lambda 函式、 類以及實現了 call 方法的類對象, 它都返回 True,其餘爲Flase。

四、針對可迭代對象的操作
all(iterable) ———— 可迭代對象中的元素有全爲真,則返回真,否則爲假,例如:
print(all([1,2,3,0,5,6])) #False

any(iterable) ———— 可迭代對象中的元素有一個爲真,則返回真,否則爲假,例如:
print(any([1,2,3,0,5,6])) #True

max(iterable) ———— 返回可迭代對象中的所有元素中數值最大的元素,例如:
print(max([1,2,3,0,5,6])) #6

min(iterable) ———— 返回可迭代對象中的所有元素中數值最小的元素,例如:
print(min([11,12,13,8,15,16])) #8

sum(iterable) ———— 返回可迭代對象中的所有元素的總和,例如:
print(sum([1,2,3,0,5,6])) #17

len(iterable) ———— 返回可迭代對象中的元素的個數,例如:
print(len([11,12,13,8,15,16])) #6

iter(iterable) ———— 將可迭代對象轉換爲迭代器對象,並返回,例如:
print(type([11,12,13])) # <class ‘list’>
print(type(iter([11,12,13]))) # <class ‘list_iterator’>

next(iter(iterable)) ———— 返回迭代器對象中的下一個元素,當參加爲非迭代器對象時報錯,例如:
print(next([11,12,13])) # TypeError: ‘list’ object is not an iterator

x=iter([11,12,13])
print(next(x)) # 11
print(next(x)) # 12
print(next(x)) # 13
print(next(x)) # 拋出異常:StopIteration

五、針對序列的操作
list(x) ———— 將x轉換爲列表,沒有參數,則返回空列表,例如:
print(list((1,2,3))) # [1, 2, 3]
print(list({4,5,6}))[4, 5, 6]
print(list()) # []

tuple(x) ———— 將x轉換爲元組,沒有參數,則返回空元組,例如:
print(tuple([1,2,3])) # (1, 2, 3)
print(tuple({4,5,6})) # (4, 5, 6)
print(tuple()) # ()

dict() ———— 創建一個字典。例如:
print(dict(a=‘11’,b=‘22’,c=‘33’)) # {‘a’: ‘11’, ‘b’: ‘22’, ‘c’: ‘33’}

set() ———— 創建一個集合。例如:
print(set([1,2,3])) # {1, 2, 3}
print(set((4,5,6))) # {4, 5, 6}

map(fun,seq) ———— 將seq中的每一個元素作爲參數代入fun中,返回fun每次的返回值組成的map對象。例如:
print(map(float,(11,22,33))) # <map object at 0x0000000001DC7220>
print(list(map(float,(11,22,33)))) # [11.0, 22.0, 33.0]

reduce(fun,seq) ———— 先從seq中取出第一、第二兩個元素作爲參數代入fun中進行運算,然後將函數返回值作爲第一個參數,從seq中取出第三個元素作爲第二個參數,再代入fun中進行運算,如此重複,直到seq的最後一個元素,返回最後一次的函數返回值。
第1次運算:fun(seq中第一元素,seq中第二元素)
第2次運算:fun(上一次運算結果,seq中第三元素)

第N次運算:fun(上一次運算結果,seq中第N+1元素)
返回第N次運算結果
例如:
from functools import reduce
print(reduce(pow,[2,1,2,3])) # 64

zip(seq1,seq2,…) ———— 從seq1,seq2,…中各取第一個元素組成第一個元組,各取第二個元素組成第二個無組,以此類推,返回由第一個元組、第二個元組…組成的zip對象。
print(zip([1,2,3],(4,5,6),{7,8,9})) # <zip object at 0x00000000024F4740>
print(list(zip([1,2,3],(4,5,6),{7,8,9}))) # [(1, 4, 8), (2, 5, 9), (3, 6, 7)]

range(start,end,step) ———— 返回一個從start(含,缺省爲0)開始,到end(不含)結束,間隔爲step(缺省爲1)的range對象,通常用在for循環語句中。例如:
print(list(range(9))) # [0, 1, 2, 3, 4, 5, 6, 7, 8]
print(list(range(3,9,2))) # [3, 5, 7]

sorted(seq,key=None,reverse=False) ———— 排序,例如:
print(sorted([2,5,7,6,1])) # [1, 2, 5, 6, 7]
print(sorted([2,5,7,6,1],key=None,reverse=True)) # [7, 6, 5, 2, 1]

reversed() ———— 逆序,返回逆序後的reversed對象,例如:
print(list(reversed([2,5,7,6,1]))) # [1, 6, 7, 5, 2]

filter(fun,seq) ———— 將seq中的每一個元素作爲參數代入fun中進行運算,把有有函數運算返回值爲真的元素組成一個列表,返回由這個列表構成的flilter對象,例如:
print(list(filter(round,[0.1,0.2,0.3,0.4,0.6,0.7,0.8,0.9]))) # [0.6, 0.7, 0.8, 0.9]

六、其它
exec(sentence) ———— 執行sentence中的所有語句,返回None。例如:exec(‘x=3; y=5; print(x+y+10)’) # 18

compile(sentence) ———— 將sentence編譯爲可讓eval()和exec()執行的字節代碼,返回complile對象。例如:
print(compile(‘x=3; y=5; print(x+y+10)’,’’,‘exec’)) # <code object at 0x00000000025A7A80, file “”, line 1>
exec(compile(‘x=3; y=5; print(x+y+10)’,’’,‘exec’)) # 18

open(filename) ———— 打開文件,返回文件對象。

help(obj) ———— 查看對象的幫助信息

input() ———— 等待輸入

print() ———— 顯示內容

七、所有內置函數

abs()		all()		any()		basestring()		bin()	bool()		bytearray()
callable()		chr()		classmethod()		cmp()		compile()		complex()
delattr()		dict()		dir()		divmod()		enumerate()		eval()		execfile()
file()		filter()		float()		format()		frozenset()		getattr()		globals()
hasattr()		hash()		help()		hex()		id()		input()		int()		isinstance()
issubclass()		iter()		len()		list()		locals()		long()		map()
max()		memoryview()		min()		next()		object()		oct()		open()
ord()		pow()		print()		property()		range()		raw_input()		reduce()
reload()		repr()		reverse()		round()		set()		setattr()		slice()
sorted()		staticmethod()		str()		sum()		super()		tuple()		type()
unichr()		unicode()		vars()		xrange()		zip()
__import__()		exec 內置表達式

———————————————— 本篇完 ————————————————

看完之後,麻煩您順手點擊下方 “點贊” 兩個字給我點個贊吧 ^-^ , 謝謝您了。

如果您還能像我小學一年級班主任好老師那樣,給我隨心寫上幾句表揚或批評的話語,那真是感激不盡!

在我人生的道路上,有了您的鼓勵和指導,我一定成長快快。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章