• 类中的普通方法伪装成属性 @property


    class P:
        def __init__(self,name,age):
            self.name=name
            if type(age) is int:
                self.__age=age
            else:
                print('你输入的年龄的类型有误,请重新输入数字')
        @property
        def age(self):
           return self.__age#本类中可以访问私有属性
        @age.setter
        def age(self,a1):
            if type(a1) is int:
                self.__age=a1
            else:
                print('你输入的年龄的类型有误,请重新输入数字')
        @age.deleter#删除属性
        def age(self):
            print('ttt')
    p1=P('卢卡',25)
    #p1.age()
    print(p1.age)
    #bmi伪装成属性后可以改值吗?答:可以 在类中 先写@方法名.setter 在写修改的方法(@property下的方法名和@方法名.setter和@方法名.setter下的方法名 3个一样)
    #p1.age=30#age是伪装的属性 不是真正属性,不能在类的外部改
    #现在已经写了@age.setter可以在类的外部修改age
    p1.age=30
    print(p1.age)
    #print(p1.__dict__)
    del p1.age#删除属性
  • 相关阅读:
    C 应用
    C 基本语法
    iOS
    iOS
    iOS
    iOS
    iOS
    iOS
    iOS
    iOS
  • 原文地址:https://www.cnblogs.com/long-holiday/p/9900551.html
Copyright © 2020-2023  润新知