Python ฟังก์ชัน

ฟังก์ชันเป็นบล็อคโค้ดที่เรียกใช้ได้เมื่อเรียกใช้เท่านั้น

นั่นเราสามารถส่งผ่านข้อมูล (ที่เรียกว่าตัวแปร) สู่ฟังก์ชัน

ฟังก์ชันสามารถคืนค่าที่มีอยู่ของข้อมูล

ที่เรียกว่าฟังก์ชัน

ใน Python นั้น ใช้ def กำหนดฟังก์ชันด้วยคำกำหนดเดิม:

ตัวอย่าง

def my_function():
  print("Hello from a function")

เรียกใช้ฟังก์ชัน

ถ้าต้องการเรียกใช้ฟังก์ชัน ใช้ชื่อฟังก์ชันตามด้วยวงเล็บ ()

ตัวอย่าง

def my_function():
  print("Hello from a function")
my_function()

ปฏิบัติตัวอย่าง

ตัวแปร

ข้อมูลสามารถถูกส่งผ่านให้กับฟังก์ชันด้วยตัวแปร

ตัวแปรนี้จะถูกกำหนดในในวงเล็บหลังชื่อฟังก์ชัน นั่นเราสามารถเพิ่มได้ตัวแปรที่จำเป็นโดยเรียกชื่อตัวแปรที่จะส่งผ่านโดยการเซเปอร์เซ็ท (,) ตามต้องการ

ตัวอย่างด้านล่างมีฟังก์ชันที่มีตัวแปร (fname) ในฟังก์ชัน。เมื่อเรียกใช้ฟังก์ชันนี้ นั่นเราส่งผ่านชื่อที่ใส่ลง และใช้ชื่อนี้ภายในฟังก์ชันเพื่อพิมพ์ชื่อเต็ม:

ตัวอย่าง

def my_function(fname):
  print(fname + " Gates")
my_function("Bill")
my_function("Steve")
my_function("Elon")

ปฏิบัติตัวอย่าง

ค่าเริ่มต้นที่เปิดดังกล่าว

ตัวอย่างด้านล่างแสดงว่าวิธีใช้ค่าเริ่มต้นที่เปิดดังกล่าว。

ถ้าเราเรียกใช้ฟังก์ชันที่ไม่มีตัวแปรค่าเริ่มต้น จะใช้ค่าเริ่มต้นตามนิยาย:

ตัวอย่าง

def my_function(country = "China"):
  print("ฉันมาจาก " + country)
my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")

ปฏิบัติตัวอย่าง

ส่งพารามิเตอร์ด้วย List

พารามิเตอร์ที่ส่งไปยังฟังก์ชันสามารถเป็นรูปแบบข้อมูลทุกชนิด (ตัวอักษร ตัวเลข ลิสต์ แม่ความ และอื่นๆ) และจะถูกใช้เหมือนกันภายในฟังก์ชัน

ตัวอย่าง ถ้าคุณส่ง List ที่มาเป็นพารามิเตอร์ มันจะยังคงเป็น List ตัวเดียวกันเมื่อมันเข้าไปในฟังก์ชัน

ตัวอย่าง

def my_function(food):
  for x in food:
    print(x)
fruits = ["apple", "banana", "cherry"]
my_function(fruits)

ปฏิบัติตัวอย่าง

ค่าที่กลับมา

เพื่อให้ฟังก์ชันกลับมามีค่า ให้ใช้ return คำสั่ง:

ตัวอย่าง

def my_function(x):
  return 5 * x
print(my_function(3))
print(my_function(5))
print(my_function(9))

ปฏิบัติตัวอย่าง

พารามิเตอร์ที่มีชื่อ

คุณยังสามารถใช้คำสั่ง key = value ส่งพารามิเตอร์

ลำดับของพารามิเตอร์ไม่มีประโยชน์

ตัวอย่าง

def my_function(child3, child2, child1):
  print("เด็กที่อายุน้อยที่สุดคือ " + child3)
my_function(child1 = "Phoebe", child2 = "Jennifer", child3 = "Rory")

ปฏิบัติตัวอย่าง

ในเอกสาร Python คำว่า "พารามิเตอร์ที่ไม่มีชื่อ" มักถูกย่อว่า kwargs

พารามิเตอร์ส่วนที่เหลือ

ถ้าคุณไม่ทราบจำนวนพารามิเตอร์ที่จะส่งไป โปรดเพิ่ม * ก่อนชื่อพารามิเตอร์ในการประกาศฟังก์ชัน

ดังนั้น ฟังก์ชันจะรับพารามิเตอร์เป็นตัวเลขเรียงที่สามารถเข้าถึงแต่ละชิ้นได้

ตัวอย่าง

ถ้าคุณไม่ทราบจำนวนพารามิเตอร์ที่จะส่งไป โปรดเพิ่ม * ก่อนชื่อพารามิเตอร์

def my_function(*kids):
  print("เด็กที่อายุน้อยที่สุดคือ " + kids[2])
my_function("Phoebe", "Jennifer", "Rory")

ปฏิบัติตัวอย่าง

pass สตริง

ฟังก์ชันการประกาศไม่สามารถเป็นความเปล่าเปล่าออกไป แต่ถ้าคุณเขียนฟังก์ชันที่ไม่มีเนื้อหาเพราะเหตุผลบางอย่าง ให้ใช้คำสั่ง pass เพื่อป้องกันข้อผิดพลาด

ตัวอย่าง

def myfunction:
  pass

ปฏิบัติตัวอย่าง

การทำงานทางฝั่งหลัง

Python ยังรับฟังก์ชันที่เรียกตัวเองด้วย

การทำงานทางฝั่งหลังเป็นความคิดของ matematical และ programming ที่เป็นระบบที่ตั้งตาราง มันหมายความว่าฟังก์ชันเรียกตัวเอง

นักพัฒนาควรระมัดระวังการทำงานทางฝั่งหลัง เพราะมันสามารถเขียนฟังก์ชันที่ไม่จบ หรือใช้หน่วยความจำหรือพลังงานของจอมากเกินไป แต่หลังจากที่เขียนแล้ว การทำงานทางฝั่งหลังอาจเป็นวิธีที่มีประสิทธิภาพและงดงามทาง matematical ในการเขียนโปรแกรม

ในตัวอย่างนี้tri_recursion() เราเรียกว่าฟังก์ชันที่เรียกตัวเอง ("recurse") พวกเราใช้ตัวแปร k ในการใช้งาน และลดลง (-1) ในแต่ละครั้งที่เรียกฟังก์ชัน การทำงานจะจบเมื่อเงื่อนไขไม่เกิน 0 (เช่นเมื่อมันเท่า 0) ระหว่างที่มันเท่า 0

สำหรับนักพัฒนาที่ใหม่ อาจจะต้องใช้เวลาเพื่อเข้าใจว่างานของมัน และทางที่ดีที่สุดคือการทดสอบและแก้ไขมัน

ตัวอย่าง

ตัวอย่างของการทำงานทางฝั่งหลัง

def tri_recursion(k):
  if(k>0):
    result = k+tri_recursion(k-1)
    print(result)
  else:
    result = 0
  return result
print("\n\nRecursion Example Results")
tri_recursion(6)

ปฏิบัติตัวอย่าง