Python 3 學習(二)—— 常用內建函式(網上收集整理)
文章目錄
輸入輸出
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
列印輸出。print 在 Python3.x 是一個函式,但在 Python2.x 版本不是一個函式,只是一個關鍵字。input([prompt])
如果存在prompt
實參,則將其寫入標準輸出,末尾不帶換行符。接下來,該函式從輸入中讀取一行,將其轉換為字串(除了末尾的換行符)並返回。當讀取到 EOF 時,則觸發EOFError
數學運算
abs(x)
返回一個數的絕對值。實參可以是整數或浮點數。如果實參是一個複數,返回它的模。divmod(a, b)
它將兩個(非複數)數字作為實參,並在執行整數除法時返回一對商和餘數。對於混合運算元型別,適用雙目算術運算子的規則。- 對於整數,結果和
(a // b, a % b)
一致。 - 對於浮點數,結果是
(q, a % b)
,q
通常是math.floor(a / b)
但可能會比1
小。 - 在任何情況下,
q * b + a % b
和a
基本相等;如果a % b
非零,它的符號和b
一樣,並且0 <= abs(a % b) < abs(b)
- 對於整數,結果和
max(iterable, *[, key, default]) / max(arg1, arg2, *args[, key])
返回可迭代物件中最大的元素,或者返回兩個及以上實參中最大的。min(iterable, *[, key, default]) / min(arg1, arg2, *args[, key])
返回可迭代物件中最小的元素,或者返回兩個及以上實參中最小的。pow(x, y[, z])
返回x
的y
次冪;如果z
存在,則對z
取餘(比直接pow(x, y) % z
計算更高效)。兩個引數形式的pow(x, y)
等價於冪運算子:x**y
round(number[, ndigits])
對浮點數進行四捨五入求值。如果可選引數省略或為None,則返回其輸入的最接近的整數。sum(iterable[, start])
對可迭代物件求和。可選引數為指定相加的引數,如果沒有設定這個值,預設為0。
型別轉換
class bool([x])
將給定引數轉換為布林型別,如果沒有引數,返回 False。class int([x]) / class int(x, base=10)
返回一個使用數字或字串x
生成的整數物件,或者沒有實參的時候返回0
。如果x
不是數字,或者有base
引數,x
必須是字串、bytes、表示進製為base
的 整數文字 的bytearray
例項。該文字前可以有+
或-
(中間不能有空格),前後可以有空格。class float([x])
返回從數字或字串x
生成的浮點數。class str(object='') / class str(object=b'', encoding='utf-8', errors='strict')
返回一個str
版本的object
。bin(x) / oct(x) / hex(x)
將一個十進位制數字轉化成一個二進位制 / 八進位制 / 十六進位制數字的字串。chr(i)
返回 Unicode 碼位為整數 i 的字元的字串格式。例如,chr(97)
返回字串'a'
,chr(8364)
返回字串'€'
。這是ord()
的逆函式。ord()
對錶示單個 Unicode 字元的字串,返回代表它 Unicode 碼點的整數。例如ord('a')
返回整數97
,ord('€')
(歐元符號)返回8364
。這是chr()
的逆函式。class list([iterable])
將元組或字串轉換為列表。tuple([iterable])
將列表轉換為元組。class dict(**kwarg) / class dict(mapping, **kwarg) / class dict(iterable, **kwarg)
建立一個新的字典。class set([iterable])
建立一個無序不重複元素集,可進行關係測試,刪除重複資料,還可以計算交集、差集、並集等。
序列操作
-
all(iterable)
如果iterable
的所有元素為真(或迭代器為空),返回True
。 -
any(iterable)
如果iterable
的任一元素為真則返回True
。如果迭代器為空,返回False
。 -
len(s)
返回物件的長度(元素個數)。實參可以是序列(如 string、bytes、tuple、list 或 range 等)或集合(如 dictionary、set 或 frozen set 等)。 -
sorted(iterable, *, key=None, reverse=False)
對所有可迭代的物件進行排序操作,返回重新排序的列表。 -
reversed(seq)
返回一個反轉的迭代器。 -
class slice(stop) / class slice(start, stop[, step])
返回一個切片物件,主要用在切片操作函式裡的引數傳遞。 -
zip(*iterables)
將可迭代的物件作為引數,將物件中對應的元素打包成一個個元組,然後返回由這些元組組成的物件,這樣做的好處是節約了不少的記憶體。
如果各個迭代器的元素個數不一致,則返回列表長度與最短的物件相同,利用*
號操作符,可以將元組解壓為列表。 -
range(stop) / range(start, stop[, step])
返回的是一個可迭代物件(型別是物件),而不是列表型別, 所以列印的時候不會列印列表。- Python3
list()
函式是物件迭代器,可以把range()
返回的可迭代物件轉為一個列表,返回的變數型別為列表。 - Python2
range()
函式返回的是列表。
- Python3
-
enumerate(iterable, start=0)
返回一個列舉物件。iterable
必須是一個序列,或iterator
,或其他支援迭代的物件。enumerate()
返回的迭代器的__next__()
方法返回一個元組,裡面包含一個計數值(從start
開始,預設為 0)和通過迭代iterable
獲得的值。>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter'] >>> list(enumerate(seasons)) [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')] >>> list(enumerate(seasons, start=1)) [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
函式操作
-
map(function, iterable, ...)
產生一個將function
應用於迭代器中所有元素並返回結果的迭代器。
如果傳遞了額外的iterable
實參,function
必須接受相同個數的實參,並使用所有迭代器中並行獲取的元素。當有多個迭代器時,最短的迭代器耗盡則整個迭代結束。def square(x): return x ** 2 list(map(square, [1, 2, 3, 4, 5])) >>> [1, 4, 9, 16, 25] def lambda(x, y): return x + y list(map(lambda, [1, 2, 3, 4, 5], [10, 20, 30])) >>> [11, 22, 33]
-
filter(function, iterable)
返回iterable
中執行函式function
之後返回真的那些元素,構建一個新的迭代器。iterable
可以是一個序列,一個支援迭代的容器,或一個迭代器。- 如果
function
是None
,則會假設它是一個身份函式,即iterable
中所有返回假的元素會被移除。 - 請注意,
filter(function, iterable)
相當於一個生成器表示式,當function
不是None
的時候為(item for item in iterable if function(item))
;function
是None
的時候為(item for item in iterable if item)
。
-
exec(object[, globals[, locals]])
這個函式支援動態執行 Python 程式碼。object
必須是字串或者程式碼物件。詳情參考。
Python 3 所有內建函式
完整的在這裡,用到了會繼續補充。