我想构建一个计算的 Python 函数,
并想将我的求和函数命名为 Σ。以类似的方式,想将 Π 用于产品,等等。我想知道是否有办法以这种方式命名 python 函数?
def Σ (..):
..
..
也就是说,Python 是否支持 unicode 标识符,如果支持,有人可以提供一个示例吗?
谢谢!
最初的动机是我今天看到的一段 Clojure 代码,看起来像,
(defn entropy [X]
(* -1 (Σ [i X] (* (p i) (log (p i))))))
其中 Σ 是一个宏定义为,
(defmacro Σ
... )
我觉得这很酷。
顺便说一句,为了解决一些关于可读性的评论 - 例如,有很多统计/机器学习代码,能够用符号组合操作将非常有帮助。 (特别是对于真正复杂的积分等)
φ(z) = ∫(N(x|0,1,1), -∞, z)
对
Phi(z) = integral(N(x|0,1,1), -inf, z)
甚至只是 lambda() 的 lambda 字符!
最佳答案
(我觉得这也很酷,这可能意味着我们是极客。)
您可以使用上面在 Python 3 中的代码来执行此操作。(它至少在我的 Python 3.1 解释器中工作。)请参阅:
- http://docs.python.org/py3k/reference/lexical_analysis.html#identifiers
- http://www.python.org/dev/peps/pep-3131/
但在 Python 2 中,标识符只能是 ASCII 字母、数字和下划线。
关于python - Python中的Unicode标识符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2649544/