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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

最后三行中兩個print分別對應哪個?運行出結果是0和1

最后三行中兩個print分別對應哪個?運行出結果是0和1

xinxin_121 2016-05-28 16:37:32
class Person(object):? ? __count = 0? ? @classmethod? ? def how_many(cls):? ? ? ? return cls.__count? ? def __init__(self, name):? ? ? ? self.name = name? ? ? ? Person.__count = Person.__count + 1print Person.how_many()p1 = Person('Bob')print Person.how_many()
查看完整描述

1 回答

已采納
?
清波

TA貢獻165條經驗 獲得超90個贊

關于 ?@classmethod 和 @staticmethod 都是 Python的裝飾器,具體區(qū)別,可以搜索得知, 直接回答題主的問題:

  1. 第一個print 就是直接調用 Person 的 類方法(classmethod), 打印的其實是 Person 的屬性 __count, 這個時候 __count = 0, 所以打印出來的是0.

  2. 第二個print 是在 Person 實例化一次之后,對象的實例化,會首先調用 其__init__ 方法, 這時__count 加1 也就變成了1, 所以 打印出來的是1.

查看完整回答
1 反對 回復 2016-05-30
  • 1 回答
  • 0 關注
  • 1278 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號