HOWTO · Python
Python で Float オブジェクトが呼び出せない問題の修正
このチュートリアルでは、float オブジェクトは Python で呼び出し可能なエラーではないことについて説明します。
このページの内容
関数は、プログラム内のどこからでも呼び出して使用できる再利用可能なコードと考えることができます。Python でのみ関数を呼び出すことができます。
関数を呼び出すには、関数名の括弧を使用します。関数に提供される引数またはパラメーターは、これらの括弧内に指定されます。
Python の float object is not callable エラーとその解決方法
このチュートリアルでは、Python の float object is not callable エラーについて説明します。
これは TypeError であり、特定のオブジェクトに無効な操作が関連付けられていることを示します。Python では、関数を呼び出すことしかできません。このエラーは、float オブジェクトが呼び出されていることを示しています。
例えば、
a = 1.5
a()
出力:
TypeError: 'float' object is not callable
上記の例では、float 変数 a を作成して呼び出そうとしたため、エラーが発生します。次に、このようなエラーが発生する可能性のあるさまざまなシナリオについて説明します。
Python では、複雑な複雑さを実行することがあり、演算子とオペランドを区切るために括弧を使用する場合があります。場合によっては、関数呼び出しステートメントを表しているように見える間違った位置に括弧のペースを合わせることがあります。
例えば、
a = 1.5
b = 5
c = 8 * 10 / 5 * a(2) * 5
print(c)
出力:
TypeError: 'float' object is not callable
これを修正するには、括弧に注意し、それに応じてオペランドを配置する必要があります。これは、以下に示すように、前の例の簡単な修正です。
a = 1.5
b = 5
c = 8 * 10 / 5 * (a * 2) * 5
print(c)
出力:
240.0
別の状況について話し合いましょう。以下のコードを参照してください。
def mul(a, b):
return a * b
mul = mul(7, 4.2)
print(mul)
mul = mul(13, 8.2)
print(mul)
出力:
29.400000000000002
TypeError: 'float' object is not callable
上記の例では、関数を作成し、それを同じ名前の変数に 2 回割り当てました。
これは最初の呼び出しでは機能しますが、2 番目の関数呼び出しが原因で float object is not callable という結果が返されます。これは、2 番目の関数呼び出しステートメントで関数が変数名でオーバーライドされるために発生します。
また、簡単な修正があります。このエラーを解決するには、関数の名前または変数を変更する必要があります。
以下のコードを参照してください。
def mul_cal(a, b):
return a * b
mul = mul_cal(7, 4.2)
print(mul)
mul = mul_cal(13, 8.2)
print(mul)
出力:
29.400000000000002
106.6