課程
/后端開發(fā)
/Python
/Python-面向?qū)ο?/a>
python為什么不設(shè)計私有屬性呢?
2017-07-16
源自:Python-面向?qū)ο?nbsp; 3-2
正在回答
#看你怎么理解這個私有的含義:
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)
'''
執(zhí)行之后:
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的形式體現(xiàn),可以這么理解為__age是屬于Student類的私有屬性
當(dāng)然這個所謂的私有屬性,在特殊情況需要修改的時候,也是可以外部訪問修改,改變訪問語句即可,看個人需要吧
這是我的個人理解
舉報
Python面向?qū)ο蠼坛蹋瑤闵钊肓私鈖ython面向?qū)ο筇匦?/p> 進(jìn)入課程
2 回答新建類language屬性標(biāo)紅
1 回答訪問構(gòu)造的屬性出錯
1 回答python也有析構(gòu)函數(shù)啊
2 回答為什么我的會報錯呢
4 回答請問學(xué)習(xí)Python面向?qū)ο笫遣皇堑孟葘W(xué)習(xí)Python
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2017-07-16
#看你怎么理解這個私有的含義:
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)
'''
執(zhí)行之后:
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的形式體現(xiàn),可以這么理解為__age是屬于Student類的私有屬性
當(dāng)然這個所謂的私有屬性,在特殊情況需要修改的時候,也是可以外部訪問修改,改變訪問語句即可,看個人需要吧
這是我的個人理解
'''