我有一個類方法,它構造一個numpy陣列作為類屬性。我希望None在回傳后將此屬性設定為。我使用的是屬性而不是變數,因為創建陣列是以并行方式完成的。這些陣列可能非常大,所以我想避免在記憶體中兩次使用它。什么是最好的方法來做到這一點?
import numpy as np
class foo:
def __init__(self):
self.values = None
def bar(self):
self.values = np.arange(1e9) # Large array
return self.values
self.values = None # To be set to None after returning
uj5u.com熱心網友回復:
Python 不會在賦值時復制物件,它只會傳遞對同一物件的參考。
return np.arange(1e9)將簡單地回傳對創建的陣列的參考。創建任何包含它的新變數,例如var = np.arange(1e9),只會將陣列的參考分配給變數。
如果有幫助,歡迎您將其形象化。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/394724.html
上一篇:使用navArgs將Fragment轉換為DialogFragment,如何從Fragment類外部導航到DialogFragment
