Python3 —— 属性的使用

不同于 C# 和 Java 这种语言的get , set属性定义,Python 是用@property声明属性, 具体用法如下:

class Person(object):
    name = 'liming' # 类变量
    def __init__(self, name, age):
        self.name = name # 实例变量
        self.age = age
        self.__job = 'doctor'  # 私有变量

    @staticmethod # 静态方法 实际上个跟类没什么关系,需传 self 参数
    def eat(self):
        print("%s is eating %s" % (self.name, 'apple'))

    @classmethod # 类方法 调用类变量
    def drink(self):
        print("%s is drinking %s" % (self.name, 'cola'))

    @property # 属性
    def career(self):
        print("%s has a %s job" % (self.name, self.__job))
    @career.setter # 给属性赋值
    def career(self,job):
        self.__job = job
        print("set %s job is %s" % (self.name, self.__job))
    @career.deleter # 删除属性
    def career(self):
        del self.__job
        print("删完了")

jack = Person('jack', 18) # 类的实例化
jack.eat(jack) # 静态方法的调用
jack.drink() # 类方法的调用
jack.career # 属性的调用
jack.career = 'IT' # 属性的修改
jack.career # 属性修改后的调用
del jack.career # 属性的删除
# jack.career

运行结果:

jack is eating apple
liming is drinking cola
jack has a doctor job
set jack job is IT
jack has a IT job
删完了

猜你喜欢

转载自blog.csdn.net/Muzi_Water/article/details/81661961