Python 如何将int转换为指定的个人对象类型?

Python 如何将int转换为指定的个人对象类型?,python,Python,我将通过下面的printIt()方法打印列表中的元素。对于For循环的最后一次迭代,我需要一个casting工具来将索引类型s更改为我自己的类类型ord,以便可以使用printIt()方法 有人知道这个案子吗 多谢各位 class ord: def __init__(self, aString): self = aString def printIt(self): print(self.text) s1 = ord("a") s2 = or

我将通过下面的
printIt()
方法打印列表中的元素。对于For循环的最后一次迭代,我需要一个casting工具来将索引类型
s
更改为我自己的类类型
ord
,以便可以使用
printIt()
方法

有人知道这个案子吗

多谢各位

class ord:
    def __init__(self, aString):
        self = aString

    def printIt(self):
        print(self.text)



s1 = ord("a")
s2 = ord("b")
note = [s1, s2]

for s in note:
    s.printIt() # something like s(type(ord), ord) which does not work!!!
编辑:以下是生成的错误:

'int' object has no attribute 'printIt'

将您的类重命名为其他类。。。ord是一个内置的,你不经意间的影子

class ordX:
    def __init__(self, aString):
        self.text = aString

    def printIt(self):
        print(self.text)



s1 = ordX("a")
s2 = ordX("b")
note = [s1, s2]

for s in note:
    s.printIt() 
但更进一步,您应该为它定义str和repr

class ordX:
    def __init__(self, aString):
        self.text = aString    
    def __str__(self):
        return self.text
    def __repr__(self):
         return "<OrdX '%s'>"%self





s1 = ordX("a")
s2 = ordX("b")
note = [s1, s2]

for s in note:
    print(s)
    print(repr(s)) 
ordX类:
def_u_初始___;(自,收敛):
self.text=aString
定义(自我):
返回self.text
定义报告(自我):
返回“%self”
s1=ordX(“a”)
s2=ordX(“b”)
注=[s1,s2]
对于注释中的s:
印刷品
印刷品(报告)

不清楚你在问什么。由于您将
ord
类的对象放入
note
列表中,因此当您使用
for
进行迭代时,将获得
ord
类的对象。这里不涉及INT。(
ord
可能不是你的类名的最佳选择,因为有一个内置函数使用这个名称。)
self=aString
什么都不做(你是说
self.text=aString
?),我不知道你的标题与你的问题的其余部分有什么关系。@BrenBarn:正如你所说,我的列表中有ord驱动的对象,但我仍然无法完成这个迭代。printLn()函数可以由ord对象调用,而不是像s一样的int索引。我需要一种方法来处理这个问题,并更改s的类型,以便可以使用printIn()。@rioppi:第一点你是对的。正如我所说,我需要将for循环中的索引类型更改为我自己的类型(ord),以便能够使用printIt()方法。您可以使用“Int(self.text)”强制转换Int。str&repr的使用听起来很棒,但是重命名类刚好达到目的。。。非常感谢。