標籤:學習 rgs 作用 hand 速度 代碼 學習筆記 *args 程式
字典
特性:
- 無順序
- 去重
- 查詢速度快,比列錶快多了
- 比list佔用記憶體多
函數
非固定參數:
若你的函數在定義時不確定使用者想傳入多少個參數,就可以使用非固定參數
def stu_register(name,age,*args): # *args 會把多傳入的參數變成一個元組形式 print(name,age,args) stu_register("Alex",22)#輸出#Alex 22 () #後面這個()就是args,只是因為沒傳值,所以為空白 stu_register("Jack",32,"CN","Python")#輸出# Jack 32 (‘CN‘, ‘Python‘)
還可以有一個**kwargs
def stu_register(name,age,*args,**kwargs): # *kwargs 會把多傳入的參數變成一個dict形式 print(name,age,args,kwargs) stu_register("Alex",22)#輸出#Alex 22 () {}#後面這個{}就是kwargs,只是因為沒傳值,所以為空白 stu_register("Jack",32,"CN","Python",sex="Male",province="ShanDong")#輸出# Jack 32 (‘CN‘, ‘Python‘) {‘province‘: ‘ShanDong‘, ‘sex‘: ‘Male‘}
全域變數與局部變數:
在子程式中定義的變數稱為局部變數,在程式的一開始定義的變數稱為全域變數。全域變數範圍是整個程式,局部變數範圍是定義該變數的子程式。當全域變數與局部變數同名時:在定義局部變數的子程式內,局部變數起作用;在其它地方全域變數起作用。 匿名函數:不需要顯示的指定函數
#這段代碼def calc(n): return n**nprint(calc(10)) #換成匿名函數calc = lambda n:n**nprint(calc(10))
res = map(lambda x:x**2,[1,5,7,4,8])for i in res: print(i)
python學習筆記——Day 3