私は「GETATTR」を使用しようとすると、次のエラーを取得しておいてください。gettar属性エラー - Pythonの
はAttributeError:「str」はオブジェクトが属性を持っていないここにdisplayTime "
は私のコードです使用:
「classNameが」私はリストから取り出され、また、私は私のプログラムを持っているサブクラスの名前でてきた文字列を指しgetattr(className,"displayTime")(self)
を。 "displayTime"は、そのサブクラス内のメソッドです。
私はそれに直接サブクラスの名前を入力環境でそれをテストしてみました:
getattr(seconds,"displayTime")(self)
、これがうまく働きました。誰かが私が間違っているアイデアを持っていますか?
ありがとうございます。
を使用すると、クラスオブジェクトをつかむ必要があるだろう'globals()[classname]'を介して。 'getattr'はあなたのためにそれを見つけることはありません。 classname-> classobjの値を保持するディクショナリを作成することを検討してください。そうすれば、 'globals'の処理について心配する必要はありません。 –
文字列ではなく、最初の引数としてインスタンスを使用する必要があります。 – Daniel
'秒'は ''秒 ''ではありません。文字列はテキストを表し、文字列に格納されたテキストと名前が一致するクラスやその他のものは表しません。 – user2357112