1. 程式人生 > >Python 3 學習(二)—— 常用內建函式(網上收集整理)

Python 3 學習(二)—— 常用內建函式(網上收集整理)

文章目錄

輸入輸出

  1. print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False) 列印輸出。print 在 Python3.x 是一個函式,但在 Python2.x 版本不是一個函式,只是一個關鍵字。
  2. input([prompt]) 如果存在 prompt 實參,則將其寫入標準輸出,末尾不帶換行符。接下來,該函式從輸入中讀取一行,將其轉換為字串(除了末尾的換行符)並返回。當讀取到 EOF 時,則觸發 EOFError

數學運算

  1. abs(x) 返回一個數的絕對值。實參可以是整數或浮點數。如果實參是一個複數,返回它的模。
  2. divmod(a, b) 它將兩個(非複數)數字作為實參,並在執行整數除法時返回一對商和餘數。對於混合運算元型別,適用雙目算術運算子的規則。
    • 對於整數,結果和 (a // b, a % b) 一致。
    • 對於浮點數,結果是 (q, a % b)q 通常是 math.floor(a / b) 但可能會比 1 小。
    • 在任何情況下, q * b + a % ba 基本相等;如果 a % b 非零,它的符號和 b 一樣,並且 0 <= abs(a % b) < abs(b)
  3. max(iterable, *[, key, default]) / max(arg1, arg2, *args[, key]) 返回可迭代物件中最大的元素,或者返回兩個及以上實參中最大的。
  4. min(iterable, *[, key, default]) / min(arg1, arg2, *args[, key]) 返回可迭代物件中最小的元素,或者返回兩個及以上實參中最小的。
  5. pow(x, y[, z]) 返回 xy 次冪;如果 z 存在,則對 z 取餘(比直接 pow(x, y) % z計算更高效)。兩個引數形式的 pow(x, y) 等價於冪運算子: x**y
  6. round(number[, ndigits]) 對浮點數進行四捨五入求值。如果可選引數省略或為None,則返回其輸入的最接近的整數。
  7. sum(iterable[, start]) 對可迭代物件求和。可選引數為指定相加的引數,如果沒有設定這個值,預設為0。

型別轉換

  1. class bool([x]) 將給定引數轉換為布林型別,如果沒有引數,返回 False。
  2. class int([x]) / class int(x, base=10) 返回一個使用數字或字串 x 生成的整數物件,或者沒有實參的時候返回 0 。如果 x 不是數字,或者有 base 引數,x 必須是字串、bytes、表示進製為 base 的 整數文字 的 bytearray 例項。該文字前可以有 +- (中間不能有空格),前後可以有空格。
  3. class float([x]) 返回從數字或字串 x 生成的浮點數。
  4. class str(object='') / class str(object=b'', encoding='utf-8', errors='strict') 返回一個 str 版本的 object
  5. bin(x) / oct(x) / hex(x) 將一個十進位制數字轉化成一個二進位制 / 八進位制 / 十六進位制數字的字串。
  6. chr(i) 返回 Unicode 碼位為整數 i 的字元的字串格式。例如,chr(97) 返回字串 'a'chr(8364) 返回字串 '€'。這是 ord() 的逆函式。
  7. ord() 對錶示單個 Unicode 字元的字串,返回代表它 Unicode 碼點的整數。例如 ord('a') 返回整數 97ord('€') (歐元符號)返回 8364 。這是 chr() 的逆函式。
  8. class list([iterable]) 將元組或字串轉換為列表。
  9. tuple([iterable]) 將列表轉換為元組。
  10. class dict(**kwarg) / class dict(mapping, **kwarg) / class dict(iterable, **kwarg) 建立一個新的字典。
  11. class set([iterable]) 建立一個無序不重複元素集,可進行關係測試,刪除重複資料,還可以計算交集、差集、並集等。

序列操作

  1. all(iterable) 如果 iterable 的所有元素為真(或迭代器為空),返回 True

  2. any(iterable) 如果iterable 的任一元素為真則返回 True 。如果迭代器為空,返回 False

  3. len(s) 返回物件的長度(元素個數)。實參可以是序列(如 string、bytes、tuple、list 或 range 等)或集合(如 dictionary、set 或 frozen set 等)。

  4. sorted(iterable, *, key=None, reverse=False) 對所有可迭代的物件進行排序操作,返回重新排序的列表。

  5. reversed(seq) 返回一個反轉的迭代器。

  6. class slice(stop) / class slice(start, stop[, step]) 返回一個切片物件,主要用在切片操作函式裡的引數傳遞。

  7. zip(*iterables) 將可迭代的物件作為引數,將物件中對應的元素打包成一個個元組,然後返回由這些元組組成的物件,這樣做的好處是節約了不少的記憶體。
    如果各個迭代器的元素個數不一致,則返回列表長度與最短的物件相同,利用 * 號操作符,可以將元組解壓為列表。

  8. range(stop) / range(start, stop[, step]) 返回的是一個可迭代物件(型別是物件),而不是列表型別, 所以列印的時候不會列印列表。

    • Python3 list() 函式是物件迭代器,可以把 range() 返回的可迭代物件轉為一個列表,返回的變數型別為列表。
    • Python2 range() 函式返回的是列表。
  9. 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')] 
    

函式操作

  1. 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]
    
  2. filter(function, iterable) 返回 iterable 中執行函式 function 之後返回真的那些元素,構建一個新的迭代器。

    • iterable 可以是一個序列,一個支援迭代的容器,或一個迭代器。
    • 如果 functionNone ,則會假設它是一個身份函式,即 iterable 中所有返回假的元素會被移除。
    • 請注意, filter(function, iterable) 相當於一個生成器表示式,當 function 不是 None 的時候為 (item for item in iterable if function(item))functionNone 的時候為 (item for item in iterable if item)
  3. exec(object[, globals[, locals]]) 這個函式支援動態執行 Python 程式碼。object 必須是字串或者程式碼物件。詳情參考

Python 3 所有內建函式

完整的在這裡,用到了會繼續補充。