函數出現的意義
為了避免重複造輪子 是以出現了函數 就是把某一特定的功能封裝起來
def my_func(li): def為關鍵字 定義函數 my_func 為函數名命名和 變量命名一樣
for i in li:
count+=1
return count return 把傳回值賦給 函數的調用者 如果傳回值沒有則 函數調用者的傳回值為None 如果傳回值有好多個則,函數 調用傳回值為多個值組成的元祖
my_func() 執行函數
函數的傳參
函數的傳參數分為兩個大類
def my_len(li): 這裡的li就是形參
for i li:
count+=1
my_len()
s = 'edeffaf'
print(my_len(s)) 這裡的s就是實參
從實參的角度來看有這麼幾個特征
1,位置傳參 一一對應 按順序 2,關鍵字傳參 一一對應 可以不按順序 3,混合傳參 關鍵字傳參 永 遠在位置傳參後面
位置傳參
def re(a,b,c):
print(a)
print(b)
print(c)
re(3,24,2)
關鍵字傳參
def re(a,b,c):
print(a)
print(b)
print(c)
re(b=24,a= 234,c = 2)
def compare(a,b):
return a if a>b else b
print(comapare(b = 300,a = 200))
混合傳參 關鍵字傳參永遠在後面
def re(a,b,c,d,e):
print(a)
print(b)
print(c)
print(d)
print(e)
re(1,9,d=23,e=24,c = 2)
從形參的角度來看有這麼幾個特征
1,位置傳參 按順序一一對應 2,預設傳參 傳參則覆寫 否則就不覆寫 預設傳參永遠在位置傳參後面
位置傳參
def re(a,b,c):
print(a)
print(b)
print(c)
re(3,24,2)
預設傳參
def func(a,b=23):
print(a,b)
func(66)
def info(name,sex='男'):
with open ('name_list',encoding="utf-8",mode='a') as f1:
f1.write('{}\t{}\n'.format(name,sex))
while True:
name = input("請輸入:男生以1開頭").strip()
if '1' in name:
name = name[1:]
info(name)
else:
info(name,'女')