কার্যাবলী#

ভূমিকা#

ফাংশন হলো পাইথন প্রোগ্রামিংয়ের একটি মৌলিক উপাদান, যা একটি নির্দিষ্ট কাজ সম্পাদনের জন্য কোডের অংশগুলোকে পুনঃব্যবহারযোগ্য ও কার্যকর অংশে পরিণত করে। একটি প্রোগ্রামের মধ্যে ফাংশনকে একাধিকবার কল করা যায়, যা কোডকে সুসংগঠিত করে এবং একই কোডের পুনরাবৃত্তি এড়াতে সাহায্য করে। ফাংশন কোড ডিবাগ করাও সহজ করে তোলে।

গুরুত্বপূর্ণ: শুধু একটি ফাংশন সংজ্ঞায়িত করলেই তা রান করে না। একটি ফাংশনকে নতুন থ্রেডে শুরু করতে 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 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)