python3中的call函式

2021-09-23 20:54:09 字數 814 閱讀 6910

call()的本質是將乙個類變成乙個函式(使這個類的例項可以像函式一樣呼叫)。

class a(object):

def __init__(self, name, age):

self.name = name

self.age = age

def __call__(self):

print('my name is %s' % self.name)

print('my age is %s' % self.age)

if __name__ == '__main__':

a = a('jack', 26)

a()

結果是:

my name is jack

my age is 26

這裡定義的類a是需要兩個引數的,乙個名字乙個年齡,我們傳入引數後就有了例項a,例項a直接呼叫就是call方法,這個方法使得a這個類也成為了乙個函式,可以呼叫,也可以為它增加引數,如

def __call__(self, male):

print('my name is %s' % self.name)

print('my age is %s' % self.age)

print('my male is %s' % male)

結果就變為:

my name is jack

my age is 26

my male is man

這就是call的基礎用法,使類也可以成為乙個函式

python3 特殊函式 call

call 的本質是將乙個類變成乙個函式 使這個類的例項可以像函式一樣呼叫 例1 class person object def init self,name,gender self.name name self.gender gender def call self,friend print my ...

python3中的format函式

原文出處 format函式常與print 函式結合使用,具備很強的格式化輸出能力。通過變數,逗號隔開 print 今天 format 我 攔路雨 action 在寫部落格 通過關鍵字使用字典傳入,在字典前加入 grade print 比較無聊,在 format grade 字典前加上 通過位置 pr...

python3 中的 eval 函式

from python eval的妙用和濫用 python eval python eval 函式妙用 python 中 eval 帶來的潛在風險 python之 eval 函式危險性 eval 函式十分強大,官方文件解釋是 將字串 string 物件 轉化為有效的表示式參與求值運算返回計算結果 語...