[解決済み] 未束縛のメソッド f() は fibo_ インスタンスを第一引数として呼び出す必要がある (代わりに classobj インスタンスを取得)
2022-02-26 10:40:32
質問
Pythonで、クラス内のメソッドを実行しようとすると、エラーが発生します。
Traceback (most recent call last):
File "C:\Users\domenico\Desktop\py\main.py", line 8, in <module>
fibo.f()
TypeError: unbound method f() must be called with fibo instance
as first argument (got nothing instead)
コード (swineflu.py)
class fibo:
a=0
b=0
def f(self,a=0):
print fibo.b+a
b=a;
return self(a+1)
スクリプト main.py
import swineflu
f = swineflu
fibo = f.fibo
fibo.f() #TypeError is thrown here
このエラーは何を意味するのでしょうか?このエラーの原因は何ですか?
解決方法を教えてください。
OK、まず第一に、モジュールへの参照を別の名前にする必要はありません。
import
) を使用すればよいのです。 もし別の名前が欲しければ
import swineflu as f
.
次に、クラスをインスタンス化するのではなく、クラスへの参照を取得していることです。
だからこれは、そうでなければならない。
import swineflu
fibo = swineflu.fibo() # get an instance of the class
fibo.f() # call the method f of the instance
A バウンドメソッド は、オブジェクトのインスタンスにアタッチされるものです。また 非結合メソッド は、もちろん ではない インスタンスにアタッチされます。このエラーは通常、インスタンスではなくクラスに対してメソッドを呼び出していることを意味します。この場合、クラスをインスタンス化していなかったので、まさにそのようなことが起こっていたのです。
関連
-
python implement mysql add delete check change サンプルコード
-
Python百行で韓服サークルの画像クロールを実現する
-
パッケージングツールPyinstallerの使用と落とし穴の回避
-
pyCaret効率化乗算器 オープンソース ローコード Python機械学習ツール
-
Pythonショートビデオクローラーチュートリアル
-
Python Pillow Image.save jpg画像圧縮問題
-
[解決済み】DataFrameのコンストラクタが正しく呼び出されない!エラー
-
[解決済み】なぜ「LinAlgError: Grangercausalitytestsから「Singular matrix」と表示されるのはなぜですか?
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み】Python Error: "ValueError: need more than 1 value to unpack" (バリューエラー:解凍に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の非常に便利な2つのデコレーターを解説
-
pythonサイクルタスクスケジューリングツール スケジュール詳解
-
[解決済み] [Solved] sklearn error ValueError: 入力に NaN、infinity または dtype('float64') に対して大きすぎる値が含まれている。
-
[解決済み】Python regex AttributeError: 'NoneType' オブジェクトに 'group' 属性がない。
-
[解決済み】numpy: true_divide で無効な値に遭遇
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み】socket.error: [Errno 48] アドレスはすでに使用中です。
-
[解決済み】TypeError: re.findall()でバイトのようなオブジェクトに文字列パターンを使用することはできません。)
-
[解決済み】Python: SyntaxError: キーワードは式になり得ない
-
[解決済み】ValueError: xとyは同じサイズでなければならない