2014-09-21 144 views
0

在我的程序的主循環中,每次執行循環時都會計算出十幾個變量。在這個階段,我寧願使用'NameError',而不是讓先前傳遞的變量影響未來循環傳遞的結果。每次循環刪除多個變量循環

現在我只是有一個系列下面的語句的運行在每個循環的最後一步:

try: 
    del my_var1 
except: 
    pass 

我懷疑有一個更好的方式來做到這一點?

回答

0

你可以使用一個dict代替裸變量名:

while True: 
    data = dict() 
    data['my_var1'] = ... 

通過每一次循環中,data = dict()將清除所有的按鍵。

+0

雖然我需要回去和改變一些代碼行,這對我來說似乎是一個更好的方式去了解它。 – Groundhog 2014-09-21 22:53:03

0

你可以把循環體中的函數:

def _f(i): 
    lots of code with many variables here 

for i in range(20): 
    _f(i) 
+0

這對於我在(太多回報)的早期測試階段是行不通的,但是這可能與我一旦進一步完成時我會做的事情非常相似。 – Groundhog 2014-09-21 22:54:44