Классы и объекты
В предыдущем разделе мы работали со списками, кортежами, словарями и строками. Все это довольно особые случаи в программировании на Python. В синтаксисе Python есть уникальный, заранее определенный способ объявлять объект каждого из этих типов:
# Lists are declared with square brackets
my_list = [1,2,3]
# Strings are declared with quotation marks
my_string = "Hi there!"
# Dictionaries are declared with curly brackets
my_dict = {"one": 1, "two:": 2}
# Tuples are declared with parentheses
my_tuple = (1,2,3)Когда объявляется объект какого-то другого типа, нам нужно вызвать специальную функцию инициализации, которая называется конструктором. Давайте посмотрим, как работать с дробями через класс Fraction.
# we are using the class Fraction from the module fractions
from fractions import Fraction
# create some new fractions
half = Fraction(1,2)
third = Fraction(1,3)
another = Fraction(3,11)
# print these out
print(half)
print(third)
print(another)
# Fractions can be added together, for example
print(half + third)1/2 1/3 3/11 5/6
Как видно выше, вызовы методов-конструкторов выглядят немного иначе, чем обычные вызовы методов, с которыми мы сталкивались раньше. Во-первых, они не привязаны ни к какому объекту через точечную запись (ведь вызов конструктора нужен, чтобы сначала создать объект). Имя метода-конструктора также пишется с заглавной буквы: half = Fraction(1,2). Давайте подробнее посмотрим, как создаются объекты, познакомившись с понятием класс.