1、做用域python
在python中,做用域分爲兩種:全局做用域和局部做用域。express
全局做用域是定義在文件級別的變量,函數名。而局部做用域,則是定義函數內部。函數
關於做用域,咱們要理解兩點:spa
a.在全局不能訪問到局部定義的變量對象
b.在局部可以訪問到全局定義的變量,可是不能修改全局定義的變量(固然有方法能夠修改)內存
例子1:作用域
x = 1
def funx():
x = 10
print(x) # 打印出10io
funx()
print(x) # 打印出1class
例子2:效率
x = 1
def funx():
print(x) # 打印出1
funx()
print(x) # 打印出1
所以,關於做用域的問題,只須要記住兩點就行:
全局變量可以被文件任何地方引用,但修改只能在全局進行操做;若是局部沒有找到所需的變量,就會往外進行查找,沒有找到就會報錯。
2、匿名函數
python 使用 lambda 來建立匿名函數。
lambda這個名稱來自於LISP,而LISP則是從lambda calculus(一種符號邏輯形式)取這個名稱的。
在Python中,lambda做爲一個關鍵字,做爲引入表達式的語法。想比較def函數,lambda是單一的表達式,而不是語句塊!
所謂匿名,意即再也不使用 def 語句這樣標準的形式定義一個函數。
語法
lambda 函數的語法只包含一個語句,以下:
lambda [arg1 [,arg2,.....argn]]:expression
# lambda 參數列表:return [表達式] 變量
# 因爲lambda返回的是函數對象(構建的是一個函數對象),因此須要定義一個變量去接收
例子:
sum=lambda x , y : x+y
print sum(1,2)
3、高級函數
4、通常方法,靜態方法,動態方法的區別
5、re庫