Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ฟังก์ชัน globals(), locals() และ reload() ใน Python

ฟังก์ชัน globals() และ locals() สามารถใช้เพื่อคืนค่าชื่อใน global และ local namespaces ขึ้นอยู่กับตำแหน่งที่พวกมันถูกเรียก

ถ้า locals() ถูกเรียกจากภายในฟังก์ชัน มันจะคืนค่าชื่อทั้งหมดที่เข้าถึงได้แบบ local จากฟังก์ชันนั้น

ถ้า globals() ถูกเรียกจากภายในฟังก์ชัน มันจะคืนค่าชื่อทั้งหมดที่เข้าถึงได้แบบ global จากฟังก์ชันนั้น

ประเภทการคืนค่าของฟังก์ชันทั้งสองนี้คือ dictionary ดังนั้น ชื่อสามารถดึงออกมาได้โดยใช้ฟังก์ชัน keys()

เมื่อโมดูลถูกนำเข้าเข้าไปในสคริปต์ โค้ดในส่วน top-level ของโมดูลจะถูกดำเนินการเพียงครั้งเดียว

ดังนั้น หากคุณต้องการ re-execute โค้ด top-level ในโมดูล คุณสามารถใช้ฟังก์ชัน reload() ฟังก์ชัน reload() นำเข้าโมดูลที่นำเข้าไปก่อนหน้านี้อีกครั้ง ไวยากรณ์ของฟังก์ชัน reload() คือ:

reload(module_name)

ที่นี่ module_name คือชื่อของโมดูลที่คุณต้องการ reload ไม่ใช่สตริงที่มีชื่อโมดูล ตัวอย่างเช่น เพื่อ reload โมดูล hello ทำดังนี้:

reload(hello)