python學習筆記——Day 3
阿新 • • 發佈:2017-11-29
calc return pro args 速度 lambda day 開始 class
字典
特性:
- 無順序
- 去重
- 查詢速度快,比列表快多了
- 比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**n print(calc(10)) #換成匿名函數 calc = lambda n:n**n print(calc(10))
res = map(lambda x:x**2,[1,5,7,4,8]) for i in res: print(i)
python學習筆記——Day 3