0Pricing
Python Academy · บทเรียน

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

สร้างฟังก์ชันด้วย def และเรียกใช้ด้วยอาร์กิวเมนต์

การกำหนดและเรียกใช้ฟังก์ชัน เป็นบทเรียน Python Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Python Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Python Academy มีบทเรียนทั้งหมด 4 บทเรียน

บทนำ

ฟังก์ชันคือบล็อกโค้ดที่นำกลับมาใช้ใหม่ได้และกำหนดด้วย def ฟังก์ชันช่วยหลีกเลี่ยงการทำซ้ำ และทำให้โปรแกรมทดสอบและดูแลรักษาได้ง่ายขึ้น

คีย์เวิร์ด def

def greet(name): ใช้กำหนดฟังก์ชัน โดยส่วนตัวฟังก์ชันจะเยื้องเข้ามา เรียกใช้ด้วย greet('Alice')
def greet(name):
    print('Hello', name)
greet('Alice')

อาร์กิวเมนต์ตามตำแหน่ง

อาร์กิวเมนต์จะถูกส่งตามตำแหน่ง def add(a, b): return a + b — add(3,4) ให้ผลลัพธ์เป็น 7
def add(a, b):
    return a + b
print(add(3, 4))

คำสั่ง return

return ส่งค่ากลับไปยังผู้เรียก ฟังก์ชันที่ไม่มี return จะคืนค่า None โดยอัตโนมัติ
def square(x):
    return x * x
result = square(5)
print(result)

ค่าที่ส่งกลับหลายค่า

def min_max(lst): return min(lst), max(lst) จะคืนค่าทูเพิล คลายแพ็กได้ด้วย lo, hi = min_max(lst)
def min_max(lst):
    return min(lst), max(lst)
lo, hi = min_max([3,1,4,1,5])
print(lo, hi)

เอกสารกำกับฟังก์ชัน

สตริงแรกในส่วนตัวฟังก์ชันคือเอกสารกำกับฟังก์ชัน: """One-line summary.""" เข้าถึงได้ด้วย help() หรือ func.__doc__
def greet(name):
    """Return a greeting string."""
    return f"Hello {name}"
print(greet.__doc__)

จำนวนอาร์กิวเมนต์ที่เปลี่ยนแปลงได้

def func(*args) จะรวบรวมอาร์กิวเมนต์ตามตำแหน่งส่วนเกินไว้ในทูเพิล เหมาะสำหรับกรณีที่ไม่ทราบว่าจะมีอาร์กิวเมนต์กี่รายการ
def total(*nums):
    return sum(nums)
print(total(1,2,3,4))

ฟังก์ชันคืออ็อบเจกต์

ฟังก์ชันเป็นอ็อบเจกต์ชั้นหนึ่ง คุณสามารถกำหนดให้ตัวแปร ส่งเป็นอาร์กิวเมนต์ หรือเก็บไว้ในรายการได้
def double(x): return x * 2
fn = double
print(fn(5))

การเรียกใช้พร้อมการคลายแพ็ก

args = [1,2]; f(*args) จะคลายแพ็กรายการให้เป็นอาร์กิวเมนต์ตามตำแหน่ง d = {'a':1}; f(**d) จะคลายแพ็ก dict ให้เป็นอาร์กิวเมนต์ตามชื่อ
def add(a, b): return a + b
args = [3, 4]
print(add(*args))

ฟังก์ชันแลมบ์ดา

lambda x: x*2 คือฟังก์ชันไม่ระบุชื่อแบบบรรทัดเดียว ใช้กับฟังก์ชันเรียกกลับสั้น ๆ และควรใช้ฟังก์ชันที่ตั้งชื่อแล้วสำหรับงานที่ซับซ้อน
double = lambda x: x * 2
print(double(5))
print(list(map(lambda x: x**2, [1,2,3])))

ฟังก์ชันซ้อน

สามารถกำหนดฟังก์ชันไว้ภายในฟังก์ชันอื่นได้ ฟังก์ชันชั้นในเข้าถึงตัวแปรเฉพาะที่ของฟังก์ชันชั้นนอกได้ ซึ่งเรียกว่า closure
def outer(x):
    def inner(y):
        return x + y
    return inner
add5 = outer(5)
print(add5(3))

ตรวจสอบอย่างรวดเร็ว

ฟังก์ชันจะคืนค่าอะไร หากไม่มีคำสั่ง return ที่ระบุไว้อย่างชัดเจน

สรุปทบทวน

ฟังก์ชัน: def name(args): body, return ใช้ส่งค่ากลับ ค่าส่งกลับหลายค่าใช้ทูเพิล ใช้แลมบ์ดาสำหรับฟังก์ชันบรรทัดเดียวแบบง่าย และฟังก์ชันเป็นอ็อบเจกต์ชั้นหนึ่ง

เรียนรู้ต่อไป

ทำได้ดีมากครับ โปรดไปยังบทเรียนถัดไปเพื่อพัฒนาทักษะของคุณต่อไป

คำถามที่พบบ่อย

บทเรียน “การกำหนดและเรียกใช้ฟังก์ชัน” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การกำหนดและเรียกใช้ฟังก์ชัน” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Python Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Python Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การกำหนดและเรียกใช้ฟังก์ชัน”

สร้างฟังก์ชันด้วย def และเรียกใช้ด้วยอาร์กิวเมนต์ คุณปฏิบัติ Python Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Python Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Python Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “การกำหนดและเรียกใช้ฟังก์ชัน” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Python Academy นี้ได้ไหม

ได้ บทเรียน Python Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การกำหนดและเรียกใช้ฟังก์ชัน
  2. อาร์กิวเมนต์ค่าเริ่มต้นและคีย์เวิร์ด
  3. args และ kwargs
  4. ค่าที่ส่งกลับและขอบเขตตัวแปร
← กลับไปที่ Python Academy