python学习

Python 实用**表示乘方。

2**4 = 16

/表示除法,会保留小数。

//表示整除,丢弃小数点后面的值。

>>> 6/3
2.0
>>> 6//3
2
>>> 5//3
1

Python对整数的长度没有限制。

>>> 25**99
2489206111144456682857625621512049696236100867488466853240446645915879533614153376473577929250285446782786635822048992849886417388916015625

区分5和5.0很重要,因为5是整数,而5.0是浮点数,它们的内部表示大相径庭。

与整数不同,浮点数存在上限和下限,超出上限或下限将导致溢出错误。溢出错误意味着计算结果太大或太小,Python无法将其表示为浮点数。面对溢出错误,Python可能沉默不语,避免溢出错误的职责由程序员承担。

>>> 25.0**1000
Traceback (most recent call last):
  File "<pyshell#20>", line 1, in <module>
    25.0**1000
OverflowError: (34, 'Result too large')

精度有限

无论在哪种计算机上,浮点数的精度都是一个无法解决的难题。在计算机中,数字用二进制表示,但并非所有浮点数都可用二进制精确表示。即便在最简单的情况下,也可能出现问题,比如下例:

>>> 1-2/3
0.33333333333333337

结果应该是小数点后面有无穷个3,但这里只包含17位。另外,最后一位也不对——应该是3而不是7。

应该优先考虑使用整数而不是浮点数,因为它们更精确且绝不会溢出。

在Python中,用1j表示-1的平方根。

>>> 1j
1j
>>> 1j*1j
(-1+0j)
>>> 1J
1j

2015-06-19     23:35:16

原文地址:https://www.cnblogs.com/ly01/p/4582215.html