[解決済み] getattr()とは何ですか、どのように使うのですか?
2022-03-14 21:13:58
質問
最近
についてお読みください。
getattr()
機能
. 問題は、その使い方のイメージがまだつかめないことです。私が唯一理解しているのは
getattr()
というのは
getattr(li, "pop")
を呼び出すのと同じです。
li.pop
.
実行時まで関数名を知らずに参照を得るために使うということが本に書いてあったのですが、よくわかりませんでした。これは私がプログラミング全般の初心者なのかもしれません。どなたかこのテーマに光を当てていただけませんか?具体的にいつ、どのように使えばいいのでしょうか?
どのように解決するのですか?
getattr(object, 'x')
は完全に等価である
から
object.x
.
があります。
以下の2つのケースのみです。
ここで
getattr
は有用である。
-
は書けません。
object.x
なぜなら、どの属性が欲しいのか事前に分からないからです(文字列から来る)。 メタプログラミングに非常に有効です。 -
デフォルト値を提供したい場合。
object.y
が発生します。AttributeError
がない場合はy
. しかしgetattr(object, 'y', 5)
が返されます。5
.
関連
-
Pythonを使って簡単なzipファイルの解凍パスワードを手作業で解く
-
任意波形を生成してtxtで保存するためのPython実装
-
[解決済み】 'numpy.float64' オブジェクトは反復可能ではない
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] staticmethodとclassmethodの違いについて
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] パラメータに**(ダブルスター/アスタリスク)、*(スター/アスタリスク)がありますが、これはどういう意味ですか?
-
[解決済み】if __name__ == "__main__": は何をするのでしょうか?
-
[解決済み】__str__と__repr__の違いは何ですか?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
pythonを使ったオフィス自動化コード例
-
Python 可視化 big_screen ライブラリ サンプル 詳細
-
PyQt5はユーザーログインGUIインターフェースとログイン後のジャンプを実装しています。
-
Python LeNetネットワークの説明とpytorchでの実装
-
[解決済み】TypeError: unhashable type: 'numpy.ndarray'.
-
[解決済み】「RuntimeError: dictionary changed size during iteration」エラーを回避する方法とは?
-
[解決済み] データ型が理解できない
-
[解決済み] builtins.TypeError: strでなければならない、bytesではない
-
[解決済み】「OverflowError: Python int too large to convert to C long" on windows but not mac
-
[解決済み】ValueError: xとyは同じサイズでなければならない