1. 程式人生 > >python學習筆記——Day 3

python學習筆記——Day 3

calc return pro args 速度 lambda day 開始 class

字典

特性:

  1. 無順序
  2. 去重
  3. 查詢速度快,比列表快多了
  4. 比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