ฟังก์ชัน#
การแนะนำ#
ฟังก์ชันเป็นส่วนประกอบพื้นฐานของการเขียนโปรแกรม Python โดยทำหน้าที่รวบรวมโค้ดส่วนย่อยๆ เข้าไว้ด้วยกันเป็นส่วนๆ ที่นำกลับมาใช้ซ้ำได้และมีประสิทธิภาพ ออกแบบมาเพื่อทำงานเฉพาะอย่าง ฟังก์ชันสามารถเรียกใช้ได้หลายครั้งในโปรแกรมเดียวกัน ทำให้การจัดระเบียบโค้ดง่ายขึ้น และช่วยหลีกเลี่ยงการเขียนโค้ดซ้ำซ้อน นอกจากนี้ ฟังก์ชันยังช่วยให้การแก้ไขข้อผิดพลาดในโค้ดง่ายขึ้นด้วย
สำคัญ: การกำหนดฟังก์ชันเพียงอย่างเดียวไม่ได้ทำให้ฟังก์ชันทำงาน ใช้ vr_thread เพื่อเริ่มฟังก์ชันในเธรดใหม่เพื่อให้ฟังก์ชันเริ่มทำงานทันทีเมื่อเริ่มโปรเจ็กต์ แทนที่จะรอเหตุการณ์หรือการเรียกกลับ
defกำหนดฟังก์ชันreturnส่งผลลัพธ์ของฟังก์ชันกลับไปยังโปรแกรมหลัก
วิธีใช้:
def function_name(parameters):
# Code to execute when the function is called
return result # Optional, used to return a value
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
ชื่อที่คุณตั้งให้กับฟังก์ชันของคุณ |
|
ตัวแปรเสริม ที่รับค่าอินพุตเมื่อเรียกใช้ฟังก์ชัน ซึ่งช่วยให้สามารถส่งข้อมูลเข้าไปในฟังก์ชันได้ |
|
ตัวเลือกเสริม อนุญาตให้ฟังก์ชันส่งผลลัพธ์กลับไปยังผู้เรียก หากฟังก์ชันไม่มีคำสั่ง return ฟังก์ชันจะส่งคืนค่า |
หมายเหตุ: ฟังก์ชันจะต้อง ถูกกำหนด ก่อน ที่จะถูกเรียกใช้เสมอ
การกำหนดและการเรียกใช้ฟังก์ชัน#
Functions with No Parameters#
หากฟังก์ชันไม่ต้องการข้อมูลป้อนเข้า คุณสามารถกำหนดฟังก์ชันนั้นได้โดยไม่ต้องมีพารามิเตอร์
# Define a function to display a message
def greeting():
brain.print("Hello!")
def main():
# Call the function to display the message
greeting()
# VR threads — Do not delete
vr_thread(main)
Functions with Parameters#
นอกจากนี้ คุณยังสามารถเพิ่มพารามิเตอร์ให้กับฟังก์ชันได้ ซึ่งจะช่วยให้คุณส่งข้อมูลที่ฟังก์ชันต้องการเพื่อทำงานได้
# Define a function with a parameter
def named_greeting(name):
brain.print("Hello, " + name + "!")
def main():
named_greeting("Stranger")
# VR threads — Do not delete
vr_thread(main)
Functions with Default Arguments#
อาร์กิวเมนต์เริ่มต้น (Default argument) คือพารามิเตอร์ที่จะกำหนดค่าเริ่มต้นให้หากไม่มีการระบุค่าในฟังก์ชันที่เรียกใช้สำหรับอาร์กิวเมนต์นั้น
# Define a function with a parameter and a default argument
def named_greeting(name = "Stranger"):
brain.print("Hello, " + name + "!")
def main():
# Use the default argument
named_greeting()
brain.new_line()
# Change the parameter to a different name
named_greeting("VR")
# VR threads — Do not delete
vr_thread(main)
Return Values from Functions#
ฟังก์ชันสามารถส่งข้อมูลกลับไปยังผู้เรียกโดยใช้คีย์เวิร์ด return ซึ่งช่วยให้คุณสามารถดักจับและใช้งานผลลัพธ์ในโปรแกรมของคุณได้
# Define a function that multiplies numbers by 2
def times_two(number):
return number * 2
def main():
# Display the return value
brain.print(times_two(2))
# VR threads — Do not delete
vr_thread(main)
vr_thread#
ต้องใช้ฟังก์ชัน VR Thread เพื่อเรียกฟังก์ชันในระดับส่วนกลางของสคริปต์
คุณสามารถนำฟังก์ชันใดก็ได้ที่คุณสร้างไว้ก่อนหน้านี้ แล้วส่งผ่านไปยัง vr_thread() ที่ระดับโกลบอล การเรียกใช้ฟังก์ชันอย่างน้อยหนึ่งฟังก์ชันภายในนี้จำเป็นต่อการรันโปรแกรม คุณไม่จำเป็นต้องเรียกใช้ฟังก์ชันทั้งหมดด้วย vr_thread()เพียงแค่เรียกใช้ฟังก์ชันที่อยู่ในระดับโกลบอลเท่านั้น
หากมีการเรียกใช้ vr_thread() มากกว่าหนึ่งครั้ง ฟังก์ชันเหล่านั้นจะทำงานแบบขนานกัน
โดยทั่วไป ฟังก์ชันต่างๆ จะทำงานตามลำดับที่ถูกเรียก อย่างไรก็ตาม หากฟังก์ชันใดรอการทำงาน ฟังก์ชันนั้นจะส่งการทำงานต่อไปยังฟังก์ชันถัดไป และจะดำเนินการต่อเมื่อฟังก์ชันถัดไปทำงานเสร็จ หรือเมื่อฟังก์ชันถัดไปรอการทำงานเช่นกัน
Usage:
vr_thread(function)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
ชื่อของฟังก์ชันที่กำหนดไว้ก่อนหน้านี้ |
# Define the function "main".
def main():
drivetrain.drive_for(FORWARD, 400, MM)
# Call VR thread for any previously defined functions.
vr_thread(main)