0
我想設置一個對象屬性等於其他屬性的組合。設置一個對象的屬性等於其他屬性Python
class poly_Uservar(object):
def __init__(self):
self.long1 = 0
self.long2 = 0
self.long3 = 0
self.long4 = 0
self.x = 0
self.command = ''
self.formats = self.long1,self.long2,self.long3,self.long4
def setUservars(self):
for self.x in range (0,50):
decim1 = float(.07)*float(self.x)
decim2 = float(.07)*float(self.x+1)
self.long1 = float(float(10.00000) + float(decim1))
self.long2 = float(float(10.00000) + decim2)
self.long3 = float(self.long1 +.030000)
self.long4 = float(self.long3 +.020000)
cmd = self.command % self.formats
print cmd
time.sleep(.2)
def main():
type= raw_input('Enter type')
Uservar = poly_Uservar()
if type == '3':
Uservar.command = 'Uservar[%i]: 10.07000 %f 10.01000 %f 9.93000 %f\r'
Uservar.formats = Uservar.x,Uservar.long1,Uservar.long2,Uservar.long1
Uservar.setUservar()
if type == '4':
Uservar.command = 'Uservar[%i]: 10.07000 %f 10.01000 %f 9.93000 %f 9.93000 %f\r'
Uservar.formats = Uservar.x,Uservar.long1,Uservar.long2,Uservar.long2,Uservar.long1
Uservar.setUservar()
我遇到的問題是,我的格式atrribute沒有更新到其他屬性,因爲它們被設置。而且我不能在for循環中重新分配它們,因爲取決於用戶輸入,格式會發生變化。所以cmd總是打印出其他屬性的初始化內容。有沒有辦法強制我的代碼更新我的格式屬性,因爲他們改變我的方法? 感謝advace!
我想知道是否需要以某種方式將命令設置爲列表?然後我可以迭代列表? – vburns