Python で文字列に基づいて関数呼び出しを実装する方法
Python では文字列に基づいて関数を呼び出すことができます:
1. getattr を使用して文字列
から関数を呼び出します。複数のプロセスで文字列が渡される場合、どのようにして既存の関数を呼び出すのですか? この関数は文字列を使用して対応する文字列を取得します。以下に示すように実行されます:
モジュールには 2 つの関数があります:
[root@python 530]# cat attr.py #!/usr/bin/env python def kel(): print 'this is a kel function' def smile(): print 'this is a smile function' if __name__ == '__main__': kel() smile()
上記の attr モジュールでは 2 つの関数が定義されており、1 つの関数は kel で、もう 1 つの関数は smile です。では、以下に示すように、文字列 kel と smile に基づいて関数を実行するにはどうすればよいでしょうか。 :
>>> import attr >>> k = getattr(attr,'kel') >>> k() this is a kel function >>> s = getattr(attr,'smile') >>> s() this is a smile function >>> e = getattr(attr,'errors') Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'module' object has no attribute 'errors'
最初の例では、モジュールを直接インポートします。モジュールはオブジェクトなので、attr の kel() 関数は getattr の文字列 kel に従って取得され、最後に実行されます。文字列が異なるため、対応する関数が実行されます。
2. 辞書を使用して関数
を呼び出します。上記のモジュールの定義は変更されませんが、以下に示すように、呼び出し時に辞書を定義し、辞書の値に基づいて関数を実行できます。
>>> import attr >>> d = {'kel':attr.kel,'smile':attr.smile} >>> d['kel']() this is a kel function >>> d['smile']() this is a smile function
これにより、辞書の値を使用して関数を呼び出すことができます。
上記の 2 つのメソッドは主に、文字列が渡されたときに他の関数を呼び出す方法を知るために使用されます。1 つ目の方法は getattr を使用して関数を実行することです。2 つ目は辞書を事前に定義してから実行することです。辞書の値。
Python で文字列に基づいて関数を呼び出す上記の実装方法は、すべてエディターで共有された内容ですので、参考にしていただければ幸いです。スクリプト ホームをサポートしていただければ幸いです。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

なぜ私のコードはAPIによってデータを返しているのですか?プログラミングでは、APIが呼び出すときにヌル値を返すという問題に遭遇することがよくあります。

Pythonパラメーター注釈の代替使用Pythonプログラミングでは、パラメーターアノテーションは、開発者が機能をよりよく理解して使用するのに役立つ非常に便利な機能です...

Pythonスクリプトは、特定の場所のカーソル位置への出力をどのようにクリアしますか? Pythonスクリプトを書くときは、以前の出力をカーソル位置にクリアするのが一般的です...

Pythonクロスプラットフォームデスクトップアプリケーション開発ライブラリの選択多くのPython開発者は、WindowsシステムとLinuxシステムの両方で実行できるデスクトップアプリケーションを開発したいと考えています...

Python:Hourglassグラフィック図面と入力検証この記事では、Python NoviceがHourglass Graphic Drawingプログラムで遭遇する可変定義の問題を解決します。コード...

データの変換と統計:大規模なデータセットの効率的な処理この記事では、製品情報を含むデータリストを別の含有しているものに変換する方法を詳細に紹介します...
