Portál AbcLinuxu, 4. května 2024 13:52


Dotaz: Objasnění podmínky v pythonu

26.2.2020 16:29 jakub
Objasnění podmínky v pythonu
Přečteno: 1114×
Odpovědět | Admin
Ahoj, co přeně znamená tato podmínka v pythonu? Dík
if __name__ == '__main__' :

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Gréta avatar 26.2.2020 17:51 Gréta | skóre: 36 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: Objasnění podmínky v pythonu
Odpovědět | | Sbalit | Link | Blokovat | Admin

každej pythoní skript má jakoby proměnou __name__ a když třeba jako pustíš skript python3 jakubuv_skript.py tak v tom skriptu má ta speciální proměná hodnotu "__main__". pokud ale máš třeba ještě nějakej další skript třeba druhy_skript.py a ten je jakoby importovanej z toho skriptu jakubuv_skrip.py tak v něm už ta proměná nemá hodnotu "__main__" ale "druhy_skript". se to jako hodí když by ten skriptík druhy_skript.py nesloužil jenom k importování jakoby další modul pro jinej skriptík ale byl by sám osobě spustitelnej a tou proměnou __name__ de rozlišit jestli byl puštěnej von sám nebo právě z importu :O :O ;D
když poběží samostatně tak __name__=="__main__"
když poběží z importu tak __name__=="druhy_skript"

 

jestli to chceme jako líp pochopit tak si to jako musíme vyzkoušet ;D uděláme soubor jakubuv_skript.py s obsahem

print("se menuju: "+__name__)
import druhy_skript

a druhej skriptík ve stejný složce s názvem druhy_skript.py s obsahem

print("teď se jako volá print z druhýho skriptu a tam je hodnota: "+__name__)

a teďko když zavoláme příkaz python3 jakubuv_skript.py tak nám to jako vypiše

se menuju: __main__
teď se jako volá print z druhýho skriptu a tam je hodnota: druhy_skript

ale když pustíme samotnej skriptík příkazem python3 druhy_skript.py ta to vypiše

teď se jako volá print z druhýho skriptu a tam je hodnota: __main__
oslavná píseň na pana soudruha generalisima prezidentčíka Petra Pavla Pávka 🎶🫡🦚🎶
26.2.2020 17:59 .
Rozbalit Rozbalit vše Re: Objasnění podmínky v pythonu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Skript jde spustit přímo jako hlavní program, nebo importem načíst jako modul do jiného programu/modulu.

Pokud ho spouštíš přímo, tak __name__ má hodnotu '__main__', takže takhle můžeš podmínit, co bude dělat.

Třeba máš skript s funkcemi pro načtení předpovědi počasí a jen při přímém spuštění rovnou vypíšeš předpověď pro následující týden.
30.3.2020 20:50 eee
Rozbalit Rozbalit vše Re: Objasnění podmínky v pythonu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jednoduš řečeno k rozlišení toho, zda je soubor hlavní nebo importovaný.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.