gpt4 book ai didi

python - AttributeError : 'person' object has no attribute 'name'

转载 作者:行者123 更新时间:2023-12-03 08:25:13 25 4
gpt4 key购买 nike

class Name():
def full_name(self):
self.firstname='[no name]'
self.lastname='[no name]'

class person:
def detail(self):
self.name=Name()
self.eye='[no eye]'
self.age=-1

myperson=person()
myperson.name.firstname='apple'
myperson.name.lastname='regmi'
myperson.name.firstname='cat'
print(myperson.name.firstname)

我不知道为什么我要进入13号线
myperson.name.firstname ='apple'AttributeError:'person'对象没有属性'name'

最佳答案

似乎您希望在创建任何name对象时将eyeageperson属性设置为默认属性。如果是这种情况,则应将detail真正替换为__init__,例如:

class person:
def __init__(self):
self.name=Name()
self.eye='[no eye]'
self.age=-1

类的 __init__方法定义在创建对象时应如何初始化它们。您无需显式调用此方法。而是在创建类的实例时自动运行它:

# create an instance of persion, call
# `person.__init__()`, and assign the result
# to `myperson`:
myperson = person()

现在您应该能够引用和分配属性:

myperson.name.firstname='apple'
myperson.name.lastname='regmi'
myperson.name.firstname='cat'

同样, name.full_name可能应该是 name.__init__

注意,通过 convention,python中的类通常使用TitleCase,因此该类通常被命名为 Person;同样, name将是 Name

关于python - AttributeError : 'person' object has no attribute 'name' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61928195/

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