回答編集履歴

1

kichirb3さんの指摘をうけ追記

2018/11/01 08:38

投稿

can110
can110

スコア38266

test CHANGED
@@ -21,3 +21,15 @@
21
21
  print(ns) # [1, 2, 3, -4]
22
22
 
23
23
  ```
24
+
25
+ #### kichirb3さんの指摘をうけ追記
26
+
27
+
28
+
29
+ `Python3.6`からは`1_234_567`のように数値の間にアンダースコアが入っていても`1234567`と**正常に変換できる**ようになっていることに注意が必要です。
30
+
31
+ このアンダースコアは、数値を人間にとって見やすくするための区切り(3桁区切りなど)として利用されることを考慮して導入されました。実際の変換ではアンダースコアは無視されます。
32
+
33
+ これを否と判定するには独自にアンダースコアの有無チェックなりを独自で行う必要がありそうです(int変換時、引数で制御できればよいのですが)。
34
+
35
+ 詳細は[PEP 515 -- Underscores in Numeric Literals](https://www.python.org/dev/peps/pep-0515/)を参照ください。