कार्य#
परिचय#
फंक्शन, पायथन प्रोग्रामिंग का एक मूलभूत घटक हैं। ये कोड के छोटे-छोटे हिस्सों को पुन: उपयोग योग्य और कुशल अनुभागों में व्यवस्थित करते हैं, जिन्हें किसी विशिष्ट कार्य को पूरा करने के लिए डिज़ाइन किया गया है। फंक्शन को प्रोग्राम में कई बार कॉल किया जा सकता है, जिससे कोड का संगठन आसान हो जाता है और कोड की पुनरावृत्ति से बचा जा सकता है। फंक्शन कोड को डीबग करना भी आसान बनाते हैं।
महत्वपूर्ण: केवल फ़ंक्शन को परिभाषित करने से वह चलने नहीं लगता। किसी फ़ंक्शन को नए थ्रेड में शुरू करने के लिए start_thread का उपयोग करें ताकि वह किसी इवेंट या कॉलबैक की प्रतीक्षा करने के बजाय प्रोजेक्ट की शुरुआत में ही चलना शुरू कर दे।
defएक फ़ंक्शन को परिभाषित करता है।returnफ़ंक्शन के आउटपुट को मुख्य प्रोग्राम में वापस भेजता है।
उपयोग:
def function_name(parameters):
# Code to execute when the function is called
return result # Optional, used to return a value
पैरामीटर |
विवरण |
|---|---|
|
आप अपने कार्य को जो नाम देते हैं। |
|
वैकल्पिक। फ़ंक्शन को कॉल किए जाने पर इनपुट मान स्वीकार करने वाले चर, जो फ़ंक्शन में डेटा पास करने की अनुमति देते हैं। |
|
वैकल्पिक। फ़ंक्शन को कॉलर को परिणाम वापस भेजने की अनुमति देता है। यदि किसी फ़ंक्शन में रिटर्न स्टेटमेंट शामिल नहीं है, तो यह डिफ़ॉल्ट रूप से |
नोट: किसी फ़ंक्शन को कॉल करने से हमेशा उसे परिभाषित किया जाना चाहिए।
फ़ंक्शन को परिभाषित करना और कॉल करना#
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)
पैरामीटर |
विवरण |
|---|---|
|
पहले से परिभाषित फ़ंक्शन का नाम। |
# 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)