मैं पूरे दिन इस पर बैठा हूं और मैं पहले से थोड़ा थक गया हूं इसलिए कृपया मुझे संक्षिप्त होने का क्षमा करें।वेरिएबल्स पास करना, उदाहरण बनाना, स्वयं, मैकेनिक्स और कक्षाओं के उपयोग: स्पष्टीकरण की आवश्यकता है
आईएम नया पाइथन।
मैं बस एक कक्षा में कार्यों के एक समूह में और सबकुछ गड़बड़ कर एक कामकाजी कार्यक्रम को फिर से लिखता हूं। मुझे नहीं पता कि यह मेरा है लेकिन मुझे आश्चर्य है कि वेब पर कक्षाओं को संभालने के तरीके पर मुझे शुरुआती ट्यूटोरियल नहीं मिला, इसलिए मेरे पास कुछ प्रश्न हैं।
सबसे पहले, वर्ग के __init__
खंड में मैं self.variable=something
साथ चर का एक गुच्छा घोषित किया है।
क्या यह सही है कि मुझे उस समारोह में self.variable
का उपयोग करके कक्षा के प्रत्येक कार्य में इन चरों को एक्सेस/संशोधित करने में सक्षम होना चाहिए? दूसरे शब्दों में, self.variable
घोषित करके मैंने कक्षाओं के दायरे में इन चर, वैश्विक चर बनाए हैं?
यदि नहीं, तो मैं स्वयं को कैसे संभाला?
दूसरा, मैं कक्षा में तर्क सही तरीके से कैसे पास करूं? कुछ उदाहरण कोड शांत होगा।
तीसरा, मैं वर्ग के दायरे के बाहर कक्षा का एक फ़ंक्शन कैसे कॉल करूं? कुछ उदाहरण कोड शांत होगा।
Fouthly, मैं कैसे एक और class OTHERCLASS
में class INITIALCLASS
का एक उदाहरण बना सकता हूँ, INITIALCLASS
को OTHERCLASS
से चर गुजर? कुछ उदाहरण कोड शांत होगा।
मैं से INITIALCLASS
से तर्कों के साथ एक फ़ंक्शन कॉल करना चाहता हूं। मैंने अभी तक क्या किया है।
class OTHERCLASS():
def __init__(self,variable1,variable2,variable3):
self.variable1=variable1
self.variable2=variable2
self.variable3=variable3
def someotherfunction(self):
something=somecode(using self.variable3)
self.variable2.append(something)
print self.variable2
def somemorefunctions(self):
self.variable2.append(variable1)
class INITIALCLASS():
def __init__(self):
self.variable1=value1
self.variable2=[]
self.variable3=''
self.DoIt=OTHERCLASS(variable1,variable2,variable3)
def somefunction(self):
variable3=Somecode
#tried this
self.DoIt.someotherfunctions()
#and this
DoIt.someotherfunctions()
मैं स्पष्ट रूप से समझ में नहीं आया कि कैसे वर्ग या कैसे self
, जब यह उपयोग करने के लिए और जब संभाल करने नहीं करने के लिए चर पारित करने के लिए। मुझे शायद यह भी समझ में नहीं आया कि कक्षा के उदाहरण को सही तरीके से कैसे बनाया जाए। आम तौर पर मुझे कक्षाओं के यांत्रिकी को समझ में नहीं आया, इसलिए कृपया मेरी मदद करें और मुझे यह समझाएं जैसे मुझे कोई जानकारी नहीं है (जो मुझे नहीं लगता है)। या मुझे एक पूरी तरह से वीडियो, या पठनीय ट्यूटोरियल के लिए इंगित करें।
वेब पर जो कुछ भी मिलता है वह सुपर सरल उदाहरण है, जिसने मुझे बहुत मदद नहीं की। या कक्षाओं और कक्षा विधियों के उदाहरणों की बहुत छोटी परिभाषाएं आदि
यदि आप लोग चाहते हैं तो मैं आपको अपना मूल कोड भेज सकता हूं, लेकिन यह काफी लंबा है।
पायथन ट्यूटोरियल [कक्षाओं पर अनुभाग] पढ़ें (http://docs.python.org/tutorial/classes.html)। – BrenBarn
कृपया यहां प्रारूपण विकल्पों के बारे में जानें, खासकर कोड के लिए। – Marcin
मेरा मतलब संरक्षक होने का नहीं है, लेकिन यहां मेटा-उत्तर यह है कि आपको थोड़ा धीमा करने की आवश्यकता है और यह पता लगाना चाहिए कि आपका कोड आपकी अपेक्षाओं से विचलित हो रहा है। अपने कामकाजी कोड से छोटे बदलाव करने की कोशिश करें और प्रत्येक ब्रेक तक कुछ बदलावों का परीक्षण करें। रिफैक्टरिंग, वे इसे कहते हैं। इसके अलावा, अपने आप को हरा मत, यह सिर्फ कोड है - यह तब तक समझ में आता है जब तक यह नहीं करता है। – Ben