当方、pythonを始めたばかりのものです。
pythonチュートリアルに取り組んでいて分からない箇所が2点ございます。
①Mappingクラスのオブジェクトに対してupdateメソッドを実行した後、リスト「items_list」はどのようにして出力すれば良いのか
item1 = Mapping("たけし")
print(item1.items_list)とすると、["たけし"]とならず、
["た","け","し"]が返ってきてしまいます。
②line22について、#既存の__init__()は破壊せずに利用できる、とあるのですが、
なぜ親クラスMappingでは引数が1つなのに子クラスのMappingSubclassでは引数が2つでappendの処理ができるのでしょうか。
["たけし",("たろう":16),・・・]のように格納されるということでしょうか。
初歩的な質問で申し訳ありません。よろしくお願い致します。
python class Mapping: def __init__(self,iterable): self.items_list = [] self.__update(iterable) def update(self,iterable): for item in iterable: self.items_list.append(item) #上のupdateメソッドのプライベートコピー __update = update class MappingSubclass(Mapping): def update(self,keys,values): #update()の新しいシグネチャを提供しつつ #既存の__init__()は破壊せずに利用できる for item in zip(keys,values): self.items_list.append(item)
### 試したこと ここに問題に対して試したことを記載してください。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。