https://docs.python.org/3/library/index.html
W Pythonie wartości (ang. values), a nie zmienne (ang. names, variables), posiadają typ - tak więc Python jest językiem z typami dynamicznymi. Wszystkie wartości przekazywane są przez referencję.
Każda zmienna posiada (1) nazwę i zawiera (2) referencję do określonego obiektu. Zmienna jest uniwersalna, sama nie ma określonego typu, może przechowywać referencję do obiektu każdego typu. Wszystkie zmienne muszą mieć jawnie przypisane wartości, zanim będzie można ich użyć.
Nazwy zmiennych podlegają pewnym regułom.
(1) Nazwa rozpoczyna się od litery lub znaku podkreślenia (_).
(2) Nazwa nie może rozpoczynać się od cyfry (0-9).
(3) Nazwy mogą zawierać jedynie znaki alfanumeryczne i znak podkreślenia
(A-Z, a-z, 0-9, _).
(4) Nazwy są 'case-sensitive' (word, WORD, i Word to trzy różne nazwy).
>>> X Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'X' is not defined >>> X = 11 # powołujemy do życia zmienną X, ma referencję do liczby >>> X # sprawdzamy wartość zmiennej 11 >>> X = "alpha" # zmienna teraz ma referencję do napisu >>> X # sprawdzamy wartość zmiennej 'alpha' >>> del X # usuwamy zmienną >>>
W Pythonie obiekty posiadają dwa standardowe pola:
Każdy obiekt ma jeszcze niezmienną tożsamość (identity), co można utożsamiać z adresem w pamięci. Funkcja wbudowana id() zwraca liczbę całkowitą reprezentującą adres w pamięci.
name1 = expression # assignements name2 = name1 # the same value with two 'labels' def function_name(parameter_name): # function definitions pass class ClassName: # class definitions pass import module_name # import statements for item_name in sequence: pass with expression as context_name: # with statements pass try: statements except exception_name as exception_instance_name: statements del some_name # unbinding names