それで、しばらく検索しても何も見つからなかったので、SOの専門家に相談して、何が起こっているのかを明確にすることにしました。
私はPythonを学んでおり、正規表現について学んでいるときに、理解できない興味深い構文に出くわしました。この例では、入力パラメーターで正規表現を実行し、整数の一致をfloatとして返すか、入力が数値のように見えるものと一致しない場合に例外をスローする関数が定義されています。
import re
def getNumber(token):
r'-?[1-9][0-9]*.?[0-9]*'
return float(token)
この関数は次のように呼び出すことができます。
print getNumber('123.123')
print getNumber('123.123')+40
これは出力します:
123.123
163.123
私はこれがどのように起こっているのかというメカニズムを理解しようとしています。r'STRING'の呼び出しで正規表現オブジェクトを宣言していることは理解していますが、どういうわけか、正規表現を宣言すると、トークンパラメータも式に渡されます。これは、「トークン」と呼ばれるパラメーターを明示的に含む関数を持つ特性ですか?複数のパラメータに関連する動作はありますか?確かに、ここではpythonic構文を提供するためにいくつかの作業が行われているようです。それがどのように機能し、将来どのように使用するかについて詳しく知りたいと思います。この件については何も見つからなかったので、ドキュメントを紹介するのは素晴らしいことです。