ฟังก์ชัน#

การแนะนำ#

ฟังก์ชันเป็นส่วนประกอบพื้นฐานของการเขียนโปรแกรม Python โดยทำหน้าที่รวบรวมโค้ดส่วนย่อยๆ เข้าไว้ด้วยกันเป็นส่วนๆ ที่นำกลับมาใช้ซ้ำได้และมีประสิทธิภาพ ออกแบบมาเพื่อทำงานเฉพาะอย่าง ฟังก์ชันสามารถเรียกใช้ได้หลายครั้งในโปรแกรมเดียวกัน ทำให้การจัดระเบียบโค้ดง่ายขึ้น และช่วยหลีกเลี่ยงการเขียนโค้ดซ้ำซ้อน นอกจากนี้ ฟังก์ชันยังช่วยให้การแก้ไขข้อผิดพลาดในโค้ดง่ายขึ้นด้วย

สำคัญ: การกำหนดฟังก์ชันเพียงอย่างเดียวไม่ได้ทำให้ฟังก์ชันทำงาน ใช้ 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

ตัวเลือกเสริม อนุญาตให้ฟังก์ชันส่งผลลัพธ์กลับไปยังผู้เรียก หากฟังก์ชันไม่มีคำสั่ง return ฟังก์ชันจะส่งคืนค่า None เป็นค่าเริ่มต้น

หมายเหตุ: ฟังก์ชันจะต้อง ถูกกำหนด ก่อน ที่จะถูกเรียกใช้เสมอ

การกำหนดและการเรียกใช้ฟังก์ชัน#

Functions with No Parameters#

หากฟังก์ชันไม่ต้องการข้อมูลป้อนเข้า คุณสามารถกำหนดฟังก์ชันนั้นได้โดยไม่ต้องมีพารามิเตอร์

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

# Call the greeting function
greeting()

Functions with Parameters#

นอกจากนี้ คุณยังสามารถเพิ่มพารามิเตอร์ให้กับฟังก์ชันได้ ซึ่งจะช่วยให้คุณส่งข้อมูลที่ฟังก์ชันต้องการเพื่อทำงานได้

def move_square(moves):
    for index in range(moves):
        robot.drive_for(FORWARD, 1, STEPS)
        robot.turn_for(RIGHT, 90)

# Call the move_square function
move_square(4)

Functions with Default Arguments#

อาร์กิวเมนต์เริ่มต้น (Default argument) คือพารามิเตอร์ที่จะกำหนดค่าเริ่มต้นให้หากไม่มีการระบุค่าในฟังก์ชันที่เรียกใช้สำหรับอาร์กิวเมนต์นั้น

def move_square(moves=4):
    for index in range(moves):
        robot.drive_for(FORWARD, 1, STEPS)
        robot.turn_for(RIGHT, 90)

# Call the move_square function
move_square()

Return Values from Functions#

ฟังก์ชันสามารถส่งข้อมูลกลับไปยังผู้เรียกโดยใช้คีย์เวิร์ด return ซึ่งช่วยให้คุณสามารถดักจับและใช้งานผลลัพธ์ในโปรแกรมของคุณได้

def times_two(number):
    return number * 2

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

เริ่มเธรด#

start_thread เริ่มฟังก์ชันในเธรดใหม่เพื่อให้เริ่มทำงานทันทีเมื่อเริ่มโปรเจ็กต์

หากมีการใช้คำสั่ง start_thread มากกว่าหนึ่งครั้ง ฟังก์ชันต่างๆ จะทำงานพร้อมกัน

Usage:
start_thread(function)

พารามิเตอร์

คำอธิบาย

function

ชื่อของฟังก์ชันที่กำหนดไว้ก่อนหน้านี้

def move_square():
    # Move in a square path
    while True:
        robot.drive_for(FORWARD, 1, STEPS)
        robot.turn_for(RIGHT, 90)

def blink_led():
    # Blink the LED
    while True:
        robot.led.glow(GREEN)
        wait(0.5, SECONDS)
        robot.led.glow(OFF)
        wait(0.5, SECONDS)

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