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 で文字列に基づいて関数を呼び出す上記の実装方法は、すべてエディターで共有された内容ですので、参考にしていただければ幸いです。スクリプト ホームをサポートしていただければ幸いです。

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

Python 3.6のピクルスファイルのロードレポートエラー:modulenotFounderror:nomodulenamed ...

風光明媚なスポットコメント分析におけるJieba Wordセグメンテーションの問題を解決する方法は?風光明媚なスポットコメントと分析を行っているとき、私たちはしばしばJieba Wordセグメンテーションツールを使用してテキストを処理します...

正規表現を使用して、最初の閉じたタグと停止に一致する方法は? HTMLまたは他のマークアップ言語を扱う場合、しばしば正規表現が必要です...


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

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

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

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