[Python]访问私有属性和方法

[Python]访问私有属性和方法

class Person:
    def __init__(self, name, age):
        self.__name = name
        self.__age = age

    @property
    def name(self):
        return self.__name

    @name.setter
    def name(self, name):
        self.__name = name

    @property
    def age(self):
        return self.__age

    @age.setter
    def age(self, age):
        self.__age = age

    def __str__(self):
        return '姓名' + self.__name + '\n年龄' + str(self.__age)

    def __print_string(self):
        print('這是一個私有方法')

# 给私有属性赋值
person = Person('Tony', 18)
print(person)

# 访问私有属性,注意类名前面是一根下划线
print(person._Person__name)
print(person._Person__age)
# 因为使用了@name.setter 和@age.setter,所以可以使用以下这中方式访问
print(person.name)
print(person.age)
# 访问私有方法
person._Person__print_string()



[Python]访问私有属性和方法
https://www.diaoyc.cn//archives/python%E8%AE%BF%E9%97%AE%E7%A7%81%E6%9C%89%E5%B1%9E%E6%80%A7%E5%92%8C%E6%96%B9%E6%B3%95
作者
Adiaoyc
发布于
2020年09月05日
许可协议