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

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

ただいまの
回答率

90.47%

  • Python 3.x

    6876questions

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

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

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 289

Sigma1630

score 11

前提・実現したいこと

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

発生している問題・エラーメッセージ

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

<__main__.Animals object at 0x0378B690>

該当のソースコード

class Animals():
    pass

dog = Animals()
cat = Animals()
mouse = Animals()

list = [dog, cat, mouse]

list[1] #上記メッセージが表示される。

試したこと

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

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

より詳細な情報

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • raccy

    2017/09/10 19:00

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

    キャンセル

  • Sigma1630

    2017/09/10 19:05

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

    キャンセル

回答 1

checkベストアンサー

+2

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

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

class Animals():
    pass

dog = Animals()
dog.name = "dog"

cat = Animals()
cat.name = "cat"

mouse = Animals()
mouse.name = "mouse"

list = [dog.name, cat.name, mouse.name]

print(list[0])

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

class Animals():
    def __init__(self, name):
        self.name = name

dog = Animals("dog")

cat = Animals("cat")

mouse = Animals("mouse")

list = [dog.name, cat.name, mouse.name]

print(list[0])

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/09/10 19:42

    puroko 3 様

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

    キャンセル

  • 2017/09/10 19:46

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

    キャンセル

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

  • ただいまの回答率 90.47%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    C#でforeachの中にifを入れて分岐させたい

    ASP.NET MVC5で環境はVisual Stadio2015です。  言語はC#でwebアプリケーションを作成しています。  webApiを使い外部のソフトと連動?させて

  • 解決済

    リストの要素を横に並べて出力させたい

    ans配列に[['dog','cat','rabbit']]と入っています。 このans配列の要素を dog cat rabbit と出力させたいです。 for j in

  • 解決済

    Python コードの簡略化

    pythonのコードの簡略化の方法で分からないところがあります。 words = ['cat','dog','bird','rabbit'] def test(words):

  • 解決済

    文字列を比較して配列に格納できない

    ans配列の要素の文字列の最初の文字がlinesの要素の最初の文字と一致するならlinesの2番目の要素('A'/'B'/'C'/'D')をline_alpha配列に格納する、とい

  • 受付中

    ajaxでデータを一斉に書き換えたい時の方法について

    Javascript & Vue初心者で、扱い方がよくわかっていません。どなたか詳しい方教えてもらえませんでしょうか? ajaxでデータを一斉に書き換えたい時どうすれば良いか分

  • 解決済

    swift4でサウンドをつける

    前提・実現したいこと swift4でiphoneアプリを勉強中で、音をつけたいのですが、講座がswift3なので、 その通りに入力するとエラーになります。 発生している問題・エ

  • 解決済

    キーワードがマッチした時のIDを書き出すコード。

    前提・実現したいこと jsonファイルを扱っております。 「tags:[○○,××,□□]内に○○が含まれていれば、"video_id"を新しいファイルに書き込む。」というコー

  • 解決済

    動作時間の短縮(複数行入力の最適化)

     前提・実現したいこと 動作自体は問題ないのですが、処理時間をより短縮したいです。 また、複数行入力はfor文やwhile文以外に方法があるのでしょうか? なお、入力条件及び出力は

同じタグがついた質問を見る

  • Python 3.x

    6876questions

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