gpt4 book ai didi

python - 访问方法中的实例构造函数参数

转载 作者:太空宇宙 更新时间:2023-11-03 16:50:52 25 4
gpt4 key购买 nike

只是一个简单的问题,所以我有一个名为 animal 的类,当您创建该类时,您可以使用 dogName 初始化它。

class animal:

def __init__(self, dogName):
self._owner = ""
self._address = ""

def setOwnerDetails(self, name, address):
self._owner = name
self._address = address

def getDetails(self):
return self._owner, self._address

def getName(self):
return self.dogName
##Does not work, trying to access constructor argument.

因此,当您使用一个值(dogName)初始化实例时,在本例中,Dogname 是 Lucy,我如何在方法中访问该值?我知道我可以通过创建实例变量来做到这一点,但是还有其他方法可以做到这一点吗?上面的变量可以理解,但是不起作用,还有其他方法吗?

dog1 = animal("Lucy")
dog1.setOwnerDetails("Thomas", "35 Trop")
result = dog1.getDetails()
print(dog1.getName()) # trying to print the dog Name that is in the constructor argument.

任何帮助将不胜感激,我可能没有解释清楚。

最佳答案

您需要在构造函数中将 dog_name 设置为实例属性:

def __init__(self, dog_name):
self._owner = ""
self._address = ""
self.dog_name = dog_name

然后,您将能够使用 self.dog_name 访问方法中的属性。

旁白:正如 @jonrsharpe 在评论中提到的,您应该将变量名称从 dogName 更改为 dog_name 以符合 PEP-8 要求。

关于python - 访问方法中的实例构造函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35848787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com