文檔字符串:在函數中寫文檔
def square(x): "document strings" return x * x可以如下顯示
PRint(square.__doc__)
help(square)
example:
def func(posParam, keyParam=defaultValue, *posColParam, **keyColParam): print(posParam) print(keyParam) print(posColParam) # as tuple print(keyColParam) # as dictexample:
def print_params(x, y, z = 3, *pospar, **keypar): print(x, y, z) print(pospar) print(keypar)print_params(1,2,3, 5,6,7, foo=1,bar=2)屏蔽(shadowing)
對于同名變量,局部變量能屏蔽(shadow)全局變量
globals()獲取全局變量的值,聲明此變量是全局變量可以使用關鍵字global
vars()是globals()的近親函數locals()是聲明此變量時局部變量mint:按照理解應該是獨立的內存空間或者stack吧
全局作用域局部作用域作用域可以嵌套閉包(closure):函數存儲于封閉作用域的行為
def Multiplier(factor): def MultiplierByFactor(number): return number * factor return MultiplierByFactornonlocal()對外部作用域(非全局作用域)的變量進行賦值遞歸的定義:引用自身
recursion
: please see the definition recursion
注意避免寫出沒有邊界條件的infinite recursion
否則會產生“超過最大遞歸深度”的錯誤
一般函數
sum(seq) # 返回seq中所有元素和apply(func[, args[, kwargs] ] ) # 調用函數,可以提供參數新聞熱點
疑難解答