Portál AbcLinuxu, 24. listopadu 2025 03:07
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.