Obecnie uczę się Pythona przy pomocy CodeAcademy. Mój problem może być związany z ich aplikacją internetową, ale podejrzewam, że jestem po prostu w błędzie na bardzo podstawowym poziomie.zmienna ciągu członków zostaje potraktowana jako Tuple w języku Python
Jeśli chcesz podążać Mam na myśli CodeAcademy.com -> Python -> Klasy 6/11
Mój kod wygląda następująco:
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
Co suppossed się stało, jest , że każda zmienna składowa obiektu my_car
zostanie wydrukowana na ekranie. Spodziewałem się, że tak jak condition
, color
i model
będzie traktowane jako ciąg, ale zamiast tego traktuje się jako Tuple
.
Wyjście wygląda następująco:
('DeLorean',) #Tuple
('silver',) #Tuple
88
new #String
None
Która prowadzi do upadającego walidacji, ponieważ CA oczekuje „srebro”, ale kod zwraca ('silver',)
.
Gdzie jest błąd w moim kodzie na ten temat?
Jestem wdzięczny za twoje pytanie. Uczę Pythona i kończę przecinkiem. Po raz pierwszy natknąłem się na prawdziwy przykład kogoś, kto popełnił ten błąd! Dzięki. – cdarke
Tak, bardzo trudno jest oduczyć się wszystkiego, co się wie o innych językach. Co jakiś czas piszę "object = new class" tylko dlatego, że jestem do tego przyzwyczajony. Sądzę, że w nadchodzących tygodniach będę często natknął się na syntaktyczne mashupy. – Marco