是否有任何方法將Python代碼中的數字分組以增加代碼易讀性?我試過'
和_
這是其他一些語言的digit separators,但沒有用。Python代碼中的數字分隔符
一個奇怪的操作符連接其左手側和右手側也可以解決。
是否有任何方法將Python代碼中的數字分組以增加代碼易讀性?我試過'
和_
這是其他一些語言的digit separators,但沒有用。Python代碼中的數字分隔符
一個奇怪的操作符連接其左手側和右手側也可以解決。
幾年後更新:Python 3.6現在支持PEP515,所以你可以使用_來實現float和integer的可讀性改進。
Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> 1_1000
11000
>>>
由於歷史的參考,你可以看看嚴格定義python2.7,python3.5詞法分析...
對於python3.6.0a2和更早版本,你應該得到類似的錯誤消息:
Python 3.6.0a2 (v3.6.0a2:378893423552, Jun 13 2016, 14:44:21)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 1_000
File "<stdin>", line 1
1_000
^
SyntaxError: invalid syntax
>>> amount = 10_000_000.0
File "<stdin>", line 1
amount = 10_000_000.0
^
SyntaxError: invalid syntax
在Python中沒有這樣的函數,但有人建議將它集成在將來。
您可以在PEP515中看到提案。
我在python中看到的最接近的東西是12 * 1000 * 1000
,這並不理想,但如果需要12000000
可能會很有用。儘管如此,儘管在C中,這些是等價的,因爲在編譯時它將兩者都轉換爲相同的東西,python可能不會共享此優化。
如果它們是文字,python會摺疊常量。它不會做任何摺疊的符號。 – mgilson
謝謝。我認爲會,但我不想傳播壞信息。 – TemporalWolf
對於1200萬,我會使用並推薦'12e6'。 – ThoAppelsin
目前,在Python中沒有千位分隔符,但可以使用locale
模塊串用這種隔板的轉換爲int:
import locale
locale.setlocale(locale.LC_ALL, '')
locale.atoi("1,000,000")
你可以更具體..舉個例子? –
我想他想用31_415_926替換整數字面量31415926,例如。 – Prune
我不確定這是否實施。有提案,但沒有執行 – Li357