Задать вопрос
OccamaRazor
@OccamaRazor

Как присвоить нескольким классам одинаковое значение переменной внутри?

Хочу вытянуть значение цвета фигуры и в дальнейшем использовать. Суть в том чтобы не перебирать if pewka.color == "red" or ladja.color =="red"
а сделать одной переменной или классом:
if figure == "red": #
else: #
class pewka():
    def ___init___(self,x,y,color):
        self.x = x
        self.y = y
        self.color = "red"
class ladja():
    def ___init___(self,x,y,color):
        self.x = x
        self.y = y
        self.color = "red"
  • Вопрос задан
  • 487 просмотров
Подписаться 1 Оценить 4 комментария
Пригласить эксперта
Ответы на вопрос 4
@gill-sama
Попробуйте создать класс предок figure и в него записать общие свойства фигур, такие как цвет, состояние(если необходимо) или любые, которые придумаете, тогда сможете обратившись к переменной прочесть свойство класса предка figure.color
Ответ написан
@fireSparrow
Похоже, вы не очень понимаете, как работают классы.

Если вы создаёте аттрибут self.color - то это аттрибут экземпляра, а не класса. Вы не сможете обратиться к значению этого аттрибута через класс, это значение будет разное для каждого экземпляра.
Ответ написан
Комментировать
qlkvg
@qlkvg
python backend developer
Все очень просто
1. Открываете любой туториал по питону на странице, где рассказывается про ООП в питоне.
2. Читаете.
3. Читаете еще раз внимательно.
3.1. В качестве факультатива читаете PEP8
4. ?????
5. PROFIT
Ответ написан
sanya84
@sanya84
Фанатик Python 3
class Pawn(object):
    def __init__(self,x,y,color='red'):

        self.x = 0
        self.y = 0
        self.color = color
        
  



class Rook(object):
    def __init__(self,x,y,color='red'):

        self.x = 0
        self.y = 0
        self.color = color
        
        
    


if Pawn(0,0) or Rook(0,0):
    pass
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы