Pythonでcallable() 関数を使用し変数が関数かどうかを検出する

スポンサーリンク

Pythonでcallable()関数を使用し変数が関数かどうかを検出してみます。

なお、そもそもcallable()関数とは、渡されたオブジェクトがもし呼び出し可能である場合にTrue(真)を返し、それ以外の場合は、False(偽)を返します。callable()関数に渡す呼び出し可能なオブジェクト(object)は、関数も対象となります。

■Python

Google Colaboratory(Google Colab),2022年11月25日現在、Python 3.7.15を使用している。

■callable() 関数を使用し変数が関数かどうかを検出する

では、早速callable() 関数を使用し変数が関数かどうかを検出するスクリプトを書いていきます。

■コード

def test_a(a, b):
    return a-b
  
print(callable(test_a))

value_1 = 100
print(callable(value_1))

今回はdef文を用いてtest_aという関数を定義する。関数の括弧内には引数,パラメータとしてa,bを設定します。設定後、関数が呼び出された時に実行する処理をdef文内に記述します。今回は定義した関数に渡された引数,パラメータを算術演算子を用いて減算(引き算,”-“(マイナス))を行い、演算された結果をreturnとして返すものです。

関数を定義後、callable()を用います。括弧内には引数,パラメータとして今回定義した関数名であるtest_aを渡します。これで変数が関数かどうかを検出します。検出された結果をprint()を用いて出力します。

次に今回は比較としてvalue_1という変数を定義し、その中に「100」という数値を格納します。格納後、callable()を用います。括弧内には引数,パラメータとしてvalue_1変数を渡します。これで変数が関数かどうかを検出します。検出された結果をprint()を用いて出力します。

■実行・検証

このセルを保存し、Google Colaboratory上で、セルを実行してみます。

実行してみると、callable()関数に定義した関数を渡した方は、呼び出し可能なオブジェクトであるために、True(真)と出力され、一方で数値を格納した変数を渡した方は、関数やメソッドのように呼び出し可能なオブジェクトではないため、False(偽)と出力されることが確認できました

コメント

タイトルとURLをコピーしました