0Pricing
Learn AI with Python · บทเรียน

มัณฑนากร

เรียนรู้การใช้มัณฑนากรเพื่อปรับเปลี่ยนหรือขยายฟังก์ชัน

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

บทนำสู่ตัวตกแต่ง

บทนำสู่ตัวตกแต่ง

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

ในบทเรียนนี้ คุณจะได้เรียนรู้ว่าตัวตกแต่งคืออะไร วิธีใช้งาน และวิธีสร้างตัวตกแต่งของคุณเอง

มัณฑนากร — ภาพประกอบ 1

ตัวตกแต่งคืออะไร

ตัวตกแต่งคืออะไร

ตัวตกแต่งคือฟังก์ชันที่รับฟังก์ชันอื่นเป็นข้อมูลเข้า แล้วส่งคืนฟังก์ชันใหม่ที่มีความสามารถเพิ่มเติม โดยมักใช้ร่วมกับไวยากรณ์ @decorator_name

# Basic example of a decorator
def decorator(func):
    def wrapper():
        print("Before the function call")
        func()
        print("After the function call")
    return wrapper

@decorator
def say_hello():
    print("Hello!")

say_hello()

ตัวตกแต่งทำงานอย่างไร

ตัวตกแต่งทำงานอย่างไร

เมื่อคุณใช้ตัวตกแต่ง ไพธอนจะแทนที่ฟังก์ชันเดิมด้วยฟังก์ชันห่อหุ้มที่ตัวตกแต่งส่งคืน

# How decorators work
def decorator(func):
    def wrapper():
        print("Wrapper called")
        func()
    return wrapper

@decorator
def greet():
    print("Greetings!")

print(greet.__name__)  # Outputs: wrapper
greet()

การใช้ตัวตกแต่งกับอาร์กิวเมนต์

การใช้ตัวตกแต่งกับอาร์กิวเมนต์

ตัวตกแต่งสามารถทำงานกับฟังก์ชันที่รับอาร์กิวเมนต์ได้ โดยใช้ *args และ **kwargs ในฟังก์ชันห่อหุ้ม:

# Decorator for functions with arguments
def decorator(func):
    def wrapper(*args, **kwargs):
        print(f"Arguments: {args}, {kwargs}")
        return func(*args, **kwargs)
    return wrapper

@decorator
def add(a, b):
    return a + b

print(add(3, 5))

การเชื่อมตัวตกแต่งหลายตัว

การเชื่อมตัวตกแต่งหลายตัว

คุณสามารถใช้ตัวตกแต่งหลายตัวกับฟังก์ชันเดียวได้ ตัวตกแต่งจะถูกนำไปใช้ตามลำดับที่ปรากฏจากบนลงล่าง:

# Chaining multiple decorators
def decorator1(func):
    def wrapper():
        print("Decorator 1")
        func()
    return wrapper

def decorator2(func):
    def wrapper():
        print("Decorator 2")
        func()
    return wrapper

@decorator1
@decorator2
def greet():
    print("Hello!")

greet()

การสร้าง decorator แบบมีพารามิเตอร์

การสร้าง decorator แบบมีพารามิเตอร์

decorator แบบมีพารามิเตอร์รับอาร์กิวเมนต์และช่วยให้การทำงานมีความยืดหยุ่นมากขึ้น:

# Parameterized decorator
def repeat(times):
    def decorator(func):
        def wrapper(*args, **kwargs):
            for _ in range(times):
                func(*args, **kwargs)
        return wrapper
    return decorator

@repeat(3)
def say_hello():
    print("Hello!")

say_hello()

กรณีการใช้งานทั่วไปของ decorator

กรณีการใช้งานทั่วไปของ decorator

โดยทั่วไป decorator ใช้สำหรับ:

  • บันทึกการเรียกใช้ฟังก์ชันและอาร์กิวเมนต์ของฟังก์ชัน
  • วัดเวลาการทำงานของฟังก์ชัน
  • ควบคุมการเข้าถึง เช่น ตรวจสอบสิทธิ์ของผู้ใช้
  • เก็บผลลัพธ์ไว้ในแคชเพื่อเพิ่มประสิทธิภาพ

decorator ในตัวของ Python

decorator ในตัวของ Python

Python มี decorator ในตัวหลายรายการ ได้แก่:

  • @staticmethod: กำหนดเมธอดแบบสแตติก
  • @classmethod: กำหนดเมธอดของคลาส
  • @property: กำหนดเมธอดพร็อพเพอร์ตี

ข้อผิดพลาดที่พบบ่อยเกี่ยวกับตัวตกแต่ง

ข้อผิดพลาดที่พบบ่อยเกี่ยวกับตัวตกแต่ง

ต่อไปนี้คือข้อผิดพลาดบางประการที่ควรหลีกเลี่ยง:

  • ไม่คงชื่อและเอกสารกำกับของฟังก์ชันเดิมไว้ (ให้ใช้ functools.wraps)
  • ใช้ตัวตกแต่งโดยไม่จำเป็นกับงานง่าย ๆ
  • ลืมจัดการอาร์กิวเมนต์ในฟังก์ชันห่อหุ้ม

เราได้เรียนรู้อะไรบ้าง

เราได้เรียนรู้อะไรบ้าง

ในบทเรียนนี้ คุณได้เรียนรู้:

  • ตัวตกแต่งคืออะไรและทำงานอย่างไรในไพธอน
  • วิธีสร้างและใช้ตัวตกแต่งพื้นฐาน ตัวตกแต่งที่รับพารามิเตอร์ และตัวตกแต่งแบบเชื่อมต่อกัน
  • กรณีการใช้งานทั่วไปและตัวตกแต่งในตัวของไพธอน

ทำได้ดีมาก! ไปยังหัวข้อถัดไปกันเถอะ

มัณฑนากร — ภาพประกอบ 11

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

บทเรียน “มัณฑนากร” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “มัณฑนากร”

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

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

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

บทเรียน “มัณฑนากร” ใช้เวลานานแค่ไหน

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

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

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

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

  1. มัณฑนากร
  2. ตัวสร้าง
  3. ตัวจัดการบริบท (คำสั่ง with)
  4. นิพจน์ย่อ (List, Set และ Dictionary)
  5. ตัววนซ้ำและออบเจ็กต์ที่วนซ้ำได้
← กลับไปที่ Learn AI with Python