[解決済み] Pythonでクラスのすべてのメンバ変数をループする
2022-08-27 20:09:51
質問
反復可能なクラス内のすべての変数のリストを取得する方法は?locals()のようなものですが、クラスのためのものです。
class Example(object):
bool143 = True
bool2 = True
blah = False
foo = True
foobar2000 = False
def as_list(self)
ret = []
for field in XXX:
if getattr(self, field):
ret.append(field)
return ",".join(ret)
これは
>>> e = Example()
>>> e.as_list()
bool143, bool2, foo
どのように解決するのですか?
dir(obj)
はオブジェクトの全ての属性を与えます。 メソッド等からメンバーを自分でフィルタリングする必要があります。
class Example(object):
bool143 = True
bool2 = True
blah = False
foo = True
foobar2000 = False
example = Example()
members = [attr for attr in dir(example) if not callable(getattr(example, attr)) and not attr.startswith("__")]
print members
を与えるだろう。
['blah', 'bool143', 'bool2', 'foo', 'foobar2000']
関連
-
[解決済み] pipでPythonの全パッケージをアップグレードする方法
-
[解決済み] Pythonで静的なクラス変数は可能ですか?
-
[解決済み] Pythonの関数内の静的変数に相当するものは何ですか?
-
[解決済み] Pythonにはクラス内に「プライベート」変数がある?
-
[解決済み] バイナリファイルの読み込みと各バイトのループ処理
-
[解決済み】Pythonでディレクトリ内の拡張子.txtのファイルをすべて検索する
-
[解決済み】Pythonで2つの変数の論理xorを取得するにはどうすればいいですか?
-
[解決済み] Pythonのキャッシュライブラリはありますか?
-
[解決済み] Django で全てのリクエストヘッダを取得するにはどうすれば良いですか?
-
[解決済み] Alembicアップグレードスクリプトでインサートやアップデートを実行するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] オブジェクトの現在のプロパティと値をすべて表示する組み込み関数はありますか?
-
[解決済み】コマンドラインからunittest.TestCaseのテストを1つ実行する
-
[解決済み】Pythonクラスの全プロパティを表示する【重複あり
-
[解決済み】pythonでオブジェクトの属性を繰り返し処理する【重複あり
-
[解決済み] Pythonで0xを使わずにhex()を使うには?
-
[解決済み] スペースがないテキストを単語のリストに分割する方法
-
[解決済み] SQLAlchemy - テーブルのリストを取得する
-
[解決済み] PyQtアプリケーションのスレッド化。QtスレッドとPythonスレッドのどちらを使うか?
-
[解決済み] Pandasを使って、既存のExcelファイルに新しいシートを保存する方法は?
-
[解決済み] 単純な文字列からtimedeltaオブジェクトを作成する方法