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

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

python為什么不設計私有屬性呢?

python為什么不設計私有屬性呢?

正在回答

1 回答

#看你怎么理解這個私有的含義:

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


class Student(Person):
??? def __init__(self, name, gender, age, snum):
??????? super(Student, self).__init__(name, gender)
??????? self.__age = age
??????? self.studentnumber = snum

p = Student('Tom', 'Male', 19, 32)

print(p.gender)
print(p.__dict__)
print(p.__age)

'''

執行之后:

Male
{'name': 'Tom', 'gender': 'Male', '_Student__age': 19, 'studentnumber': 32}
Traceback (most recent call last):
? File "D:\Program Files (x86)\Python 3.6.1 (64bit)\Python script practices\new_1.py", line 17, in <module>
??? print(p.__age)
AttributeError: 'Student' object has no attribute '__age'

這里即說明__age這個屬性從外部訪問來看,是沒有的,從p這個屬性字典key中__age屬性是以_Student__age的形式體現,可以這么理解為__age是屬于Student類的私有屬性

當然這個所謂的私有屬性,在特殊情況需要修改的時候,也是可以外部訪問修改,改變訪問語句即可,看個人需要吧

這是我的個人理解

'''

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

舉報

0/150
提交
取消

python為什么不設計私有屬性呢?

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

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

幫助反饋 APP下載

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

公眾號

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