今日所學內容:# 位置引數 > *args > ,預設值引數 > **kwargs
def yana(*kind):
print(kind)
yana('黑蘭州','飛天蘭州','吉祥蘭州')
def yanb(**kind):
print(kind)
yanb(yan1='黑蘭州',yan2='飛天蘭州',yan3='吉祥蘭州')
def yanc(*k,**f):
print(k,f)
yanc('黑蘭州','飛天蘭州','吉祥蘭州',yan1='黑蘭州',yan2='飛天蘭州',yan3='吉祥蘭州')
1. 動態傳參
形參:1. 位置引數
2. 預設值引數
3. 動態傳參
1 *args: 動態接收位置引數
2 **kwargs:動態接收關鍵字引數
順序: 位置, *args, 預設值, **kwargs
*, **:
def func(*args, **kwargs): 無敵傳參
pass
*, ** 在形參位置: 聚合
在實參位置: 打散
實參:1. 位置引數
2. 關鍵字引數
3. 混合引數
2. 命名空間和作用域
命名空間: 儲存名字用的
變數, 函式, 類
1. 內建命名空間:python自己, print, input, len
2. 全域性命名空間: 你寫的**從上到下
3. 區域性命名空間: 函式, 類, 方法, 其他模組, 物件
作用域全域性作用域
內建 + 全域性
區域性作用域
區域性命名空間
從區域性找全域性可以. 但是從全域性找區域性是不可以的
globals() 檢視全域性作用域中的名字
locals() 檢視當前作用域中的名字
3. 函式的巢狀(難點)
每一層都會產生獨自的命名空間
4. nonlocal global
global: 在區域性引入全域性的內容, 可以昇華乙個變數為全域性變數
nonlocal : 在區域性, 引入上一層命名空間中的變數, 如果沒有, 繼續上一層......
python學習第十天
class student count 0 def init self,name,age,address self.name name self.age age self.address address student.count 1 k print k w open a.txt w encodin...
python學習第十天
這兩個習題主要是複習各種符號,並且強調編寫長 時要寫一段執行一段修改一段 主要是學習對列表的進一步操作 ten things stuff ten things.split 定義乙個字串變數 用split 函式以空格為分隔標誌分隔字串使之成為列表 more stuff day night song f...
學習第十天
一 介面 jdk1.8及之後新增了2中可以定義存在方法體的方法 預設方法 default關鍵字修飾的方法 使用 通過實現類物件使用 靜態方法 使用 通過介面名去呼叫 二 單例模式 保證類只能存在乙個例項 餓漢式 先建立物件,然後需要的人要這個物件,保證永遠使用的都是這個建立好的物件 執行緒安全的,效...