[解決済み] 未束縛のメソッド f() は fibo_ インスタンスを第一引数として呼び出す必要がある (代わりに classobj インスタンスを取得)
2022-05-16 10:23:17
質問
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を使ったオフィス自動化コード例
-
Pythonによるjieba分割ライブラリ
-
pythonサイクルタスクスケジューリングツール スケジュール詳解
-
Python 入出力と高次代入の基礎知識
-
[解決済み】DataFrameのコンストラクタが正しく呼び出されない!エラー
-
[解決済み】終了コード -1073741515 (0xC0000135)でプロセス終了)
-
[解決済み】 AttributeError("'str' object has no attribute 'read'")
-
[解決済み】Python Error: "ValueError: need more than 1 value to unpack" (バリューエラー:解凍に1つ以上の値が必要です
-
[解決済み】LogisticRegression: Pythonでsklearnを使用して、未知のラベルタイプ: '連続'を使用しています。
-
[解決済み】ValueError: xとyは同じサイズでなければならない
最新
-
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によるLeNetネットワークモデルの学習と予測
-
python call matlab メソッドの詳細
-
Pythonの学習とデータマイニングのために知っておくべきターミナルコマンドのトップ10
-
PythonによるExcelファイルの一括操作の説明
-
[解決済み】RuntimeWarning: 割り算で無効な値が発生しました。
-
[解決済み] builtins.TypeError: strでなければならない、bytesではない
-
[解決済み】インポートエラー。モジュール名 urllib2 がない
-
[解決済み】 AttributeError("'str' object has no attribute 'read'")
-
[解決済み】SyntaxError: デフォルト以外の引数がデフォルトの引数に続く
-
[解決済み】NameError: 名前 'self' が定義されていません。