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

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

私有屬性代碼結果

# -*- coding: UTF-8 -*-

class Person(object):


? ? def __init__(self, name, score):

? ? ? ? self.name = name

? ? ? ? self.__score = score


? ? def get_grade(self):

? ? ? ? if self.__score >= 85:

? ? ? ? ? ? print("A-優秀")

? ? ? ? elif self.__score >= 60:

? ? ? ? ? ? print("B-及格")

? ? ? ? else:

? ? ? ? ? ? print("C-不及格")

? ? ? ? ? ??


p1 = Person('Bob', 90)

p2 = Person('Alice', 65)

p3 = Person('Tim', 48)


print p1.get_grade()

print p2.get_grade()

print p3.get_grade()

為什么結果有none?

正在回答

2 回答

get_grade()方法的功能是打印成績,由于沒有return語句,它默認return一個none。
也就是說??p.get_grade()的值是none。
在執行print?p1.get_grade()語句時,先進入p1中執行了一遍p1的get_grade方法,打印出成績
然后返回了一個none,又被你打印出來了
如果修改的話,可以將最后三行修改為
p1.get_grade()
2 回復 有任何疑惑可以回復我~

因為你的getter方法也就是get_grade這個返回值為none,外部的print p1.get_grade()把這個返回值打印出來了

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

舉報

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

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

進入課程

私有屬性代碼結果

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

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

幫助反饋 APP下載

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

公眾號

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