第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

還是沒弄明白這個函數(shù)要怎么用

class?Person(object):
????def?__init__(self,?name,?gender):
????????self.name?=?name
????????self.gender?=?gender

????def?__call__(self,?friend):
????????print('My?name?is?{}...'.format(self.name))
????????print('My?friend?is?{}...'.format(friend))

>>>?p?=?Person('Bob',?'Male')
>>>?p('Alice')?#?==>?用函數(shù)的方式調用Person類的實例p
My?name?is?Bob...
My?friend?is?Alice...


正在回答

2 回答

簡單來說

p('Alice')?是p.__call__('Alice')的縮寫。
3 回復 有任何疑惑可以回復我~

是說這個__call__類方法嗎

我的想法是:原本創(chuàng)建了Python中的一個類(還沒有創(chuàng)建這個類中的實例),然后再定義類的時候采用了__call__的類方法使整個類(中的實例對象)由。不可調動 ?變?yōu)?可調動 ?的模式,可以讓類中的實例對象可以直接調用函數(shù)

例:

class Words(object):

????def say():

????????print("Python語言Good")

say()

say.__call__()


兩則代碼的輸出都是:

"Python語言Good"

say() 是 say.__call__()的縮寫

采用__call__就是重新加載了函數(shù)()運算符

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

還是沒弄明白這個函數(shù)要怎么用

我要回答 關注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號