python函式是通過def語句定義的**塊,由函式名、引數列表、函式體三部分組成。
下面列舉乙個案例展示函式是怎麼定義的,以及函式的相關資訊。
import sys # 匯入sys模組
def sum(x, y): # 定義函式,由函式名sum,引數列表x,y,冒號表示def語句結束
result = x + y # 函式體
return result # 返回值
print(sum) # sum是函式的名字,sum的值是函式的記憶體位址,以字典格式儲存在全域性命名空間
print(type(sum)) # sum的型別是function
print(id(sum)) # 函式的id是記憶體位址的10進製表示
print(sys.getsizeof(sum))
# 可以看到短短的3行**有136位元組,其中儲存了很多關於sum函式的其他資訊,
# 例如資料型別是函式,引數列表資訊、函式體學習、返回引數資訊等等。
out:
1666835439472 # 0x0000018417225f70轉成10進製就是1666835439472。
136
在repl環境下測試,輸入函式名回車顯示的內容是該函式的型別和記憶體位址,函式後跟()才能執行函式。
>>> double = lambda x:x*2
>>> double
at 0x000001da1e897160>
>>> double(3)
6
如果要執行函式返回的函式,那麼多加對括號即可。例如:
def func1():
print('函式1')
def func2():
print('函式2')
return func1
func2()()
out:
函式2函式1
Python之什麼是函式
我們知道圓的面積計算公式為 s r 當我們知道半徑r的值時,就可以根據公式計算出面積。假設我們需要計算3個不同大小的圓的面積 r1 12.34 r2 9.08 r3 73.1 s1 3.14 r1 r1 s2 3.14 r2 r2 s3 3.14 r3 r3當 出現有規律的重複的時候,你就需要當心了...
Python之什麼是dict
我們已經知道,list 和 tuple 可以用來表示順序集合,例如,班裡同學的名字 adam lisa bart 或者考試的成績列表 95,85,59 但是,要根據名字找到對應的成績,用兩個 list 表示就不方便。如果把名字和分數關聯起來,組成類似的查詢表 adam 95 lisa 85 bart...
什麼是Python函式 如何定義函式
什麼是python函式?python函式是指組織好的 可重複使用的 用來實現單一或相關聯功能的 段,python函式包含系統中自帶的一些函式 第三方函式以及使用者自定義的函式。函式能提高應用的模組性和 的重複利用率,你已經知道python提供了許多內建函式,比如說print 但你也可以自己建立函式,...