Re: [python] Trable s importem

2020-05-07 Tema obsahu Michal Porteš

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")

-- Původní e-mail --
Od: Jaakubi 
Komu: python@py.cz
Datum: 7. 5. 2020 16:54:37
Předmět: [python] Trable s importem
"
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

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

Visit: http://www.py.cz
"___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


[python] Trable s importem

2020-05-07 Tema obsahu Jaakubi

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.pya teprve potom se provede invokace nine_lines() 
ze souboru lenRiadky.py.


Jak je to možné, když jsem ze souboru emptyLines.pyimportoval *jenom* 
funkci tri_riadky?


Srdečně zdravím, Tovim

# Text souboru emptyLines.py

# uživatelské funkce bez parametru

def novy_riadok(): 
print()   

def tri_riadky():
novy_riadok()
novy_riadok()
novy_riadok()
   


print("First Line")
tri_riadky()
print("Second Line")

# Text souboru lenRiadky.py

from emptyLines import tri_riadky

def nine_lines():
tri_riadky()
tri_riadky()
tri_riadky()


nine_lines()

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

Visit: http://www.py.cz