Передать python объект в качестве аргумента вместо импорта? Лучшая практика? - PullRequest
0 голосов
/ 03 февраля 2020

Я новичок в Python и в настоящее время пытаюсь запрограммировать проект с разными модулями, где каждый модуль содержит один класс.

Теперь я импортирую все модули в моем основном скрипте для создания объектов всех разных модулей. .

Затем я передаю некоторые объекты в «конфигурацию» модуля, чтобы я мог использовать и изменять атрибуты модулей: шаговый двигатель, сервомотор и emergencystop - похоже, это работает.

Мой вопрос сейчас: это правильный способ сделать это? Каким-то образом кажется неправильным импортировать модули только из основного скрипта - что лучше для этого делать?

main.py

import steppermotors
import servomotor
import robotprogram
import emergencystop
import configuration

def main():
  stepper = steppermotors.StepperMotors()
  servo = servomotor.ServoMotor()
  prg = robotprogram.RobotProgram()
  estop = emergencystop.EmergencyStop()
  config = configuration.Configuration(stepper, servo, estop)
...

конфигурация. py

class Configuration:
  def __init__(self, stepper, servo, estop):
    self.stepper = stepper
    self.servo = servo
    self.estop = estop
  def example_fcn():
    print(self.stepper.AXIS_LIMIT)
    print(self.estop.STATE)
    self.servo.close_gripper()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...