Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में लाइन-ओरिएंटेड कमांड इंटरप्रेटर्स के लिए सपोर्ट (cmd मॉड्यूल)

cmd मॉड्यूल में केवल एक क्लास होती है जिसे Cmd कहा जाता है। इसका उपयोग लाइन-ओरिएंटेड कमांड लाइन इंटरप्रेटर्स के लिए यूजर-डिफाइंड फ्रेमवर्क के लिए बेस क्लास के रूप में किया जाता है।

Cmd क्लास

इस क्लास या इसके सबक्लास का ऑब्जेक्ट लाइन-ओरिएंटेड इंटरप्रेटर फ्रेमवर्क प्रदान करता है। इस क्लास के महत्वपूर्ण मेथड्स जो सबक्लास द्वारा विरासत में मिलते हैं, नीचे सूचीबद्ध हैं।

cmdloop()

यह मेथड ऑब्जेक्ट को एक लूप में भेजता है, इनपुट स्वीकार करता है और उसी को क्लास में उपयुक्त कमांड हैंडलर मेथड में भेजता है।

जैसे ही लूप शुरू होता है, एक परिचयात्मक संदेश (cmdloop() मेथड के पैरामीटर के रूप में दिया गया) डिफ़ॉल्ट (cmd) प्रॉम्प्ट के साथ प्रदर्शित होगा जिसे prompt एट्रिब्यूट द्वारा कस्टमाइज़ किया जा सकता है।

इंटरप्रेटर ऑब्जेक्ट यूजर इनपुट को दो भागों में पहचानता है। पहला भाग 'do_' से प्रीफिक्स्ड क्लास में मेथड के रूप में माना जाता है और दूसरा भाग मेथड के पैरामीटर के रूप में। उदाहरण के लिए यदि यूजर 'hello Python' एंटर करता है, तो इंटरप्रेटर क्लास में do_hello() मेथड को 'Python' पैरामीटर के साथ एक्ज़ीक्यूट करने का प्रयास करता है। यदि उक्त मेथड परिभाषित है, तो यह एक्ज़ीक्यूट होगा, अन्यथा त्रुटि संदेश प्रदर्शित होगा।

Cmd के सबक्लास को do_help() मेथड विरासत में मिलता है। यूजर का इनपुट जैसे 'help hello' hello() मेथड में डॉकस्ट्रिंग लाएगा और इसे सहायता टेक्स्ट के रूप में प्रदर्शित करेगा, या यदि मौजूद है, तो help_hello() मेथड चलेगा।

निम्न उदाहरण लाइन-ओरिएंटेड इंटरप्रेटर फ्रेमवर्क के अनुप्रयोग को प्रदर्शित करता है। कोड पहले cmd मॉड्यूल इम्पोर्ट करता है और Cmd क्लास का सबक्लास परिभाषित करता है।

MathOps क्लास डॉकस्ट्रिंग टेक्स्ट के साथ add, sub, mul और div मेथड्स (सभी do_ कैरेक्टर्स से प्रीफिक्स्ड) को परिभाषित करती है।

MathOps क्लास का ऑब्जेक्ट घोषित किया जाता है और cmdloop() मेथड कॉल करके लूप में भेजा जाता है। जब यूजर प्रॉम्प्ट के सामने help टाइप करता है, तो सभी मेथड नाम प्रदर्शित होते हैं। जब help के साथ मेथड का नाम टाइप किया जाता है, तो संबंधित मेथड का डॉकस्ट्रिंग प्रदर्शित होता है। किसी भी मेथड को कॉल करने के लिए, उसका नाम, आवश्यक तर्क टाइप करें और एंटर दबाएं। मेथड का परिणाम प्रदर्शित होगा और प्रॉम्प्ट बार-बार वापस आएगा जब तक इसे रोकने के लिए ^D जारी नहीं किया जाता।

from cmd import Cmd

class MathOps(Cmd):
    def do_add(self, args):
        '''add two numbers'''
        num = args.split()
        print('addition:', int(num[0]) + int(num[1]))

    def do_sub(self, args):
        '''subtract two numbers'''
        num = args.split()
        print('subtraction:', int(num[0]) - int(num[1]))

    def do_mul(self, args):
        '''multiply two numbers'''
        num = args.split()
        print('multiplication:', int(num[0]) * int(num[1]))

    def do_div(self, args):
        '''perform division'''
        num = args.split()
        print('division:', int(num[0]) / int(num[1]))

    def do_EOF(self, args):
        return True

op = MathOps()
op.prompt = "->"
op.cmdloop("loop starts. Press ^D to exit")

उपरोक्त स्क्रिप्ट का नमूना रन नीचे दिखाया गया है:

loop starts. Press ^D to exit
->help
Documented commands (type help ):
========================================
add  div  help  mul  sub
Undocumented commands:
======================
EOF
->help add
add two numbers
->add 5 7
addition: 12
->div 10 5
division: 2.0
->
  1. - पायथन में क्लासेस और ऑब्जेक्ट्स: शुरुआती लोगों के लिए गाइड

    आज हम क्लासेस के बारे में बात करने जा रहे हैं। नहीं, हमारा मतलब स्कूल की कक्षाओं से नहीं है। प्रोग्रामिंग में, क्लासेस की अपनी परिभाषा होती है। एक क्लास एक ब्लूप्रिंट है जिसे एक कोडर द्वारा एक ऑब्जेक्ट के लिए बनाया जाता है। यह उस डेटा को परिभाषित करता है जिसे एक ऑब्जेक्ट में स्टोर किया जा सकता है और

  1. - पायथन में कॉम्प्लेक्स नंबर ऑब्जेक्ट्स के लिए क्लास परिभाषित करने का प्रोग्राम

    मान लीजिए हम निम्न ऑपरेशंस के साथ एक कॉम्प्लेक्स नंबर क्लास परिभाषित करके कॉम्प्लेक्स नंबर के कार्य करना चाहते हैं:add() दो कॉम्प्लेक्स नंबर जोड़ने के लिएsub() दो कॉम्प्लेक्स नंबर घटाने के लिएmul() दो कॉम्प्लेक्स नंबर गुणा करने के लिएdiv() दो कॉम्प्लेक्स नंबर विभाजित करने के लिएmod() कॉम्प्लेक्स नंब

  1. पायथन में Tkinter बटन के लिए कमांड मेथड बदलना पायथन में Tkinter बटन के लिए कमांड मेथड बदलना

    बटन विजेट का महत्व यह है कि इसका उपयोग एप्लिकेशन में कुछ ऑपरेशन करने के लिए इवेंट्स को संभालने के लिए किया जाता है। ऐसे इवेंट्स को संभालने के लिए, हम आमतौर पर एक विधि परिभाषित करते हैं जिसमें कुछ ऑपरेशन होते हैं। मान लीजिए हम बटन को इनिशियलाइज़ करने के बाद इवेंट मेथड को बदलना चाहते हैं। हम configu