Pythonでオブジェクトの属性を取得するgetattr関数の使い方です。(Pythonの標準関数です。)
属性とは
クラスのメンバ変数(数字、文字)を属性と呼んでいると理解しました。
すでに定義されているクラスの変数も、属性として取得することが出来ます。
getattr関数の使い方
getattr
(object,name[,default])
objectはクラス名、nameは取得する属性(変数)名、defaultは指定した属性が存在しなかった場合に戻す値です。
# -*- coding: utf-8 -*-
# テスト用のクラス
class testclass:
#この時点では中身は何も定義しない
pass
# クラスに名前属性と名前を追加
setattr(testclass,"name","abc")
# クラスに数字属性と数字を追加
setattr(testclass,"number",123)
# 属性が入ったか取り出して確認する
print(getattr(testclass,"name"))
print(getattr(testclass,"number"))
testclassにnameに”name"とい"う属性を追加し、"abc"という文字列をセットしています。
その後"number"という属性を追加し、123という数値をセットしています。
それをgetattr()で取り出して表示しています。
実行結果は以下の通りです。
abc
123
testclass.nameは、getattr(testclass,"name")と同じで、testclass.numberは、getattr(testclass,"number")と同じです。
属性を参照する場合は、testclass.nameの方が使いやすい気がします。