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的使用听起来很棒,但是重命名类刚好达到目的。。。非常感谢。