函式是第一類物件
函式名可以當做值被賦值給變數
def func():
print(1)
return
a = func
print(func)
print(a)
a()
函式名可以當做元素存放在容器中:
def func():
print(1)
return
lst = [func,func,func]
for i in lst():
i()
函式名可以當做函式的引數
def func(f):
f()return
def foo():
print(123)
return
func(foo)
函式名可以當做函式的返回值
def func():
def foo():
print(123)
return
return foo
a = func()
a()
python3.6版本及以上可以使用
#填充字串
s = f"你好"
s1 = f"你好"
print(s)
print(s1)
#填充變數
s = "不去"
s2 = f"我去"
#填充計算公式
s1 = f""
print(s1)
#填充表示式
a = 10
b = 20
s1 = f""
print(s1)
#填充大括號
s1 = f"}}}}"#每兩個顯示乙個
print(s1)
#{}大括號內可以放{},int,方法,函式,list,str,字典值
#{}內不可放符號,要用引號引起來
s1 = f"{}{}{}}"
print(s1)
s1 = f""
print(s1)
特點:不斷呼叫自己本身
死遞迴 -- 不斷呼叫自己
有明確的終止條件
滿足以上兩個條件是有效遞迴
遞:一直執行
歸:從結束開始往回退
官方宣告:最大層次 1000,實際測試998/997
def func():
print(123)
func()
func()
#猜數:
'''1.寶元 18-2-2-2
2.太白 18-2-2
3.wusir 18-2
4.alex 18
'''def age(n):
if n == 4:
return 18
else:
return age(n+1)-2
print(age(1))
#分布解析:
可變資料型別預設引數的坑:
def func(a,lst = ):
return lst
lst1 = func(10)
lst2 = func(123,)
lst3 = func('aaa')
print(lst1)
print(lst2)
print(lst3)
'''結果:
[10,'aaa']
[123]
[10,'aaa']
'''
函式 函式名的本質
函式名的本質 簡單地說 可以當普通變數用 是指向記憶體位址的乙個名字,且同樣可以賦值 所謂的變數名,對於計算機都是乙個記憶體位址 func 函式名就是記憶體位址 func2 func 函式名可以賦值 func2 因此,可以將函式名存入列表中,迴圈呼叫 函式名可以作為容器型別的元素 l func,fu...
顯示函式名 Python函式的定義與呼叫
函式是組織好的 可重複使用的 用來實現一定功能的 段。函式設計遵循單一職責原則,提倡乙個函式只完成單一乙個功能,降低程式的藕合性,提高可維護性。def 函式名 引數列表 函式 文件字串 函式體 return 表示式 可選,沒有這行相當於返回none。函式名 有引數的在括號裡加上引數1.基本引數的使用...
python通過函式名呼叫函式的幾種場景
一 說明 之前寫了一篇 python執行系統命令教程 講了如何執行系統命令。除了執行系統命令外,我們有時還需要動態地執行一些python 有經驗的朋友就會知道可以使用內建函式eval實現這一需求,如eval print file 這還是比較簡單的。但如果要動態執行乙個函式,講的資料就會少一點,這次就...