Экземпляры не вызывают функции. Вы можете назвать метод экземпляром, что вы и делаете, например, redCar.carControl()
. Поскольку carControl
является методом, его необходимо определить внутри класса.
Но да, в этом методе вы можете получить доступ к redCar
- потому что ему передается в качестве аргумента и вам нужен параметр для его получения. По соглашению мы используем имя self
для этого параметра.
Пожалуйста, внимательно изучите пример:
traffic_jam = True
class Car:
def control(self):
if traffic_jam:
# The display message will show some debug information that
# identifies the object. It doesn't have the name `red_car`
# built into it - it cannot, because you can use multiple names
# for the same thing - but it is identified uniquely.
print(self, "slowing down and putting on warning lights")
red_car = Car()
# When this call is made, the `red_car` will be passed to the method,
# which knows it as `self`.
red_car.control()