我對Python使用C#已經很多年了,而且我希望有人能夠幫助我解決這個問題。我有一個名爲actuators.py的模塊,其中包含許多用於定義我在機器人項目中使用的伺服的屬性和方法的類。在另一個模塊調用robot.py,我實例化我的執行機構是這樣的:如何在另一個模塊中引用對象屬性
import actuators as Actuators
myActuators = Actuators.AllActuators()
這樣,只要我的robot.py模塊在我訪問我的伺服系統的性能。例如,我可以這樣寫:
print myActuators.HeadTilt.MinPosition
獲得允許伺服器傾斜機器人頭部的最小值。到現在爲止還挺好。
現在我想在一個單獨的線程中訪問這些相同的值,這個線程由一個名爲tilt_head.py的不同模塊定義。我假設我需要導入對robot.py模塊的引用,但是這樣做最終會重新執行robot.py中的所有代碼,而我真正想要的是對myActuators對象的靜態引用。我無法使用
from robot.py import myActuators
因爲myActuators不是模塊。
在C#中,我會使用這樣的聲明,這樣做:
public static Actuators myActuators;
,然後讓我引用myActuators在我的項目中的任何其他文件。有沒有辦法在Python中做類似的事情?如果你需要我的實際代碼,我會很樂意發佈它。
謝謝!
只是一句澄清和術語。 Python沒有C#所具有的「屬性」。它確實有方法,並調用其數據成員「屬性」。通過其廣泛的動態編程能力,如果您需要它們,您可以破解出類似於C#屬性的東西。我認爲在這裏,你只是指數據成員/屬性。 – Karmastan 2010-06-28 17:23:24