कार्य#

परिचय#

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

महत्वपूर्ण: केवल फ़ंक्शन को परिभाषित करने से वह चलने नहीं लगता। किसी फ़ंक्शन को नए थ्रेड में शुरू करने के लिए cte_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():
    brain.print("Hello!")

# Call the greeting function
greeting()

Functions with Parameters#

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

def move_square(moves):
    for index in range(moves):
        arm.move_inc(100, 0, 0)
        arm.move_inc(0, 100, 0)
        arm.move_inc(-100, 0, 0)
        arm.move_inc(0, 100, 0)

# Call the move_square function
move_square(4)

Functions with Default Arguments#

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

def move_square(moves=4):
    for index in range(moves):
        arm.move_inc(100, 0, 0)
        arm.move_inc(0, 100, 0)
        arm.move_inc(-100, 0, 0)
        arm.move_inc(0, 100, 0)

# Call the move_square function
move_square()

Return Values from Functions#

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

def times_two(number):
    return number * 2

# Display the return value
print(times_two(2))

सीटीई_थ्रेड#

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

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

Usage:
cte_thread(function)

पैरामीटर

विवरण

function

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

def move_square():
    # Move in a square path
    while True:
        arm.move_inc(100, 0, 0)
        arm.move_inc(0, 100, 0)
        arm.move_inc(-100, 0, 0)
        arm.move_inc(0, 100, 0)

def lights():
    # Set the Signal Tower to start blinking the blue LED
    signal_tower.set_color(SignalTower.BLUE, SignalTower.BLINK)

# Start threads — Do not delete
cte_thread(move_square)
cte_thread(lights)