การรวบรวมขยะอัตโนมัติเป็นหนึ่งในคุณสมบัติที่สำคัญของ Python กลไกตัวรวบรวมขยะพยายามเรียกคืนหน่วยความจำที่ครอบครองโดยอ็อบเจ็กต์ที่ไม่ได้ใช้งานโดยโปรแกรมอีกต่อไป
Python ใช้กลไกการนับอ้างอิงสำหรับการรวบรวมขยะ ตัวแปล Python นับจำนวนครั้งที่วัตถุถูกอ้างอิงโดยวัตถุอื่น เมื่อลบการอ้างอิงไปยังวัตถุ การนับสำหรับวัตถุจะลดลง เมื่อจำนวนอ้างอิงกลายเป็นศูนย์ หน่วยความจำอ็อบเจ็กต์จะถูกเรียกคืน
โดยปกติกลไกนี้จะดำเนินการโดยอัตโนมัติ อย่างไรก็ตาม สามารถทำได้โดยตั้งใจหากมีสถานการณ์บางอย่างเกิดขึ้นในโปรแกรม โมดูล 'gc' กำหนดอินเทอร์เฟซการรวบรวมขยะ ฟังก์ชันต่อไปนี้ถูกกำหนดในโมดูล 'gc'
เปิดใช้งาน () | เปิดใช้งานการรวบรวมขยะอัตโนมัติ |
ปิดการใช้งาน () | ปิดใช้งานการรวบรวมขยะอัตโนมัติ |
เปิดใช้งาน () | คืนค่า จริง หากเปิดใช้งานการรวบรวมอัตโนมัติ |
รวบรวม() | โดยไม่มีอาร์กิวเมนต์ เรียกใช้คอลเลกชันแบบเต็ม อาร์กิวเมนต์จำนวนเต็มเป็นทางเลือกระบุรุ่นที่จะรวบรวม (จาก 0 ถึง 2) ValueError จะปรากฏขึ้นหากหมายเลขรุ่นไม่ถูกต้อง จำนวนวัตถุที่ไม่สามารถเข้าถึงได้ถูกส่งคืน |
set_threshold() | ตั้งค่าเกณฑ์การรวบรวมขยะ (ความถี่การรวบรวม) |
get_threshold() | คืนค่าเกณฑ์การรวบรวมปัจจุบันเป็น tuple |
โทรกลับ | รายการการเรียกกลับที่จะเรียกใช้โดยตัวรวบรวมขยะก่อนและหลังการรวบรวม |