Co zanmená "self. ...."? – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Co zanmená "self. ...."? – Python – Fórum – Programujte.comCo zanmená "self. ...."? – Python – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Foret
~ Anonymní uživatel
4 příspěvky
29. 1. 2011   #1
-
0
-

Dobrý den,
chci se zeptat, jakou funkci má slovo self. před mnoha názvy v programu. například v návodě <a href="http://programujte.com/?akce=clanek&cl=2007072901-tkinter-had">Tkinter-Had</a>. Moc tyto věci nechápu a potřeboval bych je osvětlit. Předem mnohokrát děkuji.

Nahlásit jako SPAM
IP: 90.178.202.–
Reklama
Reklama
Tom
~ Anonymní uživatel
419 příspěvků
29. 1. 2011   #2
-
0
-

To Foret : Trochu neco jako "this" v jinyh OO jazycich. Abych to lip vysvetlil, tak self urcuje instanci objektu.
Takze napriklad:



# class Had:
# def __init__(self):
# self.sirka=15
# self.vyska=10
# self.okno=Tk()

tento konstruktor nastavi sirku, vysku a okno vytvorene instanci tridy (objektu).

Takze, kdyz vytvoris objekt tridy Had s nazvem treba "hadak", tak se jakoby misto self dosadi v konstruktoru "hadak" a nastavi se tak hadakovi sirka, vyska a okno (konkretne hadakovi).
Nejlip asi projit si nejaky tutorial ohledne OOP v Pythonu...je to celkem jednoduche a rychle pochopitelne....

Nahlásit jako SPAM
IP: 89.102.212.–
nervak0
Věrný člen
29. 1. 2011   #3
-
0
-

To je ten první parametr metody. Předává se automaticky a určuje instanci objektu, pro který byla metoda zavolána. Může se jmenovat i jinak, ale zvykem je používat "self", tedy něco jako "já".

class Trida:

def nastav(self, hodnota):
self.x = hodnota
def vypis(prc):
print prc.x

prvni = Trida()
druha = Trida()

prvni.nastav(3) # nastav(prvni, 3)
druha.nastav(6) # nastav(druha, 6)

prvni.vypis() # vypis(prvni)
druha.vypis() # vypis(druha)

Edit: Tak nic, Tom byl rychlejší :)

Nahlásit jako SPAM
IP: 213.211.51.–
foret
~ Anonymní uživatel
4 příspěvky
1. 2. 2011   #4
-
0
-

Díky moc :)

Nahlásit jako SPAM
IP: 90.178.202.–
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, 56 hostů

 

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