OOP - instance tridy – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

OOP - instance tridy – Python – Fórum – Programujte.comOOP - instance tridy – Python – Fórum – Programujte.com

 

Abi Poe0
Duch
31. 5. 2007   #1
-
0
-

1. Jak smazu vsechny instance dane tridy?
2. Jak muzu zjistit jmena vsech instanci dane tridy?

Nahlásit jako SPAM
IP: ...–
Abik
geon0
Grafoman
31. 5. 2007   #2
-
0
-

2. musíš si je ukládat (třeba do seznamu) ...
1. pak je můžeš nejen zjišťovat, ale i mazat ...

Nahlásit jako SPAM
IP: ...–
geon. volume doprava.
Abi Poe0
Duch
4. 6. 2007   #3
-
0
-

To geon: To neni spatnej napad. Diky :)
A kdyz uz jsme u tech instanci... Je mozny ve tride nadefinovat, aby smazala vlastni instanci ?
Neco jako: del(self)

Nahlásit jako SPAM
IP: ...–
Abik
geon
~ Anonymní uživatel
1067 příspěvků
4. 6. 2007   #4
-
0
-

proč ne, jen musíš vědět, jak se jmenuje ;-) - a jsme zase u seznamu ...

Nahlásit jako SPAM
IP: ...–
Abi Poe0
Duch
5. 6. 2007   #5
-
0
-

problem je ze kdyz jsem napsal metodu jako:
def smaz(self, nazev):
del(nazev)
print 'smazano', nazev


tak mi ohlasilo, ze namuze tisknout nazev, protoze ho nezna (smazano v druhem radku), ale kdyz sem zkusil nazev instance tak porad existoval. A kdyz pripisu global nazev, tak mi hlasi chybu...
Takze asi nekde bude chyba...



Nahlásit jako SPAM
IP: ...–
Abik
geon0
Grafoman
5. 6. 2007   #6
-
0
-

doufám, že ji nemažeš samu v sobě ;-) Nebo že by sis jinou třídu na mazání? To se mi nezdá. Nejlépe je mazat pouhým del abcd někde mimo strukturu třídy.

Nahlásit jako SPAM
IP: ...–
geon. volume doprava.
Jan Bednařík0
Super člen
5. 6. 2007   #7
-
0
-

To Abi Poe: Myslím si že instance nemůže smazat sama sebe, alespoň mě to připadá jako něco nelogického/neprogramátorského a spíš bych se toho vyvaroval, i kdyby to šlo. K mazání instance je příkaz del a pokud chceš něco udělat při smazání, musíš třídě nadefinovat metodu __del__ (v jiných jazycích destruktor), která se provede při smazání instance třídy.

Nahlásit jako SPAM
IP: ...–
Python + Django + PostgeSQL = spokojený vývojář :-)
Jakub Vojáček
~ Moderátor
0
Grafoman
5. 6. 2007   #8
-
0
-

Ve třídě nemůžete vymazat ji samu:



>>> class Trida:
def __init__(self):
del self


>>> a=Trida()
>>> a#Pokud by to fungovalo tak a = None...
<class __main__.Trida at 0x01C9B660>

Nahlásit jako SPAM
IP: ...–
Navštivte server Matematika pro každého
Najdete zde články zabývající se matematikou základních a středních škol a databázi hlavolamů.
Pro vyzkoušení Vaš
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 7 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý