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

ตรวจสอบ Closure

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

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

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

ดูคอร์ส

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

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

def return_a_func(arg1, arg2):
  def new_func():
    print('arg1 was {}'.format(arg1))
    print('arg2 was {}'.format(arg2))
  return new_func
    
my_func = return_a_func(2, 17)

# Show that my_func()'s closure is not None
print(my_func.____ is not None)
แก้ไขและรันโค้ด