Python 3で変数が関数かどうかを検出する方法は何ですか?

PYTHON3 チュートリアル

Python 3で変数が関数かどうかを検出する方法

Python 3では、変数が関数かどうかを検出する方法はいくつかあります。一般的な方法は、callable()関数を使用することです。この関数は、指定されたオブジェクトが呼び出し可能かどうかを判定します。

callable()関数を使用した変数の関数判定

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
def my_function():
return "Hello, World!"
my_variable = my_function
print(callable(my_variable)) # True
def my_function(): return "Hello, World!" my_variable = my_function print(callable(my_variable)) # True
def my_function():
    return "Hello, World!"

my_variable = my_function

print(callable(my_variable))  # True

上記の例では、my_variablemy_functionという関数を参照しているため、callable()関数によってTrueが返されます。

関数として呼び出すことができない変数の例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
my_variable = "Hello, World!"
print(callable(my_variable)) # False
my_variable = "Hello, World!" print(callable(my_variable)) # False
my_variable = "Hello, World!"

print(callable(my_variable))  # False

この例では、my_variableが文字列を参照しているため、callable()関数はFalseを返します。

名前付きタプルを使用した変数の関数判定

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
from collections import namedtuple
Person = namedtuple('Person', ['name', 'age'])
my_variable = Person(name='Alice', age=30)
print(callable(my_variable)) # False
from collections import namedtuple Person = namedtuple('Person', ['name', 'age']) my_variable = Person(name='Alice', age=30) print(callable(my_variable)) # False
from collections import namedtuple

Person = namedtuple('Person', ['name', 'age'])

my_variable = Person(name='Alice', age=30)

print(callable(my_variable))  # False

この例では、名前付きタプルを使用してオブジェクトを作成し、callable()関数によってFalseが返されます。

Pythonのcallable()関数を使用することで、変数が関数かどうかを簡単に判定することができます。これは、プログラムの動的な振る舞いを制御する際に便利なツールとなります。

購読
通知


0 Comments
Inline Feedbacks
View all comments