Skip to content
This repository was archived by the owner on Feb 15, 2023. It is now read-only.

Commit 3d4d16a

Browse files
committed
Upozorneni na importovani #43
V casti 'moduly' pridat upozorneni a nepojmenovavani vlastnich souboru stejne jako pouzivane moduly Resolves #43
1 parent 867fe57 commit 3d4d16a

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

zaklady-programovani/prvni-programy/prvni-programy.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,20 @@ Mnozí z vás už si stěžovali, že Python neobsahuje funkci, která počítá
111111
3.5
112112
```
113113

114-
Poslední avšak velmi důležitý modul, jenž si v tuto chvíli představíme, je modul `sys`. Ten obsahuje funkce, které umožňují Pythonu komunikovat s operačním systémem, ve kterém je spuštěný. Nás z tohoto modulu bude zajímat především proměnná (ano, moduly mohou obsahovat kromě funkcí také proměnné) s názvem `argv` Ta nám umožní přistupovat k takzvaným _parametrům příkazové řádky_.
114+
**Pozor!** Nikdy nepojmenovávejte svůj skript stejně jako modul, který používáte. Pokud byste pojmenovali svůj skript `math.py`, uvnitř napsali `import math` a používali nějakou funkci z tohoto modulu, Python ji bohužel nenajde. V tu chvíli totiž místo "pravého" modulu `math` naimportoval skript `math.py` ve vašem pracovním adresáři a v něm jistě volanou funkci nemáte definovanou.
115+
116+
Pokud se vám to náhodou stalo a Python vám vypsal něco jako:
117+
118+
```
119+
AttributeError: partially initialized module 'math' has no attribute 'ceil' (most likely due to a circular import)
120+
```
121+
122+
Víte už čím to je. Přejmenujte váš skript na jiný název a pokud se vám v pracovním adresáři vytvořil adresář `__pycache__`, tak jej také smažte.
115123

116124
## Parametry příkazové řádky
117125

126+
Poslední avšak velmi důležitý modul, jenž si v tuto chvíli představíme, je modul `sys`. Ten obsahuje funkce, které umožňují Pythonu komunikovat s operačním systémem, ve kterém je spuštěný. Nás z tohoto modulu bude zajímat především proměnná (ano, moduly mohou obsahovat kromě funkcí také proměnné) s názvem `argv` Ta nám umožní přistupovat k takzvaným _parametrům příkazové řádky_.
127+
118128
Všechny programy, které jsme zatím společně vytvořili, obsahovaly všechna nezbytná data jaksi natvrdo přímo uvnitř kódu programu. Možná vás napadne, že například program, který má naměřené teploty z minulého týdne zadrátované přímo uvnitř kódu, nám je jen pramálo k užitku. Nemůžeme mu předat nově naměřené teploty jinak, než upravit jeho zdrojový kód. Do skutečně užitečného programu musíme být schopni dostat data jaksi z venku. K tomu máme vícero možností ‒ například nahrát data ze souboru na disku, což se naučíme v příští lekci, můžeme je stáhnout z internetu (také se časem naučíme), ale také je můžeme programu předat přímo na příkazové řádce, když jej spouštíme.
119129

120130
Představme si například program, kterému bychom chtěli předat počet minut a on by nám vypsal v hezkém formátu kolik to dohromady dělá hodin a zbylých minut. Pojmenujme náš program například `cas.py`. Pokud chceme zjistit, jaký čas představuje 325 minut, zavoláme náš program takto:

0 commit comments

Comments
 (0)