मैं पाइथन में फॉर्म सत्यापन के लिए एक डीएसएल बना रहा हूं, और आवश्यकताओं में से एक यह निर्दिष्ट करने में सक्षम होना चाहिए कि एक फ़ील्ड निरंतर या किसी अन्य फ़ील्ड मान से अधिक या कम होना चाहिए। नतीजतन, मैं आसानी से <
, >
, <=
और >=
ऑपरेटरों को operator
मॉड्यूल में उनके समकक्ष कार्यों में आसानी से मैप करने की कोशिश कर रहा हूं, ताकि उन्हें फील्ड सत्यापन के दौरान बुलाया जा सके।मानचित्र तुलना ऑपरेटर कॉल करने के लिए कॉल
मुझे एहसास है कि मैं ऑपरेटर को फ़ंक्शन में मैप करने के लिए सिर्फ एक शब्दकोश बना सकता हूं, लेकिन क्या ऐसा करने का एक अच्छा तरीका है? क्या पाइथन के अंतर्निहित मैपिंग तक पहुंचने का कोई तरीका है?
मुझे यकीन नहीं है कि मैं समझता हूं कि आप वास्तव में क्या हासिल करने की कोशिश कर रहे हैं। पाइथन 'नक्शा' इन ऑपरेटरों को '__cmp__', '__eq__',' __ne__' और इसी तरह के अनुसार विधियों के अपने कार्यान्वयन के वर्ग के लिए, और वास्तविक संपीड़न समारोह में सटीक मैपिंग कक्षा पर निर्भर करता है। –
बिल्कुल। तो पाइथन में कहीं कुछ तर्क है जो जानता है कि जब यह '<' देखता है, तो उसे 'obj .__ lt__'' कॉल करना चाहिए। लेकिन मेरे पास एक स्ट्रिंग है, '' <''- मैं इसे फ़ंक्शन या विधि कॉल में कैसे परिवर्तित कर सकता हूं? –
क्या आप एक संदर्भ में उदाहरण दे सकते हैं? –