स्वचालित गार्बेज कलेक्शन Python की महत्वपूर्ण विशेषताओं में से एक है। गार्बेज कलेक्टर तंत्र उन ऑब्जेक्ट द्वारा कब्जा की गई मेमोरी को पुनः प्राप्त करने का प्रयास करता है जो अब प्रोग्राम द्वारा उपयोग में नहीं हैं।
Python गार्बेज कलेक्शन के लिए रेफरेंस काउंटिंग तंत्र का उपयोग करता है। Python इंटरप्रेटर इस बात की गिनती रखता है कि किसी ऑब्जेक्ट को अन्य ऑब्जेक्ट द्वारा कितनी बार संदर्भित किया जाता है। जब किसी ऑब्जेक्ट के संदर्भ हटा दिए जाते हैं, तो उस ऑब्जेक्ट की गिनती कम हो जाती है। जब रेफरेंस काउंट शून्य हो जाता है, तो ऑब्जेक्ट की मेमोरी पुनः प्राप्त हो जाती है।
आम तौर पर यह तंत्र स्वचालित रूप से किया जाता है। हालांकि, यदि प्रोग्राम में कोई विशेष स्थिति उत्पन्न होती है तो इसे जानबूझकर किया जा सकता है। 'gc' मॉड्यूल गार्बेज कलेक्शन इंटरफेस को परिभाषित करता है। 'gc' मॉड्यूल में निम्नलिखित फ़ंक्शन परिभाषित हैं
| enable() | स्वचालित गार्बेज कलेक्शन सक्षम करें। |
| disable() | स्वचालित गार्बेज कलेक्शन अक्षम करें। |
| isenabled() | यदि स्वचालित संग्रह सक्षम है तो True लौटाता है। |
| collect() | बिना तर्क के, पूर्ण संग्रह चलाएं। वैकल्पिक पूर्णांक तर्क निर्दिष्ट करता है कि किस पीढ़ी को एकत्र करना है (0 से 2 तक)। यदि पीढ़ी संख्या अमान्य है तो ValueError उठाया जाता है। अप्राप्य ऑब्जेक्ट की संख्या लौटाई जाती है। |
| set_threshold() | गार्बेज कलेक्शन थ्रेशोल्ड (संग्रह आवृत्ति) सेट करें। |
| get_threshold() | वर्तमान संग्रह थ्रेशोल्ड को टपल के रूप में लौटाएं। |
| callbacks | कॉलबैक की सूची जो गार्बेज कलेक्टर द्वारा संग्रह से पहले और बाद में लागू की जाएगी। |