質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

1685閲覧

リスト内のオブジェクトを確認する方法を教えてください

Sigma1630

総合スコア36

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2017/09/10 09:57

編集2017/09/10 10:05

###前提・実現したいこと
リスト内のオブジェクトを確認するにはどうしたらよいか知りたいです。
本質問の場合ですと、下記ソースコードにおいて
dog
と表示されることを望んでいます。

###発生している問題・エラーメッセージ
エラーではないですが、以下のメッセージが表示されてしまい、求めているものと違います。

<__main__.Animals object at 0x0378B690>

###該当のソースコード

class Animals(): pass dog = Animals() cat = Animals() mouse = Animals() list = [dog, cat, mouse] list[1] #上記メッセージが表示される。

###試したこと
課題に対してアプローチしたことを記載してください

###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

raccy

2017/09/10 10:00

どのように表示されることを求めているのですか?何を期待しているのか、求めているのかが具体的にわかれば正確な回答を得られやすくなります。
Sigma1630

2017/09/10 10:05

raccy様 ご指摘ありがとうございます。更新しましたのでご教示願います。
guest

回答1

0

ベストアンサー

dog = Animals() のdogはあくまでも代入をしているだけなので、Animalsからdogという名前を取得する事は出来ません。

dogと表示させる為にはname属性を追加してやる必要があります。
(変数名はnameでなくてもよい)

python

1class Animals(): 2 pass 3 4dog = Animals() 5dog.name = "dog" 6 7cat = Animals() 8cat.name = "cat" 9 10mouse = Animals() 11mouse.name = "mouse" 12 13list = [dog.name, cat.name, mouse.name] 14 15print(list[0]) 16

今回はpassを使われているので、追加する必要がありましたが
インスタンス生成時に属性を作成する事も出来ます

python

1class Animals(): 2 def __init__(self, name): 3 self.name = name 4 5dog = Animals("dog") 6 7cat = Animals("cat") 8 9mouse = Animals("mouse") 10 11list = [dog.name, cat.name, mouse.name] 12 13print(list[0]) 14

投稿2017/09/10 10:14

編集2017/09/10 10:26
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Sigma1630

2017/09/10 10:42

puroko 3 様 ありがとうございます。__init__はこう使うのですね。
Sigma1630

2017/09/10 10:46

puroko 3 様 すみません、解答依頼を誤っておしてしまいました。無視してください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問