4

慣習的に1e3を意味し10**3ます。

>>> 1e3
1000.0
>>> 10**3
1000

同様のケースはexp(3)と比較されe**3ます。

>>> exp(3)
20.085536923187668
>>> e**3
20.085536923187664

floatただし、指数が値であるかどうかに注意してください。

>>> exp(3.1)
22.197951281441636
>>> e**3.1
22.197951281441632

これは問題ありません。最初の例は次のとおりです。

>>> 1e3.1
  File "<stdin>", line 1
    1e3.1
        ^
SyntaxError: invalid syntax
>>> 10**3.1
1258.9254117941675

どちらも好きではPythonありません。それはともかく、それが標準(!)である可能性があるのはなぜですか?1e3.1Fortran

4

3 に答える 3

3

ドキュメントから:

sign           ::=  '+' | '-'
digit          ::=  '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9'
indicator      ::=  'e' | 'E'
digits         ::=  digit [digit]...
decimal-part   ::=  digits '.' [digits] | ['.'] digits
exponent-part  ::=  indicator [sign] digits            #no dots allowed here  
于 2013-05-11T04:57:15.937 に答える