1 Star 0 Fork 0

北京大学-夏敏/小白学派森2.0

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
属性私有化.py 1.22 KB
一键复制 编辑 原始数据 按行查看 历史
陈俊宇 提交于 2020-11-10 17:49 . 面向对象学习
# 使用私有属性的场景
# 1.把特定的一个属性隐藏起来 不想让类的外部进行直接调用
# 2.我想保护这个属性 不想让属性的值随意的改变
# 3.保护这个属性 不想让子类去继承
class Person:
__hobby='跳舞' #类属性
def __init__(self):
self.__name='李四' #加两个__将此属性私有化 在内部是可以使用的
self.age=30
pass
def __str__(self):
'''
私有化属性在内部可以使用
:return:
'''
return '{}的年龄是{}'.format(self.__name,self.age)
class Student(Person):
def printInfo(self):
# print(self.__name)
print(self.age)
pass
stu=Student()
# print(stu.__name) # 不能被子类继承
stu.printInfo()
# xl=Person()
print(stu.__hobby)
print(Person.__hobby)
# # print(xl.__name)#是通过类对象 在外部访问的 私有化属性是不能再类外部使用的 外部不能直接访问
# print(xl)
# 结论
# 私有化的【实例】属性 不能在外部访问 可以在类的内部随意使用
# 子类不能继承父类的私有化属性
# 在属性名字前面直接加两个__就私有化了
# 不管是实例还是类 都不行
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/pkuecho/xiaobai-xuepaisen-20.git
git@gitee.com:pkuecho/xiaobai-xuepaisen-20.git
pkuecho
xiaobai-xuepaisen-20
小白学派森2.0
master

搜索帮助

D67c1975 1850385 1daf7b77 1850385