2014-12-26 16 views
19

में टुपल के रूप में माना जाता है, मैं वर्तमान में कोडएकैमी की सहायता से पाइथन सीख रहा हूं। मेरी समस्या उनके वेब एप्लिकेशन से संबंधित हो सकती है, लेकिन मेरा संदेह यह है कि मैं यहां एक बहुत ही मौलिक स्तर पर गलत हूं।सदस्य चर स्ट्रिंग को पायथन

class Car(object): 
    condition = "new" 
    def __init__(self, model, color, mpg): 
     self.model = model, 
     self.color = color, 
     self.mpg = mpg 

my_car = Car("DeLorean", "silver", 88) 
print my_car.model 
print my_car.color 
print my_car.mpg 
print my_car.condition 

क्या करने के लिए suppossed है, है:

आप के साथ मैं CodeAcademy.com की चर्चा करते हुए कर रहा हूँ का पालन करना चाहते हैं - -> अजगर> वर्ग 6/11

मेरे कोड इस तरह दिखता है , कि ऑब्जेक्ट my_car ऑब्जेक्ट के प्रत्येक सदस्य चर स्क्रीन पर मुद्रित हो जाता है। मैं उम्मीद कर रहा था कि condition, color और model को स्ट्रिंग के रूप में माना जाएगा, लेकिन इसके बजाय Tuple के रूप में माना जाएगा।

उत्पादन इस तरह दिखता है:

('DeLorean',) #Tuple 
('silver',) #Tuple 
88 
new #String 
None 

कौन सा सत्यापन ऐसा न करने की ओर जाता है, क्योंकि सीए "चांदी" उम्मीद है, लेकिन कोड लौटाता है ('silver',)

इस पर मेरे कोड में त्रुटि कहां है?

+2

मैं आपके प्रश्न के लिए आभारी हूं। मैं पाइथन, और पिछला कॉमा मुद्दा सिखाता हूं। यह पहली बार है जब मैं इस गलती करने वाले किसी के वास्तविक वास्तविक उदाहरण में आया हूं! धन्यवाद। – cdarke

+0

ऐ, यह बहुत मुश्किल है, अन्य भाषाओं के बारे में जो कुछ भी जानता है उसे अनदेखा करना। हर बार मैं 'ऑब्जेक्ट = नई कक्षा' लिखता हूं क्योंकि इसका उपयोग मैं करता हूं। मुझे लगता है कि मैं अक्सर आने वाले हफ्तों में वाक्य रचनात्मक मैशप के बारे में ठोकर खाऊंगा। – Marco

उत्तर

28

अपने __init__ में, तुम हो:

self.model = model, 
    self.color = color, 

जो है आप कैसे एक टपल परिभाषित करते हैं। अल्पविराम के बिना

self.model = model 
    self.color = color 

लिए लाइनों बदलें:

>>> a = 2, 
>>> a 
(2,) 

बनाम

>>> a = 2 
>>> a 
2 
+0

वह था - सी # और पायथन के बीच कहीं भी अनुवाद में खो गया। चीयर्स। जैसे ही लॉक मधुमक्खी उठाया जाता है, स्वीकार करें। – Marco

5

आप अपने निर्माता समारोह में उन विशेषताओं के बाद एक अल्पविराम मिल गया है।

उन्हें निकालें और आप एक टपल के बिना यह मिल जाएगा

+1

ये कोई गुण नहीं हैं, लेकिन केवल गुण हैं। – glglgl

1

हां, तो आप उदाहरण चर से अल्पविराम निकालना होगा। from self.model = model, to self.model = model

अच्छा देखने के लिए, आप कक्षा चर अवधारणा का उपयोग कर रहे हैं, "condition" वर्ग चर रहा है और "self.model", "self.color", "self.mpg" उदाहरण चर हैं।

संबंधित मुद्दे