我在做家庭作業時遇到了一些麻煩。我進行了大量的研究,但都陷入了困境。分配如下:Python中左值綁定時刻的內存分配類型
制定和實施,其中顯示了不同 變量類型指定的語言工具,根據自己的 通過分類與左值結合當下的例子。
我已經研究了不同類型,並得出如下:
變量可以基於與左值結合當下4種類型進行劃分。
- 靜態:內存運行時和程序
- 自動的整個執行過程中最後在存儲器中的變量(或半靜態)之前分配:當裝入變量的範圍內存被分配,和解除分配時留下範圍。
- 動態:內存僅在執行期間需要時分配。 (我認爲這是爲了代替在例如 函數調用中分配,它在實際變量聲明爲 run時分配)。內存在需要時被釋放。指針是我發現這個的一個例子,我找到了 。
- 半動態:我還沒有找到明確的定義,但我見過的一個例子是數組,其大小在運行時才知道。
我在Pascal中有每個示例,但是我爲此任務指定的語言是Python。我找不到Python使用的分配類型。我已經看到Python使用Dynamic allocation的here,但我不確定這是否真的是動態的(由垃圾回收器管理的手動釋放)還是自動的(因爲程序員不需要手動執行此操作)。我也不確定像類屬性,全局變量和常量這些東西是靜態的還是與其他變量(自動/動態)一樣。
任何有關python使用的內存類型的見解,或者甚至審查每種類型的定義都將不勝感激。如前所述,我已經研究過這個,但是我發現的或者不清楚(對我)或者編程特定的問題(即,如何在Python中手動分配/釋放內存),而不是上面提到的Python使用的類型。
好問題!如果不真正考慮這一點,我只能確認你已經說過的內容:Python中的大部分內存分配都是動態的。即使是類(它們只是Python中的對象)也是動態創建/分配的。我會嘗試考慮一些邊緣情況(模塊,迭代變量等),並在稍後發佈答案。 – halflings