您好,登錄后才能下訂單哦!
本篇內容主要講解“Python函數名的本質是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python函數名的本質是什么”吧!
函數名的本質
函數名實質上就是函數的內存地址
def wrapper():
pass
print(wrapper)
1.引用是什么?
當我們定義a=1的時候,系統會開辟一塊內存空間來保存1,然后用a變量名保存1所在的內存地址引用,變量名就好像C語言中的指針,大家可以把引用理解成地址,a里面存的是1這個數值所在的地址,a存了1的引用。
當我們在代碼中定義了一個函數,系統會分配一塊內存空間,用于保存函數體的內部變量和函數名,這個wrapper只是一個變量名,保存了函數內存中的地址,我們可以x = wrapper
,y = wrapper
.這樣的操作就相當于把wrapper中引用的地址,賦值給x,y ,這樣x和y都指向了wrapper函數所在的引用,我們可以x()和y()來調用wrapper函數,調用實際上是一個函數,而x,y,wrapper三個變量存了同一個函數的地址。
函數名保存的是函數的內存地址
def func():
print(1)
print(func)
#<function func at 0x000001AFABE2C8C8>
函數名賦值給其他變量
def func():
print(1)
x = func
y = func
x()
y()
函數名可以當容器類的元素
#Python學習交流QQ群:778463939
def fun():
print(111)
def fun1():
print(222)
def fun2():
print(333)
l1 = [fun,fun1,fun2]
for i in l1:
i()
函數名可以當作其他函數的參數
函數名保存的是函數在內存中的地址,f1 = f = f()
內部的地址 -> f1()
def f():
print(123)
def fun(f):
f1 = f
f1()
fun(f)
函數名可以當作其他函數的返回值
def func():
print(123)
def fun(f):
return f
ret = fun(func)
ret()
到此,相信大家對“Python函數名的本質是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。