python 之內置模組

2021-10-25 22:36:55 字數 1366 閱讀 1901

裝飾器

def trace(func):

result = func(*args, **kwargs)

print('%s(%r, %r) -> %r' % (func.__name__, args, kwargs, result))

return result

@trace

# 裝飾器含義就是 fibonacci = trace(fibonacci)

def fibonacci(n):

"""返回第 n 個斐波那契數字。"""

if n in (0, 1):

return n

return (fibonacci(n-2) + fibonacci(n-1))

fibonacci(3)

>>>

fibonacci((1,), {}) -> 1

fibonacci((0,), {}) -> 0

fibonacci((1,), {}) -> 1

fibonacci((2,), {}) -> 1

fibonacci((3,), {}) -> 2

print(fibonacci)

>>>

等需要使用內省機制

的那些工具來說,這樣的行為會干擾它們的正常運作。會使help函式失效:help(fibonacci)。

from functools import *

def trace(func):

@wraps(func)

result = func(*args, **kwargs)

print('%s(%r, %r) -> %r' % (func.__name__, args, kwargs, result))

return result

@trace

# 裝飾器含義就是 fibonacci = trace(fibonacci)

def fibonacci(n):

"""返回第 n 個斐波那契數字。"""

if n in (0, 1):

return n

return (fibonacci(n-2) + fibonacci(n-1))

print(fibonacci)

>>>

help(fibonacci)

>>>

help on function fibonacci in module __main__:

fibonacci(n)

返回第 n 個斐波那契數字。

python學習之內置模組的使用

time模組 datetime模組 時間計算 random模組 生成隨機數 os模組 提供對作業系統呼叫的介面 sys模組 提供對直譯器的相關操作 shutil模組 高階的檔案,資料夾,壓縮包處理模組 shelve模組 乙個簡單的k,v將記憶體資料通過檔案持久化的模組 logging模組 用於記錄日...

Python3之內置模組collections

collections是python內建的乙個集合模組,提供了許多有用的集合類。namedtuple 我們知道tuple可以表示不可變集合,例如,乙個點的二維座標可以表示成 p 1,2 但是,看到 1,2 很難看出這個tuple是用來表示乙個座標的。定義乙個class又小題大做了,這時,namedt...

python之內置函式

非空即真,非0即真 記住這句話可以讓你少寫好多 l asdfgwert3r 1 sorted l 排序 字串可以直接使用sorted排序 2 all 如果list裡面都為真的情況返回為 true all 1 2,3 4 print true all 1 2,3 0 print false all 1...