在for循环中使用类对象

2024-10-03 19:28:21 发布

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

我需要在for循环中使用类的对象,但是得到一个错误

代码如下:

class Citizen():
    type='Citizen'
    colony='init'
    def __init__(self,value1,value2):
        self.name=value1
        self.gender=value2
    def __iter__(self):
        return iter(self.name)
    def print_citizen(self,colonyname):
        for i in self.Citizen:
            if (Citizen.colony==colonyname) :
                print(i.name,' | Citizen | ',i.gender)

它抛出了一个错误:

for i in self.Citizen:
 AttributeError: 'str' object has no attribute 'Citizen'

你知道怎么解决吗


Tags: nameinselfforinitdef错误gender
1条回答
网友
1楼 · 发布于 2024-10-03 19:28:21

不知道你想做什么,但这是这样的:

class Citizen():
    type='Citizen'
    colony='init'

    def __init__(self,value1,value2):
        self.name=value1
        self.gender=value2

    def __iter__(self):
        return iter(self.name)

    def print_citizen(self,colonyname):
        if (self.colony==colonyname) :
          print(self.name,' | Citizen | ',self.gender)

然后:

myCitizen = Citizen("Bob", "Male")
myCitizen.print_citizen(colonyname)

相关问题 更多 >