使用类、二传手和获取器



我需要创建一个名为 Color 的类。

  • 代码 1 构造函数
  • 这需要 2 个参数
  • 代码 2 属性
  • 1 处房产是公共的
  • 1处房产是私人的
  • 为 1 个私有属性创建访问器和资源库
  • 实例化上面创建的类
  • 输出两个属性

我相信我已经能够创建类以及构造函数,但是我遇到的问题是公共/私有属性以及其他部分困扰着我。

class Color:
   def __init__(self,full_name,birthday ):
       self.name = full_name
       self.birthday = birthday
   def age(self):
      return self.birthday
   def fname(self):
       return _self.name
object = Color()

使用 python @property getter 和 setter 装饰器,从实例对这些的调用是无法区分的。
内部工作原理遵循私有属性的前导下划线约定,而不诉诸双下划线名称重整。

class Homework:
    def __init__(self, param1, param2):
        self._param1 = param1    # private attribute
        self.param2 = param2     # public attribute
    @property
    def param1(self):
        """accessor for private parameter
        """
        return self._param1
    @param1.setter
    def param1(self, value):
        """setter for private parameter
        """ 
        self._param1 = value
homework = Homework('The great secret', 'The public life of Napoleon')
# accessing the parameters follow the same syntax
print(homework.param1)
print(homework.param2)
# setting the parameters also follow the dotted syntax
homework.param1 = "you won't believe it"    
homework.param2 = 'but the dog ate it'    
print(homework.param1)
print(homework.param2)

最新更新