亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

為什么用類名無法調用類方法,卻可以調用變量?

class?Person(object):
????count?=?0
????def?__init__(self,name,score):
????????self.name?=?name
????????self.score?=?score
????????
????def?get_grade(self):
????????return?'A'
????????
p1?=?new?Person('Bom',90)
print?p1.get_grade()
print?Person.get_grade()

print?Person.count
print?p1.count


正在回答

2 回答

你這個不是類方法,忘了寫@calssmethod了

0 回復 有任何疑惑可以回復我~
#?coding=utf-8
class?Person(object):
????count?=?0?#declare?a?class?variable
????def?__init__(self,name,score):
????????self.name?=?name?#declare?a?instance?variable
????????self.score?=?score
????@classmethod
????def?get_grade():??#define?a?class?method
????????return?'A'???
????def?get_grade2(self):?#define?a?instance?method
????????return?'B'

p1?=?Person('Bom',90)
print?p1.get_grade()
print?Person.get_grade()
print?p1.get_grade2()
print?Person.get_grade2()
print?Person.count
print?p1.count

python類中定義的變量和方法都分為類變量和實例變量,類方法和實例方法,類變量和類方法是綁定與類中的,它們可以被所有的類實例共享,通過類名和實例名都可以調用;而實例變量和實例方法是與實例綁定的,只能通過實例名調用,無法通過類名調用實例方法。

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

舉報

0/150
提交
取消
python進階
  • 參與學習       255563    人
  • 解答問題       3038    個

學習函數式、模塊和面向對象編程,掌握Python高級程序設計

進入課程

為什么用類名無法調用類方法,卻可以調用變量?

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

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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