Skip to main content
 首页 » 编程设计

python之Python 中的 Unicode 标识符

2025年05月04日8powertoolsteam

我想构建一个 Python 函数来计算,

alt text

并想将我的求和函数命名为 Σ。以类似的方式,想将 Π 用于产品,等等。我想知道是否有办法以这种方式命名 python 函数?

def Σ (..): 
 .. 
 .. 

也就是说,Python 是否支持 unicode 标识符,如果支持,有人可以提供一个例子吗?

谢谢!


最初的动机是我今天看到的一段 Clojure 代码,看起来像,

(defn entropy [X] 
      (* -1 (Σ [i X] (* (p i) (log (p i)))))) 

其中 Σ 是定义为的宏,

(defmacro Σ 
    ... ) 

我觉得这很酷。


顺便说一句,解决一些关于可读性的评论——例如,对于大量统计/ML 代码,能够使用符号组合操作将非常有帮助。 (特别是对于非常复杂的积分等)

φ(z) = ∫(N(x|0,1,1), -∞, z) 

对比

Phi(z) = integral(N(x|0,1,1), -inf, z) 

甚至只是 lambda() 的 lambda 字符!

请您参考如下方法:

(我觉得这也很酷,这可能意味着我们是极客。)

您可以使用 Python 3 中的上述代码执行此操作。(它至少在我的 Python 3.1 解释器中有效。)参见:

但在 Python 2 中,标识符只能是 ASCII 字母、数字和下划线。