⚡ Цель
КОНСПЕКТ
# неизменяемый тип данных
x = 5
# неизменяемый тип данных
y = 7.1
# неизменяемый тип данных
t = True # может восприниматься в Python как 1
f = False # может восприниматься в Python как 0
# неизменяемый тип данных
s = "string"
# f-строка - позволяет вставлять внутрь строки другие переменные
x = 10
f = f'Переменная x равна {x}'
# список - изменяемый тип данных
# представляет собой перечисление элементов любых типов данных
list1 = [1, 2, 3, 'qwerty', True, 1]
list1[0] # обращение к нулевому (самому левому) элементу
# кортеж - неизменяемый тип данных
# представляет собой перечисление элементов любых типов данных. невозможно изменять этот объект после объявления
u = (1, 2, 3, 4, 5)
u[0] # обращение к нулевому (самому левому) элементу
# множество - изменяемый тип данных
# представляет собой перечисление элементов любых типов данных
# нельзя обращаться по индексу - не имеет четко порядка элементов внутри себя
set1 = set() # создание пустого множества
set2 = {1, 2, 3, 4, 5}
# словарь - изменяемый тип данных
# представляет набор пар типа "ключ: значение"
# нельзя обращаться по индексу - не имеет четко порядка элементов внутри себя
dict1 = {} # создание пустого словаря - !!! не путать с пустым множеством !!!
dict2 = {
1: 'один',
2: 'два',
'key': 'value'
}
# в качестве ключа можно использовать только НЕизменяемые типы данных
dict2[1] # обращение к значению под ключом 1 (НЕ индекс)
dict2['key'] # обращение к значению под ключом 'key'
ООП в Python (часть 1)
class Car:
def __init__(self, brand, color):
self.brand = brand
self.color = color
self.__engine_started = False # Приватное свойство, "спрятанное"
def start_engine(self):
self.__engine_started = True
print("Двигатель запущен!")
def drive(self):
if self.__engine_started:
print("Машина едет!")
else:
print("Сначала запусти двигатель!")
# Используем класс
my_car = Car("BMW", "Black")
my_car.drive() # Сначала запусти двигатель!
my_car.start_engine() # Двигатель запущен!
my_car.drive() # Машина едет!
# Родительский (базовый) класс
class Vehicle:
wheels = 4 # Количество колес (просто атрибут)
speed = 0 # Текущая скорость
def start(self):
print("Машина заведена")
def stop(self):
print("Машина остановлена")
# Дочерний класс (наследует Vehicle)
class Car(Vehicle):
def honk(self):
print("Бип-бип! Машина сигналит!")
# Создание объекта дочернего класса
my_car = Car()
# Используем унаследованные атрибуты и методы
print(my_car.wheels) # 4 (унаследованный атрибут)
print(my_car.speed) # 0 (унаследованный атрибут)
my_car.start() # Машина заведена (унаследованный метод)
my_car.stop() # Машина остановлена (унаследованный метод)
class Animal:
def make_sound(self):
print("Животное издает звук")
class Dog(Animal):
def bark(self):
print("Собака лает: Гав-гав!")
dog = Dog()
dog.make_sound() # Унаследованный метод
dog.bark() # Метод класса Dog
class A:
def method_a(self):
print("Метод из класса A")
class B(A):
def method_b(self):
print("Метод из класса B")
class C(B):
def method_c(self):
print("Метод из класса C")
obj = C()
obj.method_a() # Наследуется от A
obj.method_b() # Наследуется от B
obj.method_c() # Собственный метод класса C
class Flyer:
def fly(self):
print("Этот объект умеет летать")
class Swimmer:
def swim(self):
print("Этот объект умеет плавать")
class Duck(Flyer, Swimmer):
pass
duck = Duck()
duck.fly() # Унаследовано от Flyer
duck.swim() # Унаследовано от Swimmer
class A:
def method_a(self):
print("Метод из A")
class B(A):
def method_b(self):
print("Метод из B")
class C(A):
def method_c(self):
print("Метод из C")
class D(B, C):
def method_d(self):
print("Метод из D")
obj = D()
obj.method_a() # Наследуется через B или C
obj.method_b() # Наследуется от B
obj.method_c() # Наследуется от C
obj.method_d() # Собственный метод класса D
class Animal:
def make_sound(self):
print("Животное издает звук")
class Dog(Animal):
def bark(self):
print("Собака лает: Гав-гав!")
class Cat(Animal):
def meow(self):
print("Кошка мяукает: Мяу-мяу!")
dog = Dog()
dog.make_sound() # Унаследовано от Animal
dog.bark() # Метод класса Dog
cat = Cat()
cat.make_sound() # Унаследовано от Animal
cat.meow() # Метод класса Cat