Utskrift av objekt i en lista
När man använder print för att skriva ut en lista, t.ex.
print ["hej", "hopp"]
så är det objektens metod __repr__ som används. För att skriva ut en lista med objekt av en klass man definierat själv på ett fint sätt, behöver man därför definiera metoden __repr__. Se exempel nedan:
class MonsterNoRepr(object):
def __init__(self, name):
self.name = name
class MonsterWithRepr(object):
def __init__(self, name):
self.name = name
def __repr__(self):
return self.name
monsters_no_repr = [MonsterNoRepr("Kitty"), MonsterNoRepr("BangBang")]
monsters_with_repr = [MonsterWithRepr("Kitty"), MonsterWithRepr("BangBang")]
# Här kommer detta kommer att skrivas ut:
# [<__main__.MonsterNoRepr object at 0x108dfed10>, <__main__.MonsterNoRepr object at 0x108dfed50>]
print monsters_no_repr
# Här kommer detta kommer att skrivas ut:
# [Kitty, BangBang]
print monsters_with_repr
Sidansvarig: Jody Foo
Senast uppdaterad: 2013-02-18
