Tesla4o
@Tesla4o
Без пользы жизнь - безвременная смерть... В. Гете

Как в Python сделать класс шину?

В плюсах все проще, создал класс Bus например и внем сетеры и гетеры, они существуют по всему проекту если не создавать конечно его new а обращаться через сингл тон например. В питоне столкнулся с проблемой, если я делаю сет в одном файле а гет в другом то у меня приходят пустые значения? В Python как то создается новый обьект при каждом обращении к классу?
Пример:
Bus.py
class Bus:
    variable = 0
    def setVar(self, vr):
        self.variable = vr

    def getVar(self):
        return self.variable


Init.py
import Bus

def init():
    Bus.Bus().setVar(10)


run.py

import Bus

def run():
   r = Bus.Bus().getVar()
   print(r) # h.. tam plaval, pusto

main.py
import Init
import run

if __name__ == "__main__":
    Init.init()
    run.run()
  • Вопрос задан
  • 234 просмотра
Пригласить эксперта
Ответы на вопрос 2
@deliro
Я тебе по секрету скажу, что во всех языках так. Ты не знаешь, что такое ООП, не знаешь, чем отличаются объекты от классов. Ты создаёшь два разных объекта, присваиваешь значение одному, а пытаешься получить от другого. Возьми любую (буквально) книгу по питону для самых маленьких, потрудись.
Ответ написан
AnkoII
@AnkoII
Студент
class Bus:
    variable = 0
    @classmethod
    def setVar(self, vr):
        self.variable = vr

    @classmethod
    def getVar(self):
        return self.variable


Прочитай про классметоды
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы