2009-07-22 21 views
6

मैं पाइथन दुनिया के लिए काफी नया हूं और इसे सीखने की कोशिश कर रहा हूं।पायथन ऑब्जेक्ट सृजन

यही वह है जिसे मैं प्राप्त करने की कोशिश कर रहा हूं: मैं एक कार वर्ग बनाना चाहता हूं, इसके कन्स्ट्रक्टर इनपुट के रूप में ऑब्जेक्ट कारनाम को सेट करने के लिए इनपुट के लिए जांच करता है। मैं जावा तर्क का उपयोग करके ऐसा करने की कोशिश, लेकिन मैं विफल :)

class Car(): 
    carName = "" #how can I define a non assigned variable anyway like "String carName;" in java 
    def __self__(self,input): 
     self.carName = input 

    def showName(): 
     print carName 

a = Car("bmw") 
a.showName() 
+1

क्या किताब आप Pyt खुद को पढ़ाने के लिए उपयोग कर रहे हैं माननीय? आप इस तरह कोड कहाँ देखा? क्या आपने एक वेबसाइट पढ़ी? यदि हां, तो कौन सा? –

+0

मुझे लगता है कि आप का मतलब __init__ के बजाय __init__ है। – riza

उत्तर

14

new-style class
उपयोग __init__ के लिए वस्तु से प्राप्त नया उदाहरण प्रारंभ करने में, नहीं __self__
__main__ है helpful too लगते हैं।

class Car(object): 
    def __init__(self,input): 
     self.carName = input 

    def showName(self): 
     print self.carName 
def main(): 
    a = Car("bmw") 
    a.showName() 
if __name__ == "__main__": 
    main() 
+0

काम कर रहा है, धन्यवाद :) –

+0

@ क्रिब, आपका स्वागत है :) – sunqiang

+2

प्लस, आपको ऑब्जेक्ट से प्राप्त होना चाहिए: कक्षा कार (ऑब्जेक्ट): ... – hughdbrown

1

आप एक चर को परिभाषित नहीं है, और आप init और स्वयं का उपयोग करें। इस तरह:

class Car(Object): 
    def __init__(self,input): 
     self.carName = input 

    def showName(self): 
     print self.carName 

a = Car("bmw") 
a.showName() 
1

यह सही नहीं है!

class Car(): 
    carName = "" #how can I define a non assigned variable anyway like "String carName;" in java 
    def __self__(self,input): 
     self.carName = input 

पहले carName एक वर्ग चर ग में स्थिर सदस्य ++

दूसरा carName (self.carName) एक उदाहरण चर, है आप वर्ग चर सेट करना चाहते हैं की तरह है निर्माता के साथ आप इस तरह यह क्या करना है:

class Car(): 
    carName = "" #how can I define a non assigned variable anyway like "String carName;" in java 
    def __self__(self,input): 
     Car.carName = input 
संबंधित मुद्दे