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

จะทำให้วัตถุที่ไม่ซ้ำกันสามารถเข้าถึงได้ในโมดูลอื่น ๆ ของ Python ได้อย่างไร?


โดยพื้นฐานแล้วนี่เป็นแนวคิดของออบเจกต์ซิงเกิลตัน ดังนั้น หากคุณสร้างอินสแตนซ์ของ obect และต้องการเข้าถึงข้ามโมดูลที่แตกต่างกัน คุณสามารถใช้ 2 วิธี ขั้นแรกให้คุณกำหนดตัวแปรนั้นให้กับโมดูลที่คุณนำเข้าภายใต้ชื่อตัวแปร ตัวอย่างเช่น คุณมีอ็อบเจ็กต์ myobj สร้างอินสแตนซ์และต้องการใช้กับโมดูล B จากนั้นคุณสามารถทำสิ่งต่อไปนี้:

>>> import B
>>> B.myobj = myobj

และภายในโมดูล B ให้ใช้เหมือนกับทรัพย์สินส่วนกลางอื่นๆ อีกวิธีหนึ่งคือยอมรับวัตถุนี้เป็นพารามิเตอร์ทุกที่ที่ต้องการ ตัวอย่างเช่น หากคุณมีฟังก์ชัน myfunc ในโมดูล B ที่ต้องการอ็อบเจ็กต์นี้ ให้ทำดังนี้

>>> import B
>>> B.myfunc(myobj)