用文字表達我的問題是非常困難的。 Basicly心中已經得到了類處理的base.py一切:來自具有不同變量的模塊的類
x = 3
class object_one(object):
def __init__(self):
self.x = x+3
class object_two(object):
def __init__(self):
self.x = x**2
self.y = object_one()
這是我的基本對象。現在我需要和object_two
多次做相同,但不同的變量x
:
module_a.py
from base import object_one, object_two # with x = 7
module_b.py
from base import object_one, object_two # with x = 13
但如何做模塊_ *。PY有像她那樣,我得到
import module_a, module_b
print(module_a.object_one().x, module_a.object_two().y.x) # Output: 49 49
print(module_b.object_one().x, module_b.object_two().y.x) # Output: 169 169
因爲有兩個以上的班base.py和兩個以上的模塊一個和b我不想使用modules_ *。py中爲每個類設置的類變量。話又說回來
x = 7 # in module_b.py x = 13
,你的主要程序:
你爲什麼想這樣做?你究竟在努力實現什麼?這聽起來好像是創建非常不可維護的代碼的好方法。 – barny
*模塊_ \ *。py *不同**器件**(鎖定放大器,舞臺控制器等)。在* base.py *中有幾個容器(首選項,API,GUI,...)用於'x'中給出的每個設備的不同**模型**(例如,鎖定:斯坦福研究,信號恢復等)。 – Chickenmarkus
爲什麼你在base.py的頂部有x = 3,當你需要時在對象構造中傳遞x作爲參數會不會更好? – scrineym