您好,登錄后才能下訂單哦!
v = #真為前面值 if 條件 else #假為后面的值
先做出來在想如何讓簡化
函數式編程:
本質:將多行代碼拿到別處,起個別名,以后通過這個名字執行
場景:代碼的重復執行
? 代碼特別多,進行分割
def 函數名():
#函數內容
pass
#函數的執行
#函數名()
#注意:函數如果不調用,內部代碼永遠不會執行
def hanshuming(aaa):形式參數
v = (22,3,4,5)
print(v[aaa])
pass
hanshu(1)實際參數
實例:
info = [11,22,44,555,666,]
def gg(s):
c = 0
for i in s:
c += i
print(c)
pass
gg([11,33,44,555,666,7777,])
def hanshuming(a1,a2):位置參數
print(a1,a2)
pass
hanshu(1,2)#嚴格按照位置傳參a1等于1,a2等于2,不能多傳也不能少傳
def hanshuming(a1,a2)#形式參數
print(a1,a2)
pass
hanshu(a1=1,a2=2)關鍵字傳參,位置就可以改變
def hanshuming(a1,a2,a3)#形式參數
print(a1,a2,a3)
pass
hanshuming(1,2,a3=9)
def funt(a1,a2=9):#實例中a2=9就是默認參數的
pass
#a2=9表示這個參數可傳可不傳,不傳默認就是9
def hanshuming(*args)#*萬能參數
print(*args)
pass
hanshuming(1,2,9,33,"eee")#輸出(1,2,9,33,"eee"),能夠接受n個參數
def hanshuming(*args)#*可以接受任意位置傳參并轉化為元組
print(*args)
pass
hanshuming((1,2,9,33,"eee"))#輸出((1,2,9,33,"eee")),能夠打散循環到*args參數
hanshuming(*(1,2,9,33,"eee"))#輸出(1,2,9,33,"eee"),能夠打散循環到*args參數
*args不支持關鍵字傳參
def hanshuming(**kwargs)#可以接受任意關鍵字傳參并轉化為字典
print(**kwaras)
pass
print(k=2)#輸出{"k":2}
hanshuming (**{1:2,2:3})#輸出{1:2,2:3}
#注意*args**kwargs可以組合使用
def hanshuming(*arge,**kwargs)
print(*arge,**kwargs)
pass
print(2,3,4,5,6,7,k=2,r=3,t=5,)
def fff(age):
#一系列代碼
return 9 #返回值為9,不定義默認none代表沒有返回值
val = fff("")
#函數在執行過程中,遇到return就不執行
#return能夠返回任意返回
#return 5,8,"asd" 返回元組
實例:
def ll():
with open("1.txt",mode="r",encoding="utf-8") as f:
s = []
e = f.read().split("\n")
for i in range(len(e)):
r = e[i].split("|")
s.append(r)
return s
pass
一個py文件就是一個全局作用域,一個函數就是一個局部作用域
a = 1
def s1():#函數就是在全局域中的局部域
x1 = 666
print(x1)
print(a)
print(a)
s1()
作用域查找數據規則:優先在自己作用域找,自己沒有去父級作用域找
x = 10
def func():#在自己域內找不到x參數對應值會去父級目錄尋找
print(x)
func()
子作用域中只能去父級查找,默認不能重新為父級變量賦值。但是找到對可變類型可以修改
如果非要對全局變量重新賦值需要使用global
name = "fmx"
def ii():
global name
name = "alex"
ii()
print(name)#輸出alex
如果要對上級變量做修改需要使用nonlocal
name = "fmx"
def ii():
name = "alex"
def jj()
nonlocal name
name = "hhh
print(name)
ii()
print(name)#輸出hhh,fmx
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。