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

शब्दकोश प्रविष्टियों जैसी कक्षाओं में गतिशील गुण कैसे जोड़ें?

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

How to Add Dynamic Properties to Classes like Dictionary Entries?

कक्षाओं में गतिशील गुण जोड़ना

नकली कक्षाओं का उपयोग करके डेटाबेस परिणाम सेट को अनुकरण करने की खोज में, एक चुनौती उत्पन्न होती है: गतिशील कैसे निर्दिष्ट करें किसी ऐसे उदाहरण के गुण जो किसी शब्दकोश से मिलते जुलते हों। इसमें ऐसे गुण बनाना शामिल है जो विशिष्ट मानों के साथ गुणों की तरह व्यवहार करते हैं। self.fn_readyonly))

हालाँकि, इससे वांछित व्यवहार के बजाय प्रॉपर्टी ऑब्जेक्ट प्राप्त हुए।

setattr(self, k, property(lambda x: vs[i], self.fn_readyonly))

क्लास फू(ऑब्जेक्ट): उत्तीर्ण फू = फू() foo.a = 3 Foo.b = संपत्ति (लैम्ब्डा स्व: स्व.ए 1) print(foo.b) # Prints 4

इस उदाहरण में, हम प्रॉपर्टी डिस्क्रिप्टर का उपयोग करके क्लास Foo में एक प्रॉपर्टी b जोड़ते हैं। Foo.b तक पहुंचने पर, पायथन डिस्क्रिप्टर की __get__ विधि को कॉल करता है और क्लास इंस्टेंस को एक तर्क के रूप में पास करता है। __get__ विधि तब संपत्ति का मूल्य लौटाती है, जिसकी गणना self.a 1 के रूप में की जाती है।

class Foo(object):
    pass

foo = Foo()
foo.a = 3
Foo.b = property(lambda self: self.a   1)
print(foo.b)  # Prints 4
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3