python进阶:封装

封装:指隐藏对象中一些不希望被外部所访问到的属性或者方法
xxx,普通属性/方法:类中定义,可以在任意地方使用
_xxx,单下划线开头:声明私有属性/方法,如果定义在类中,外部可以使用,子类可以继承;但是从另一个py文件导入时,无法导入。一般是为了避免与python关键字重复而采用。
__xxx,双下划线开头,隐藏属性,如果定义在类中,无法在外部直接访问,子类不会集成,访问只能通过间接的方式;从另一个py文件导入时,也无法导入。这种命名一般是python中的魔术方法或属性,有特殊含义或功能,不要轻易自己定义

无封装:

class Person:
    name = "bingbing"   # 类属性

pe=Person()
print(pe.name)
Person.name="ziyi"
print(pe.name)

隐藏属性(私有权限),只允许在类内部使用,无法通过对象访问的属性
实质上是讲隐藏属性名修改为了"_类名__属性名"

class PersonTwo:
    name = "James" # 类属性
    _sex="man"      # 私有属性
    __age=28        # 隐藏属性
    def __play(self):
        print("隐藏方法")
pe=PersonTwo()
print(pe.name)
# print(pe.__age) # 不可访问
print(pe._PersonTwo__age) # 实质
# 私有属性/方法
posted @ 2026-04-26 10:03  MyEngine  阅读(4)  评论(0)    收藏  举报