有没有另一种方法可以将值从object方法获取到object variab中

2024-09-28 21:50:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我做了这样的代码

class Dog():
    def breed():
        return "rottwiller"

    def __init__(self, name, age, breed=breed()):
        self.name = name
        self.age = age
        self.breed = breed

有没有其他的方法来实现”自我繁殖值而不是bride=bride(),但也可以通过函数方法。你知道吗

例如类似的东西(我试过这个不起作用):

def __init__(self, name, age):
    self.name = name
    self.age = age
    self.breed = breed()

Tags: 方法函数代码nameselfagereturninit
2条回答

发布的代码有很多问题。你知道吗

  1. 设置breed属性时,__init__方法中的breed方法将被覆盖。因此应该重命名该方法。你知道吗
  2. breed方法需要指定第一个参数self。你知道吗

    犬类: def get\ U BREAD(自我): return“rottwiller”

    def __init__(self, name, age):
        self.name = name
        self.age = age
        self.breed = self.get_breed()
    

你不应该给属性和方法起相同的名字。也就是说,我对你为什么要问这个问题的怀疑告诉我,我应该把你指向@property装饰者。你知道吗

class Dog():
    def __init__(self, name, age, breed):
        self.name = name
        self.age = age
        self._breed = breed

    @property
    def breed(self):
        return self._breed

对于你的例子来说,这是过分的,但是如果你有一个Dog类和一个特定的品种,我想你在考虑子类,可能比你在这里做的更复杂的事情。本质上,@property装饰器将允许您作为属性访问breed,并以相同的名称将调用的值返回给在其下定义的函数。你知道吗

相关问题 更多 >