Python基础学习010——公有与私有

编程入门 行业动态 更新时间:2024-10-24 06:37:52

Python<a href=https://www.elefans.com/category/jswz/34/1770030.html style=基础学习010——公有与私有"/>

Python基础学习010——公有与私有

# 公有权限:直接书写的方法和属性都是公有,公有的属性和方法在任意地方都可以使用
# 私有权限:在类的内部属性名或方法名前边加上两个下划线,这个属性或方法就是私有的,只能在类的内部使用
# 什么时候定义私有:属性和方法不想在外部被随意访问更改,一般测试用不到私有,开发根据需求文档确认私有# 案例:定义person类,属性name,age.不希望年龄被随意修改
class Person:def __init__(self, name, age):self.name = nameself.__age = agedef __str__(self):return f'姓名:{self.name},年龄:{self.__age}'xm = Person('小明', 20)
print(xm)
# print(xm.__age)           # 在类外部使用私有属性,会报错,提示没有该属性
xm.__age = 18               # 这一步其实没有更改私有属性,而是在外部添加了一个公有属性__age
# 私有的本质:python解释器在执行代码时,发现属性或方法前面有__,会自动在这个名字前边加上__类名前缀,
# 即添加的__age私有属性在执行时实际叫self._Person__age,跟在外部添加的公有属性__age完全不一样
# 所以实际上print(xm._Person__age)是可以的,但是不要这样使用,了解即可.同理私有方法也是这样
print(xm)# 就要使用私有方法怎么办呢:在类的内部定义一个公有方法,通过该方法调用私有方法,以此来实现私有方法的间接使用
# ----------------------------------------------------------------------------
# 魔法属性:对象.__dict__:可以将对象具有的属性组成字典打印,包括私有属性
print(xm.__dict__)

更多推荐

Python基础学习010——公有与私有

本文发布于:2023-11-17 03:02:47,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1638021.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:基础   Python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!