Proměnné se v Pythonu vytváří přiřazením hodnoty. Narozdíl od
některých jiných jazyků neplatí, že dosud nevytvořená proměnná má
implicitní hodnotu. Přístup k nevytvořené proměnné způsobí výjimku
NameError
. Jména všech objektů (tedy i proměnných) jsou citlivá na
velká a malá písmena (case-sensitive).
>>> a=486+100
>>> a
586
>>> promenna=a/2
>>> promenna
293
>>> a = b = c = 0
>>> a, b, c
(0, 0, 0)
>>> x, y, z = 1, 2, 3
>>> x, y, z
(1, 2, 3)
Poslední přiřazení není žádná magická konstrukce, na levé i na pravé straně přiřazení je n-tice a přiřazení se provedlo po složkách.
ADVANCED:
Přiřazení není výraz (expression), ale příkaz
(statement)> Možnost přiřadit více proměnným najednou tu samou hodnotu je
přímo v
syntaxi jazyka.
Lokální proměnné jsou rušeny automaticky v okamžiku opuštění funkce,
ve které byly definovány. Je-li potřeba zrušit proměnnou dříve,
použijeme příkaz del
.
>>> a = ':-)'
>>> a
':-)'
>>> del a
>>> a
Traceback (innermost last):
File "<stdin>", line 1, in ?
NameError: a
Interpreter hlásí, že nic takového nezná. (Přesněji: zjistil, že
takový objekt nemá v žádném používaném prostoru jmen a vygeneroval
výjimku NameError
s parametrem a
. I k výjimkám se dostaneme.)
Příkaz del
může zrušit více objektů najednou, jednotlivé entity
se oddělují čárkami, ruší se zleva.
print
Příkaz print
na standarní výstup vypíše své parametry.
>>> print 1
1
>>> pi=3.141592653
>>> print pi
3.141592653
>>> print ':-)'
:-)
>>> print pi, 1
3.141592653 1
print
(narozdíl od výpisu v interaktivním sezení) vypisuje řetězce
bez jakýchkoliv ohraničujících znaků. Má-li print
vypsat více
výrazů, měly by tyto být od sebe odděleny čárkou.
Pokud za parametry není znak ``,
'' (čárka), výstup přejde na další
řádek. Čárka způsobí odskočení o jednu mezeru.
ADVANCED:
Print vypisuje pomocí objektu sys.stdout
,
nahrazením tohoto objektu můžete jednoduše změnit výstup operátoru.
Neexistuje-li takový objekt, či nemá-li definovanou metodu write
,
vygeneruje se výjimka RuntimeError
.