Допустим, у меня есть person.py, и это выглядит примерно так:

class Eyes:
    def __init__(self, color):
        self.color = color

class Head:
    def __init__(self, size):
        self.have_dark_eyes = ???
        self.size = size

Затем:

import person

eyes = person.Eyes("blue")
head = person.Head("small")
if (head.has_dark_eyes == True):
    ...

Я хотел бы использовать атрибут color, чтобы установить для have_dark_eyes значение True или False, но как? Я думал о замене ??? на True if color == "brown" else False, но это не сработает.

Спасибо.

-1
titoEarly 19 Дек 2019 в 22:15

1 ответ

Вы должны будете, по крайней мере, предоставить Head экземпляр Eyes, например что-то вроде

class Eyes:
    def __init__(self, color):
        self.color = color

class Head:
    def __init__(self, eyes, size):
        self.have_dark_eyes = eyes.color == 'brown'
        self.size = size

Пример использования:

dark_eyes = Eyes('brown')
head = Head(dark_eyes, 10)
print(head.have_dark_eyes)  # Prints True
0
fuglede 19 Дек 2019 в 19:18