ออบเจ็กต์ใน python มีตัวแปรและเมธอดของอินสแตนซ์เป็นแอตทริบิวต์ ในการเรียกใช้ฟังก์ชันของโมดูลจากสตริงที่มีชื่อฟังก์ชันเป็น Python คุณจะได้รับแอตทริบิวต์นี้ก่อนแล้วจึงเรียกฟังก์ชันที่แนบมากับฟังก์ชัน ตัวอย่างเช่น สมมติว่าฉันมีโมดูล foo และฉันมีสตริงที่มีเนื้อหาเป็น "bar" วิธีที่ดีที่สุดในการโทร foo.bar() คือ:
>>> import foo >>> method_to_call = getattr(foo, 'bar') >>> result = method_to_call()
หากคุณมีฟังก์ชันในเนมสเปซส่วนกลางหรือโลคัลโดยไม่มีส่วนนำหน้าของโมดูล คุณสามารถใช้ globals()/locals() ได้ locals ส่งคืนพจนานุกรมพร้อมตารางสัญลักษณ์ท้องถิ่นปัจจุบัน globals ส่งคืนพจนานุกรมที่มีตารางสัญลักษณ์ส่วนกลาง
ตัวอย่าง
>>> result = locals()["myfunction"]() or >>> result = globals()["myfunction"]()