[ 参照リンク:Pythonの関数](https://www.imangodoc.com/270.html)
数日前に、わかりやすいユーモラスな人工知能学習サイトを発見しました。みんなと共有せざるを得ません。クリックしてチュートリアルにジャンプします
pythonには便利な組み込みツール関数がたくさんあります。これらのガジェットを上手に使用すると、作業の半分の労力で2倍の結果を確実に達成できます。今日、eval()関数を使用する必要があるため、この関数は実際に以前に使用されていましたが、最近は紙などを読むのに忙しくて、少しずつ忘れてしまいました。今日は使ってみます。直接学びます。学習の記録として使います。
eval()の公式文書に記載されている機能の説明は次のとおりです。文字列オブジェクトを有効な式に変換して評価操作に参加し、計算結果を返します。
構文的に:呼び出しは次のとおりです:eval(expression、globals = None、locals = None)は計算結果を返します
その中で:
式は計算に関係するpython式です
globalsはオプションのパラメーターです。属性がNoneに設定されていない場合は、辞書オブジェクトである必要があります。
localsもオプションのオブジェクトです。プロパティがNoneに設定されていない場合は、任意のマップオブジェクトにすることができます。
Pythonは、ネームスペースを使用して変数の軌跡を記録します。ネームスペースは辞書であり、キーは変数名であり、値は変数値です。
コード行が変数xの値を使用する場合、Pythonは使用可能なすべての名前名で変数を次の順序で検索します。
1 )ローカル名前名-具体的には、現在の関数またはクラスのメソッドを指します。関数がローカル変数xまたはパラメーターxを定義している場合、Pythonはそれを使用して、検索を停止します。
2 )グローバル名前名-具体的には現在のモジュールを指します。モジュールがxという名前の変数、関数、またはクラスを定義している場合、Pythonはそれを使用して、検索を停止します。
3 )組み込みの名前空間-すべてのモジュールに対してグローバル。最後の試みとして、Pythonはxが組み込みの関数または変数であると想定します。
pythonのグローバル名前付けはglobals()と呼ばれるdictオブジェクトに保存されます。ローカル名前付けはlocals()と呼ばれるdictオブジェクトに保存されます。 print(locals())を使用して、関数本体のすべての変数名と変数値を表示できます。
以下に、eval()関数の使用法を簡単に示します。
#! usr/bin/env python
import math
def eval_test():
l='[1,2,3,4,[5,6,7,8,9]]'
d="{'a':123,'b':456,'c':789}"
t='([1,3,5],[5,6,7,8,9],[123,456,789])'
印刷 '--------------------------変換が始まります-------------------- ------------ '
print type(l), type(eval(l))
print type(d), type(eval(d))
print type(t), type(eval(t))
if name=="main":
eval_test()
実行結果は次のとおりです。
Recommended Posts