1. Обучение
  2. /
  3. Курса
  4. /
  5. การเขียนฟังก์ชันใน Python

Connected

упражнение

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

Инструкции 1/3

undefined XP
  • 1

    เพิ่ม decorator run_n_times() ให้กับ print_sum() โดยใช้ decorator syntax เพื่อให้ print_sum() ทำงาน 10 ครั้ง

  • 2

    ใช้ run_n_times() เพื่อสร้าง decorator ชื่อ run_five_times() ที่จะรันฟังก์ชันใด ๆ ก็ได้ 5 ครั้ง

  • 3

    นี่คือ trick สนุก ๆ: ใช้ run_n_times() แก้ไขฟังก์ชัน built-in print() ให้พิมพ์ผลลัพธ์ทุกครั้งถึง 20 ครั้งเสมอ!