কার্যাবলী#
ভূমিকা#
ফাংশন হলো পাইথন প্রোগ্রামিংয়ের একটি মৌলিক উপাদান, যা একটি নির্দিষ্ট কাজ সম্পাদনের জন্য কোডের অংশগুলোকে পুনঃব্যবহারযোগ্য ও কার্যকর অংশে পরিণত করে। একটি প্রোগ্রামের মধ্যে ফাংশনকে একাধিকবার কল করা যায়, যা কোডকে সুসংগঠিত করে এবং একই কোডের পুনরাবৃত্তি এড়াতে সাহায্য করে। ফাংশন কোড ডিবাগ করাও সহজ করে তোলে।
গুরুত্বপূর্ণ: শুধু একটি ফাংশন সংজ্ঞায়িত করলেই তা রান করে না। একটি ফাংশনকে নতুন থ্রেডে শুরু করতে 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 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)