Я столкнулся с проблемой 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, и я пытаюсь его адаптировать.