1. ホーム
  2. python

[解決済み] Pythonでメンバ変数stringをTupleとして扱う

2023-02-15 15:55:26

質問

現在、CodeAcademyを利用してPythonを学習しています。私の問題は、彼らのWebアプリケーションに関連しているかもしれませんが、私の疑いは、私がここで非常に基本的なレベルで間違っているだけだということです。

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 のメンバー変数が画面に表示されることです。私は、次のようなことを期待していました。 condition , colormodel は文字列として扱われますが、代わりに Tuple .

出力はこのようになります。

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

CA は "silver" を期待しますが、コードでは ('silver',) .

これに関する私のコードのどこに誤りがあるのでしょうか?

どのように解決するのですか?

あなたの __init__ で、あなたは

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

となっており、タプルを定義する方法です。この行を

    self.model = model
    self.color = color

をカンマなしで

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

>>> a = 2
>>> a
2