कार्य#

परिचय#

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

महत्वपूर्ण: केवल फ़ंक्शन को परिभाषित करने से वह चलने नहीं लगता। किसी फ़ंक्शन को नए थ्रेड में शुरू करने के लिए start_thread का उपयोग करें ताकि वह किसी इवेंट या कॉलबैक की प्रतीक्षा करने के बजाय प्रोजेक्ट की शुरुआत में ही चलना शुरू कर दे।

  • def एक फ़ंक्शन को परिभाषित करता है।

  • return फ़ंक्शन के आउटपुट को मुख्य प्रोग्राम में वापस भेजता है।

उपयोग:

def function_name(parameters):
    # Code to execute when the function is called
    return result  # Optional, used to return a value

पैरामीटर

विवरण

function_name

आप अपने कार्य को जो नाम देते हैं।

parameters

वैकल्पिक। फ़ंक्शन को कॉल किए जाने पर इनपुट मान स्वीकार करने वाले चर, जो फ़ंक्शन में डेटा पास करने की अनुमति देते हैं।

result

वैकल्पिक। फ़ंक्शन को कॉलर को परिणाम वापस भेजने की अनुमति देता है। यदि किसी फ़ंक्शन में रिटर्न स्टेटमेंट शामिल नहीं है, तो यह डिफ़ॉल्ट रूप से None लौटाएगा।

नोट: किसी फ़ंक्शन को कॉल करने से हमेशा उसे परिभाषित किया जाना चाहिए।

फ़ंक्शन को परिभाषित करना और कॉल करना#

Functions with No Parameters#

यदि किसी फ़ंक्शन को इनपुट की आवश्यकता नहीं है, तो आप उसे बिना पैरामीटर के परिभाषित कर सकते हैं।

def greeting():
    console.print("Hello!")

def main():
    # Call the greeting function
    greeting()

# Start threads — Do not delete
start_thread(main)

Functions with Parameters#

आप फ़ंक्शन में पैरामीटर भी जोड़ सकते हैं, जिससे आप फ़ंक्शन को काम करने के लिए आवश्यक जानकारी पास कर सकते हैं।

# Build Used: Super Code Base 2.0
def move_square(moves):
    for index in range(moves):
        drivetrain.drive_for(FORWARD, 150)
        drivetrain.turn_for(RIGHT, 90)

def main():
    # Call the move_square function
    move_square(4)
    

# Start threads — Do not delete
start_thread(main)

Functions with Default Arguments#

डिफॉल्ट आर्गुमेंट एक ऐसा पैरामीटर है जो फंक्शन कॉल में उस आर्गुमेंट के लिए कोई मान प्रदान न किए जाने पर एक डिफॉल्ट मान ग्रहण करता है।

# Build Used: Super Code Base 2.0
def move_square(moves=4):
    for index in range(moves):
        drivetrain.drive_for(FORWARD, 150)
        drivetrain.turn_for(RIGHT, 90)

def main():
    # Call the move_square function
    move_square()
    

# Start threads — Do not delete
start_thread(main)

Return Values from Functions#

फ़ंक्शन return कीवर्ड का उपयोग करके कॉलर को डेटा वापस भेज सकते हैं। इससे आप आउटपुट को कैप्चर कर सकते हैं और अपने प्रोग्राम में उसका उपयोग कर सकते हैं।

def times_two(number):
    return number * 2

def main():
    # Display the return value
    console.print(times_two(2))

# Start threads — Do not delete
start_thread(main)

प्रारंभ_थ्रेड#

start_thread एक फ़ंक्शन को एक नए थ्रेड में शुरू करता है ताकि यह प्रोजेक्ट की शुरुआत में ही चलना शुरू कर दे।

यदि एक से अधिक start_thread का उपयोग किया जाता है, तो फ़ंक्शन एक साथ चलेंगे।

Usage:
start_thread(function)

पैरामीटर

विवरण

function

पहले से परिभाषित फ़ंक्शन का नाम।

# Build Used: Super Code Base 2.0
def move_square():
    # Move in a square path
    while True:
        drivetrain.drive_for(FORWARD, 150)
        drivetrain.turn_for(RIGHT, 90)

def led_lights():
    # Blink LED lights
    while True:
        bumper.set_color(GREEN)
        wait(0.5, SECONDS)
        bumper.set_color(RED)
        wait(0.5, SECONDS)

# Start threads — Do not delete
start_thread(move_square)
start_thread(led_lights)