Portál AbcLinuxu, 14. května 2025 01:01
Chci zavolat třídu s názvem Kontinet obj = Kontinent()Chci zavolat metodu s názvem Stat uvnitř Kontinet
obj = Kontinent() obj.stat()Chci zavolat další '?něco?' s názvem kraj uvnitř Stat a uvnitř Kontinet atd.. Nakonec chci volat něco takového
kontinent.stat.kraj.okres.posta()Jak to mám do sebe vnořit ? Poradí někdo ?
Kontinent
může mít svou proměnnou stat
:
class Posta(object): pass class Okres(object): def __init__(self): self.posta = Posta() class Kraj(object): def __init__(self): self.okres = Okres() class Stat(object): def __init__(self): self.kraj = Kraj() class Kontinent(object): def __init__(self): self.stat = Stat() >>> obj = Kontinent() >>> obj <__main__.Kontinent object at 0x7ff52cad26d8> >>> obj.stat <__main__.Stat object at 0x7ff52cad2748> >>> obj.stat.kraj <__main__.Kraj object at 0x7ff52cad27b8> >>> obj.stat.kraj.okres <__main__.Okres object at 0x7ff52cad2828> >>> obj.stat.kraj.okres.posta <__main__.Posta object at 0x7ff52cad2898>Pokud bys chtěl volat ten objekt jako funkci, implementuj si metodu __call__. Je to to, co jsi myslel?
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.