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

पायथन स्थितीय तर्क कीवर्ड तर्क का अनुसरण करता है समाधान

पायथन में, दो प्रकार के तर्क होते हैं:स्थितीय और खोजशब्द तर्क। ये तर्क एक विशेष क्रम में प्रकट होने चाहिए अन्यथा पायथन दुभाषिया एक त्रुटि देता है।

इस गाइड में, हम "स्थितिगत तर्क कीवर्ड तर्क का अनुसरण करते हैं" त्रुटि के बारे में बात करने जा रहे हैं और इसे क्यों उठाया जाता है। हम इस त्रुटि के साथ एक उदाहरण कोड स्निपेट देखेंगे ताकि हम इसे हल करने के तरीके के बारे में चल सकें।

आइए शुरू करें!

समस्या:स्थितीय तर्क कीवर्ड तर्क का अनुसरण करता है

आइए हमारी पूरी त्रुटि पर एक नज़र डालें:

SyntaxError:स्थितीय तर्क कीवर्ड तर्क का अनुसरण करता है

अंग्रेजी भाषा की तरह प्रोग्रामिंग भाषाओं के भी अपने नियम होते हैं। इन नियमों को वाक्य रचना कहा जाता है। हमारी त्रुटि एक सिंटैक्स त्रुटि है जिसका अर्थ है कि हम एक नियम का पालन करने में विफल रहे हैं जो यह नियंत्रित करता है कि पायथन कोड कैसे लिखा जाए।

हमारी त्रुटि का अगला भाग हमें बताता है कि इस त्रुटि का कारण क्या है। इस मामले में, हमारे कोड में एक स्थितीय तर्क होना चाहिए जो एक खोजशब्द तर्क के बाद प्रकट होता है।

स्थितीय तर्क वे तर्क हैं जो अपनी-अपनी स्थिति में प्रकट होते हैं:

def add_numbers(a, b):रिटर्न a + bआइए इस फंक्शन को कॉल करें:add_numbers(2, 3)

"ए" और "बी" हमारे फ़ंक्शन के अंदर चर बन जाते हैं। यह कोड काम करता है क्योंकि हमने दो स्थितीय तर्क निर्दिष्ट किए हैं। "ए" 2 के बराबर है और "बी" तीन के बराबर है। हम इन तर्कों को कीवर्ड तर्कों के रूप में भी निर्दिष्ट कर सकते हैं:

81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।

बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।

add_numbers(a=2, b=2)

हालाँकि, हम पहले एक स्थितिगत तर्क निर्दिष्ट नहीं कर सकते हैं और फिर कीवर्ड सिंटैक्स पर स्विच कर सकते हैं।

ऐसा इसलिए है क्योंकि पायथन में एक विशेष फ़ंक्शन है जिसे *args कहा जाता है जो एक फ़ंक्शन में कई तर्कों को संसाधित करता है। इस कोड पर विचार करें:

def show_users(a, b, *args):प्रिंट (a, b, *args)

यह कोड *args का उपयोग करता है। यह कीवर्ड तर्कों की एक चर संख्या का प्रतिनिधित्व करता है। हम अपने show_users() . में जितने तर्क दे सकते हैं जैसा हम चाहते हैं वैसा कार्य करें:

show_users("एलेक्स", "पीटर", "वायलेट", "जूली")

हमारा कोड रिटर्न:एलेक्स पीटर वायलेट जूली

हमारे पहले दो तर्क, "ए" और "बी" में क्रमशः "एलेक्स" और "पीटर" मान हैं।

ऐसा इसलिए है क्योंकि यदि आप स्थितीय सिंटैक्स का उपयोग करते हैं, तो तर्कों को उस क्रम में असाइन किया जाता है जिसमें वे पारित होते हैं। अंतिम तर्क इस क्रम में प्रकट होते हैं कि वे बताए गए हैं क्योंकि *args एक अज्ञात मात्रा में अतिरिक्त तर्कों का प्रतिनिधित्व करता है।

एक उदाहरण परिदृश्य

आइए एक कोड स्निपेट पर एक नज़र डालें जो इस त्रुटि का अनुभव करता है:

def print_menu(सलाद, पिज़्ज़ा):प्रिंट ("सलाद मेनू") सलाद में s के लिए:प्रिंट (s) प्रिंट ("") प्रिंट करें ("पिज्जा मेनू") पिज़्ज़ा में p के लिए:प्रिंट (p) 

यह फ़ंक्शन दो तर्क स्वीकार करता है:सलाद और पिज्जा। हमारा फ़ंक्शन सलाद मेनू पर प्रत्येक सलाद और पिज्जा मेनू पर प्रत्येक पिज्जा को कंसोल पर प्रिंट करता है।

आइए हमारे फ़ंक्शन को कॉल करें:

