मेरे पास एक फ़ाइल में पायथन कक्षाओं की एक श्रृंखला है। कुछ वर्ग दूसरों का संदर्भ देते हैं।क्या पाइथन में कक्षा प्रोटोटाइप (या आगे की घोषणाएं) हैं?
class A():
pass
class B():
c = C()
class C():
pass
कि चलाने के लिए कोशिश कर रहा है, मैं NameError: name 'C' is not defined
मिलती है:
मेरे कोड कुछ इस तरह है। काफी उचित है, लेकिन क्या इसे काम करने का कोई तरीका है, या क्या मुझे अपनी कक्षाओं को मैन्युअल रूप से समायोजित करने के लिए फिर से आदेश देना है? सी ++ में, मैं एक वर्ग प्रोटोटाइप बना सकता हूं। क्या पाइथन समकक्ष है?
(मैं वास्तव में Django मॉडल के साथ खेल रहा हूं, लेकिन मैंने मामलों को जटिल नहीं करने की कोशिश की)।
एफडब्ल्यूआईडब्ल्यू, इसे http://en.wikipedia.org/wiki/Forward_declaration कहा जाता है, प्रोटोटाइप नहीं (http://en.wikipedia.org/wiki/Prototype-based_programming)। – Constantin
इसे कर्निघान और रिची में फ़ंक्शन प्रोटोटाइप कहा जाता है, जहां मुझे इसे याद है। – Mat
बस मेरी के एंड आर प्रतिलिपि में "कक्षा प्रोटोटाइप" की जांच नहीं की गई;) – Constantin