python函式知識三 函式名的使用 格式化 遞迴

2022-09-13 16:57:15 字數 2421 閱讀 3449

函式是第一類物件

函式名可以當做值被賦值給變數

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 這還是比較簡單的。但如果要動態執行乙個函式,講的資料就會少一點,這次就...