"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मैं डेटा संग्रह के लिए किसी कक्षा के सभी उदाहरणों को कैसे ट्रैक और एक्सेस कर सकता हूं?

मैं डेटा संग्रह के लिए किसी कक्षा के सभी उदाहरणों को कैसे ट्रैक और एक्सेस कर सकता हूं?

2024-11-07 को प्रकाशित
ब्राउज़ करें:485

How can I Track and Access All Instances of a Class for Data Collection?

डेटा संग्रह के लिए क्लास इंस्टेंस को ट्रैक करना

कल्पना करें कि आप अपने प्रोग्राम के अंत के करीब पहुंच रहे हैं और आपको एकाधिक से एक विशिष्ट चर निकालने की आवश्यकता है किसी शब्दकोश को पॉप्युलेट करने के लिए किसी कक्षा के उदाहरण। यह कार्य उन वस्तुओं के साथ काम करते समय उत्पन्न हो सकता है जिनमें आवश्यक डेटा होता है जिसे आपको एकत्र करने या विश्लेषण करने की आवश्यकता होती है।

समस्या को स्पष्ट करने के लिए, इस सरलीकृत वर्ग संरचना पर विचार करें:

class Foo():
    def __init__(self):
        self.x = {}

foo1 = Foo()
foo2 = Foo()

अब, मान लीजिए कि आप उदाहरणों की संख्या की परवाह किए बिना, Foo() के प्रत्येक उदाहरण से शब्दकोश x को एक नए शब्दकोश में एकत्र करना चाहते हैं।

परंपरागत रूप से, समाधान अक्सर उदाहरणों की पूर्व-निर्धारित सूची रखने पर भरोसा करते हैं। हालाँकि, व्यावहारिक परिदृश्यों में, उदाहरणों की संख्या भिन्न हो सकती है और आपको उनकी सूची तक तत्काल पहुंच नहीं मिल सकती है।

वर्ग उदाहरणों पर नज़र रखने के लिए एक प्रभावी समाधान एक वर्ग चर का उपयोग करना है:

class A(object):
    instances = []

    def __init__(self, foo):
        self.foo = foo
        A.instances.append(self)

इस दृष्टिकोण के साथ, हर बार A का एक उदाहरण बनाया जाता है, यह स्वचालित रूप से उदाहरणों की सूची में जुड़ जाता है। अपने प्रोग्राम के अंत में, आप आसानी से इंस्टेंसेस सूची तक पहुंच सकते हैं और अपने शब्दकोश के लिए वांछित डेटा निकाल सकते हैं:

foo_vars = {id(instance): instance.foo for instance in A.instances}

एकल इंस्टेंस सूची बनाए रखकर, आप क्लास ए के सभी इंस्टेंस को आसानी से ट्रैक और एक्सेस कर सकते हैं। यह दृष्टिकोण आपके क्लास इंस्टेंस से डेटा इकट्ठा करने का एक गतिशील और लचीला तरीका प्रदान करता है, भले ही उनकी संख्या अज्ञात या परिवर्तनशील हो।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3