Я столкнулся с проблемой python. Я хочу использовать type()
, чтобы узнать, какой тип переменной я использую. Код выглядит примерно так:
class Foo():
array=[ myField(23),myField(42),myField("foo"), myField("bar")]
def returnArr(self):
for i in self.array:
print type(i)
if __name__ == "__main__":
a=Foo()
a.returnArr()
Изменить: myField() - это определенный мной класс.
Когда я запрашиваю тип(), я получаю: <type 'instance'>
Теперь, согласно 1, это связано с тем, что я использую элемент класса и запрашиваю type()
. Теперь мне нужно: <type 'int'>
для примера: myField(42)
и <type 'str'>
для myField(foo)
. Как я мог добиться этого?
EDIT:
def __init__(self, name, default, fmt="H"):
self.name = name
if fmt[0] in "@=<>!":
self.fmt = fmt
else:
self.fmt = "!"+fmt
self.default = self.any2i(None,default)
self.sz = struct.calcsize(self.fmt)
self.owners = []
Код берется из scapy, и я пытаюсь его адаптировать.