строка переменной-члена обрабатывается как Tuple в Python

В настоящее время я изучаю Python с помощью CodeAcademy. Моя проблема может быть связана с их веб-приложением, но мое подозрение в том, что я просто ошибаюсь на очень фундаментальном уровне.

Если вы хотите следовать, я имею в виду CodeAcademy.com -> Python -> Classes 6/11

Мой код выглядит так:

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 

Предполагается, что происходит, что каждая my_car переменная объекта my_car печатается на экране. Я ожидал, что подобное condition , color и model будут рассматриваться как строка, но вместо этого будут рассматриваться как Tuple .

Результат выглядит следующим образом:

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

Это приводит к сбою проверки, потому что CA ожидает «серебро», но код возвращается ('silver',) .

Где ошибка в моем коде на этом?

3 Solutions collect form web for “строка переменной-члена обрабатывается как Tuple в Python”

В вашем __init__ вас есть:

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

как вы определяете кортеж. Измените линии на

  self.model = model self.color = color 

без запятой:

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

против

 >>> a = 2 >>> a 2 

У вас есть запятая после этих атрибутов в вашей функции конструктора.

Удалите их, и вы получите его без кортежа

да, вам нужно удалить запятую из переменных экземпляра. from self.model = model, to self.model = model

Приятно видеть, что вы используете концепцию переменной класса , « condition » – это переменная класса, а « self.model », « self.color », « self.mpg » – это переменные экземпляра.

  • Идиоматически преобразовывать объект BaseClass в объект SubClass?
  • Как избежать того, чтобы данные класса делились между экземплярами?
  • Использовать другой класс для входа пользователя в Django
  • Есть ли способ выполнить цикл и выполнить все функции в классе Python?
  • Есть ли причина использовать классы в Python, если в программе есть только один класс?
  • Как читать numpy-источник?
  • Как объявить атрибут в Python без значения?
  • Является ли хорошей практикой делать вложенный класс в python?
  •  
    Interesting Posts for Van-Lav

    Лучший способ проверить список для определенных элементов – python

    Преобразование Python списка строк в список кортежей

    Как создать список исправлений в python?

    Периодические проблемы при доступе к внешним службам HTTP с использованием gevent

    Может ли python urllib2 автоматически распаковывать данные gzip с веб-страницы?

    Как добавить readonly inline в django admin

    Показывать не ascii (японский) персонажей в легенде сюжета панд

    Python: могу ли я изменить поведение функции, независимо от того, назначен ли вывод или нет?

    Возвращение отдельных строк в SQLAlchemy с помощью SQLite

    Python: доступ к «областям модуля» vars

    Подпроцесс Python с аргументами, имеющими несколько котировок

    Доступ к массиву C struct к Python с помощью SWIG

    Как добавить базовую аутентификацию в запрос REST Python?

    Добавление поля, которое не относится к модели для сериализатора в структуре Django REST

    Ошибка установки python blpapi

    Python - лучший язык программирования в мире.