簡體   English   中英

為什么不在 Python 代碼中使用 Ωβλδεαθφψωφϖ(非 ASCII 字符)?

[英]Why not to use Ωβλδεαθφψωϕϖ (non-ASCII chars) in Python code?

..我發現在 python 中編碼非常“數學重”的 function 時,一種使代碼更具可讀性的方法(至少對我而言)是盡可能嚴格地遵循文獻,包括使用希臘字母,如 Ω、θ , φ, ψ, ω, φ 等。

並且代碼按預期工作,但 PyCharm 突出顯示這些字符並顯示“標識符中的非 ASCII 字符”。

..沒有引用任何 PEP(Python 編碼標准)。

在此處輸入圖像描述

我要求清醒的 arguments 解釋為什么我應該避免在標識符中使用非 ASCII 字符。

因為它們不包含在標准的 qwerty 鍵盤中,並且在您的代碼中繼續引用它們會很痛苦。

你最好只通過它們的 ascii 等價物(字符串alpha等)來引用它們,並讓現代 ide 中的智能感知來處理打字。


如果您正在尋找 pep 標准,您可能需要PEP 3131

是否應該允許標識符包含任何 Unicode 字母?

允許批發非 ASCII 標識符的缺點:

  • Python 將失去可靠往返於屏幕或紙上人類可讀顯示的能力。
  • Python 將容易受到新的 class 安全漏洞的攻擊; 代碼和提交的補丁將更難檢查。
  • 人類將不再能夠驗證 Python 語法。
  • Unicode年輕; 它的問題還沒有得到很好的理解和解決; 工具支持薄弱。
  • 具有非 ASCII 標識符的語言使用不同的字符集和規范化方案; PEP 3131 的選擇並不明顯。
  • 當數字或運算符在附近時,Unicode bidi 算法會產生極其混亂的 RTL 文本顯示順序。

當然,這已被接受,所以它的 pycharm 的決定,而不是 pep。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM