在Python 中存取動態設定的局部變數
儘管有前面的建議,但透過locals() 直接修改局部變數是不可靠且未定義的。相反,可以採用幾種實用的方法來實現動態局部變數操作。
字典運算
利用字典來指派並存取動態局部變數:
d = {} d['xyz'] = 42 print(d['xyz'])
對象屬性
設置對像上的屬性來創建動態局部變量:
class C: pass obj = C() setattr(obj, 'xyz', 42) print(obj.xyz)
注意:
存取非函數命名空間(模組、類別定義、實例)中的變數通常涉及字典查找。函數局部變數可以針對速度進行最佳化,通常不可能在函數內直接修改 locals()。
IronPython 異常
在 IronPython 中,明確呼叫 locals( ) 將局部變數傳回為字典。在函數中將不同的名稱綁定到局部變數可以存取綁定範圍的局部變數。
結論
使用字典或物件屬性為動態設定提供了可靠的方法Python 中的局部變數。避免依賴直接修改 locals() 以防止不可預測的行為。
以上是如何在Python中動態設定和存取局部變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!