今天是學習python的第10天,主要學習的函式的引數傳遞相關知識,今日所學知識如下:
位置引數的動態引數 *args
程式
def
eat4
(a,b,
*c,d=7)
:print
(a, b, c, d)
eat4(1,
2,3,
4,4,
5,6)
#動態引數以元組形式出現
eat4(1,
2,3,
4,4,
5,6,d=
9)
執行結果
12(
3,4,
4,5,
6)71
2(3,
4,4,
5,6)
9
關鍵字引數的動態引數 **kwargs
順序:位置, *args, 預設值, **kwargs
在形參上*聚合,**打散
在實參上*打散,**打散
程式
def
eat5
(**food)
:print
(food)
eat5(good_food=
"公尺飯"
, bad_food=
"辣條"
, drink =
"冰封"
)#以字典形式出現
執行結果
a.命名空間:
內建命名空間:python直譯器內部執行時的變數函式,例如print()
全域性命名空間:我們在py檔案中直接宣告出來的變數,函式
區域性命名空間:在函式內部宣告的變數和函式
命名空間載入順序
內建 => 全域性 =>區域性
命名空間執行順序
與命名空間載入順序相反 區域性 => 全域性 =>內建
b.作用域
全域性作用域: 內建 + 全域性
區域性作用域
全域性/區域性作用域列印函式,檢視全域性/區域性作用域的名字
**global:**把全域性變數拿到區域性使用
程式
b =
10def
fun3()
:global b
b =30#把全域性a改為30
print
(b)fun3(
)print
(b)#全域性變數b已經被改為30
執行結果
30
30
n**onlocal**:把離他最近的向外一層變數拿過來,第一層沒有就取第二層
程式
deff1(
):c =
10deff2(
):c =
20#nonlocal c:找區域性作用域中離他向外最近的一層c
print
(c)#列印f2中的c
f2()print
(c)#列印f1中的c
f1()
*```
執行結果*
```python
1010
Python爬蟲day2 2 python函式詳解
1.認識python函式 函式的本質就是功能的封裝。使用函式可以大大提高程式設計的效率與程式的可讀性 2.區域性變數與全域性變數變數是有生效範圍的,這個生效範圍我們稱為作用域。作用域從變數出現開始到程式的最末的變數叫做全域性變數,作用域只在區域性的變數叫做區域性變數。3.函式引數使用詳解 函式的定義...
python學習筆記(二) python基礎函式
python之所以強大好用,離不開可以呼叫的各種庫,同時也和他自身函式相關,下面為學習python函式相關知識後整理知識點。1 python函式引數 python函式定義簡單但靈活度非常大。除正常定義的必選引數外,還可以使用預設引數,可變引數,關鍵字引數。預設引數 def power 5 x 2 在...
Python全棧學習筆記day 16 匿名函式
匿名函式 為了解決那些功能很簡單的需求而設計的一句話函式 這段 def calc n return n n print calc 10 換成匿名函式 下面給出了乙個關於匿名函式格式的說明 函式名 lambda 引數 返回值 引數可以有多個,用逗號隔開 匿名函式不管邏輯多複雜,只能寫一行,且邏輯執行結...