เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

Run_n_times()

ในวิดีโอก่อนหน้า ได้แสดงตัวอย่าง decorator ที่รับอาร์กิวเมนต์ นั่นคือ run_n_times() โค้ดของ decorator นี้แสดงซ้ำด้านล่างเพื่อให้เห็นภาพการทำงาน ลองฝึกใช้วิธีต่าง ๆ ในการ apply decorator กับฟังก์ชัน print_sum() แล้วจะได้เห็น trick สนุก ๆ ที่นำไปใช้กับเพื่อนร่วมงานได้

def run_n_times(n):
  """Define and return a decorator"""
  def decorator(func):
    def wrapper(*args, **kwargs):
      for i in range(n):
        func(*args, **kwargs)
    return wrapper
  return decorator

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การเขียนฟังก์ชันใน Python

ดูคอร์ส

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Make print_sum() run 10 times with the run_n_times() decorator
____
def print_sum(a, b):
  print(a + b)
  
print_sum(15, 20)
แก้ไขและรันโค้ด