सलाद =["टूना सलाद", "लेट्यूस और मैंगो सलाद", "ग्रीक सलाद"]पिज़्ज़ा =["वेजी सुप्रीम", "हैम एंड पाइनएप्पल", "बीबीक्यू चिकन"]प्रिंट_मेनू(पिज़्ज़ा =पिज़्ज़ा, सलाद) 

हमारा कोड लौटाता है:

फ़ाइल "main.py", लाइन 13 print_menu(pizzas=pizzas, सलाद) ^सिंटैक्स त्रुटि:स्थितीय तर्क कीवर्ड तर्क का अनुसरण करता है

हमारे कोड में एक त्रुटि है, जैसा कि हमें उम्मीद थी। चलिए इसे ठीक करते हैं।

समाधान

इस समस्या को हल करने के लिए, हमें यह सुनिश्चित करना होगा कि सभी स्थितीय तर्क कीवर्ड तर्कों से पहले आएं। आइए इस नियम को दर्शाने के लिए अपने फ़ंक्शन को कॉल करने के तरीके को बदलें:

print_menu(सलाद, पिज़्ज़ा)

हमने दो स्थितीय तर्क निर्दिष्ट किए हैं:सलाद और पिज्जा। वैकल्पिक रूप से, हम "सलाद" के बाद कीवर्ड तर्क के रूप में "पिज्जा" निर्दिष्ट कर सकते हैं:

print_menu(सलाद, पिज़्ज़ा =पिज़्ज़ा)

इस उदाहरण में, किसी भी कीवर्ड तर्क को जोड़ना अनावश्यक है क्योंकि हम *args पद्धति का उपयोग नहीं कर रहे हैं। इसके साथ ही, कीवर्ड तर्कों में जोड़ने से फ़ंक्शन में पारित होने वाले मानों की संख्या के आधार पर कोड अधिक पठनीय हो सकता है।

आइए इस संशोधित फ़ंक्शन कॉल के साथ अपना कोड चलाएं:

सलाद मेनूटूना सलादसलाद और मैंगो सलादग्रीक सलादपिज्जा मेनूवेजी सुप्रीम हैम और अनानासबीबीक्यू चिकन

हमारा कोड हमारी दो पायथन सूचियों को सफलतापूर्वक प्रिंट करता है।

निष्कर्ष

पायथन में एक कीवर्ड तर्क से पहले स्थितीय तर्क प्रकट होने चाहिए। ऐसा इसलिए है क्योंकि पायथन स्थितीय तर्कों की व्याख्या उस क्रम में करता है जिसमें वे दिखाई देते हैं। फिर, यह निर्दिष्ट किए गए कीवर्ड तर्कों की व्याख्या करता है।

अब आप एक विशेषज्ञ पायथन डेवलपर की तरह "स्थितिगत तर्क कीवर्ड तर्क का अनुसरण करता है" त्रुटि को हल करने के लिए तैयार हैं!


  1. पायथन में वैश्विक कीवर्ड

    एक पायथन कार्यक्रम में विभिन्न चरों का अलग-अलग दायरा होता है। यह कहां घोषित किया गया है, इस पर निर्भर करते हुए, चर किसी फ़ंक्शन के अंदर पहुंच योग्य हो भी सकता है और नहीं भी। कभी-कभी हमें एक वेरिएबल को संशोधित करने की आवश्यकता होगी जो किसी फ़ंक्शन के अंदर उसके वर्तमान दायरे से बाहर मौजूद है। ऐसे में

  1. पायथन में कीवर्ड

    अन्य भाषाओं की तरह, पायथन में भी कुछ आरक्षित शब्द हैं। ये शब्द कुछ विशेष अर्थ रखते हैं। कभी-कभी यह एक कमांड, या एक पैरामीटर आदि हो सकता है। हम कीवर्ड का उपयोग चर नामों के रूप में नहीं कर सकते हैं। पायथन कीवर्ड हैं सच गलत वर्ग डीईएफ़ वापसी अगर एलिफ़ अन्य कोशिश करें को छोड़कर उठाएं आखिरकार के लिए

  1. पायथन में डिफ़ॉल्ट तर्क क्या हैं?

    पायथन फ़ंक्शन तर्कों को डिफ़ॉल्ट मान रखने की अनुमति देता है; यदि फ़ंक्शन को तर्क के बिना कहा जाता है, तो तर्क को उसका डिफ़ॉल्ट मान मिल जाता है डिफ़ॉल्ट तर्क: उदाहरण पायथन में फ़ंक्शन तर्कों के लिए सिंटैक्स और डिफ़ॉल्ट मानों का प्रतिनिधित्व करने का एक अलग तरीका है। डिफ़ॉल्ट मान इंगित करते हैं कि फ़