Например: День 23 — это игра-лягушка. Инструктор создает класс CarManager, который снова и снова генерирует один и тот же автомобиль. Кажется, нет никакой причины, кроме организации кода, по которой функции CarManager не могли быть помещены в файл main.py.
Вопрос:
- Я пытаюсь различить и понять, почему класс должен быть создан, когда атрибуты и функции вполне могут быть размещены в main.py без разницы в количестве код написан. Следует ли создавать класс просто для организации и наведения порядка в вашем main.py?
Класс Car:
from turtle import Turtle
import random
CAR_COLORS = ["blue", "red", "black", "green", "pink", "orange"]
class Car:
def __init__(self, size1, speed1):
self.car_pieces = []
self.car_list = []
self.create_car(size1)
self.speed = speed1
def create_car(self, car_size):
color2 = random.choice(CAR_COLORS)
xcor = random.randrange(310, 350, 20)
ycor = random.randrange(-235, 226, 40)
for i in range(car_size):
car_piece = Turtle()
car_piece.color(color2)
car_piece.shape("square")
car_piece.penup()
car_piece.setposition(xcor, ycor)
self.car_pieces.append(car_piece)
xcor += 20
def car_move(self):
for i in range(len(self.car_pieces)):
self.car_pieces.backward(self.speed)
main.py
#Car generation
car_list = []
motorcycle_speed = 12
car_speed = 5
truck_speed = 3
semi_speed = 1
def car_generator():
car_options = ["motorcycle", "car", "truck", "semi"]
car_choice = random.choice(car_options)
random_chance = random.randint(1,6)
if random_chance == 1:
if car_choice == "motorcycle":
motorcycle_object = Car(1, motorcycle_speed)
car_list.append(motorcycle_object)
elif car_choice == "car":
car_object = Car(2, car_speed)
car_list.append(car_object)
elif car_choice == "truck":
truck_object = Car(3, truck_speed)
car_list.append(truck_object)
elif car_choice == "semi":
semi_object = Car(4, semi_speed)
car_list.append(semi_object)
else:
pass
Подробнее здесь: https://stackoverflow.com/questions/792 ... -of-python