Trong C++, các biến cục bộ được lưu trữ trong ngăn xếp, trong khi dữ liệu được tạo bởi toán tử mới được lưu trữ trong heap. Vì vậy, những gì về các biến trong Python? Chúng được lưu trữ ở đâu?Các biến trong Python được lưu trữ ở đâu?
Trả lời
sao chép từ Python documentation:
Quản lý bộ nhớ bằng Python liên quan đến một đống tin có chứa tất cả các đối tượng Python và cấu trúc dữ liệu. Việc quản lý heap riêng này được đảm bảo nội bộ bởi trình quản lý bộ nhớ Python. Trình quản lý bộ nhớ Python có các thành phần khác nhau xử lý các khía cạnh quản lý lưu trữ động khác nhau, như chia sẻ, phân đoạn, preallocation hoặc bộ nhớ đệm.
Điều này là gây hiểu lầm - mặc dù từ quan điểm của mã C, các công cụ python nói chung là trên heap, python vẫn có stack cuộc gọi riêng của nó. – Marcin
@Marcin: Đây là từ tài liệu Python chính thức và câu trả lời tương tự được đưa ra cho các câu hỏi được liên kết khác. Điều duy nhất để bổ sung ở đây là điều này cụ thể đối với CPython, dù sao đi nữa là việc triển khai Python được sử dụng rộng rãi nhất. – dkar
Chỉ vì nó từ một tài liệu chính thức, nó không có nghĩa là nó áp dụng cho câu hỏi này. Trước hết, câu hỏi này là về các biến; thứ hai tài liệu là về những gì các thông dịch viên CPython trông giống như khi lập trình trong C. – Marcin
- 1. Bạn lưu trữ các biến trong jinja ở đâu?
- 2. Các lớp java được lưu trữ trong Oracle ở đâu?
- 3. plugin maven được lưu trữ ở đâu
- 4. ".NET Storage" được lưu trữ ở đâu?
- 5. TempData được lưu trữ ở đâu?
- 6. Các biến cục bộ .NET được lưu ở đâu?
- 7. ViewState được lưu trữ ở đâu?
- 8. Các biến trong C++ được lưu ở đâu?
- 9. Vars được lưu trữ ở đâu trong Nodej?
- 10. Các mô-đun python được lưu ở đâu?
- 11. Các khối CMS tĩnh Magento được lưu trữ ở đâu?
- 12. Các tệp evtx được lưu trữ ở đâu được lưu trữ?
- 13. Các giao dịch mua InAPP được lưu trữ ở đâu?
- 14. Phương thức được lưu trữ trong bộ nhớ ở đâu?
- 15. Dự án được lưu trữ trong Eclipse ở đâu?
- 16. Macro được lưu trữ trong Notepad ++ ở đâu?
- 17. Dấu trang Eclipse được lưu trữ ở đâu?
- 18. Lưu trữ tệp nhật ký lưu trữ ở đâu?
- 19. Macro được lưu ở đâu?
- 20. Outlook lưu trữ các tệp mã VBA ở đâu?
- 21. Lưu trữ Smalltalk đã mất ở đâu?
- 22. TÙY CHỌN THIẾT LẬP .... chúng được lưu trữ ở đâu
- 23. Đối tượng tạm thời được lưu trữ ở đâu?
- 24. Kho lưu trữ EclipseLink/Maven ở đâu?
- 25. Tệp Rails này được lưu trữ ở đâu? db/development.sqlite3
- 26. Nội dung thư hàng đợi được lưu trữ ở đâu?
- 27. Mật khẩu khóa tên mạnh được lưu trữ ở đâu?
- 28. Dữ liệu đặt hàng Magento được lưu trữ ở đâu?
- 29. Máy chủ đã đăng ký được lưu trữ ở đâu?
- 30. Mã nguồn cho JUnit được lưu trữ ở đâu?
Related: http://stackoverflow.com/questions/14546178/does-python-have-a-stack-heap-and-how-is-memory-managed –
Liên quan: http://stackoverflow.com/question/2353552/cpython-nội bộ-những gì-được-lưu-on-the-stack-và-heap –
@AshwiniChaudhary Cảm ơn rất nhiều! – injoy