[python] Trable s importem

5 views
Skip to first unread message

Jaakubi

unread,
May 7, 2020, 10:54:26 AM5/7/20
to

Nazdar sokolíci, prosím poraďte mi:

V souboru emptyLines.py je definovaná funkce tri_riadky() - kromě jiného. V souboru lenRiadky.py tuto funkci importuji pro funkci nine_lines(), kterou na konci volám.

Když tento soubor v IDLE aktivuji (F5), vrací se mi realizace posledních 3 příkazů z emptyLines.py a teprve potom se provede invokace nine_lines() ze souboru lenRiadky.py.

Jak je to možné, když jsem ze souboru emptyLines.py importoval jenom funkci tri_riadky

Srdečně zdravím, Tovim

emptyLines.py
lenRiadky.py

Michal Porteš

unread,
May 7, 2020, 11:04:41 AM5/7/20
to
Každý importovaný modul se vždy nejdřív kompletně vykoná, i když se z něj importuje třeba jen jedno jméno. Tj. provedou se všechny definice funkcí, tříd a případně i top-level kód, pokud tam nějaký je. U top-level kódu to ale nebývá žádoucí, protose používá fígl s if __name__ == '__main__'.

Tzn. ty bys na konci modulu potřeboval

if __name__ == '__main__':
print("First Line") tri_riadky() print("Second Line")


_______________________________________________
Python mailing list
pyt...@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz
Reply all
Reply to author
Forward
0 new messages