龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > python编程 >

Python入门篇之数字(4)

时间:2014-10-21 11:47来源:网络整理 作者:网络 点击:
分享到:
复制代码 代码如下: 3 ** 2 9 -3 ** 2 # ** 优先级高于左侧的 - -9 (-3) ** 2 # 加括号提高 -的优先级 9 4.0 ** -1.0 # ** 优先级低于右侧的 - 0.25 第2种情况下解释器先计

复制代码 代码如下:

>>> 3 ** 2
9
>>> -3 ** 2 # ** 优先级高于左侧的 -
-9
>>> (-3) ** 2 # 加括号提高 -的优先级
9
>>> 4.0 ** -1.0 # ** 优先级低于右侧的 -
0.25 

第2种情况下解释器先计算3**2再取其相反数,我们需要给"-3"加上括号来得到我们希望的结果。最后一个例子,结果是4**(-1),这是按照规定的优先级获得的结果.

复制代码 代码如下:

>>> 4 ** -1 
Traceback (innermost last):
 
File "<stdin>", line 1, in ?
ValueError: integer to the negative power

下面是更多 Python 数值运算的例子:

复制代码 代码如下:

>>> -442 - 77
-519
>>>
Edit By Vheavens
Edit By Vheavens                              
>>> 4 ** 3
64
>>>
>>> 4.2 ** 3.2
98.7183139527
>>> 8 / 3
2
>>> 8.0 / 3.0
2.66666666667
>>> 8 % 3
2
>>> (60. - 32.) * ( 5. / 9. )
15.5555555556
>>> 14 * 0x04
56
>>> 0170 / 4
30
>>> 0x80 + 0777
639
>>> 45L * 22L
990L
>>> 16399L + 0xA94E8L
709879L
>>> -2147483648L - 52147483648L
-54294967296L
>>> 64.375+1j + 4.23-8.5j
(68.605-7.5j)
>>> 0+1j ** 2 # same as 0+(lj**2)
(-1+0j)
>>> 1+1j ** 2 # same as 1+(lj**2)
0j
>>> (1+1j) ** 2
2j 

*位运算符(只适用于整数)
 
Python整数支持标准位运算:取反(~),按位 与(&), 或(|) 及 异或(^) 及左移(<<)和右移(>>)。Python 这样处理位运算:
负数会被当成正数的2进制补码处理。
左移和右移N位等同于无溢出检查的2的N次幂运算:2**N。
对长整数来说, 位运算符使用一种经修改的2进制补码形式,使得符号位可以无限的向左扩展。取反(~)运算的优先级与数字单目运算符相同,是所有位操作符中优先级最高的一个。左移和右移运算的优先级次之,但低于加减法运算。与,或,异或运算优先级最低。所有位运算符按优先级高低列在表 5.4

内建函数与工厂函数
 
标准类型函数
cmp(), str() 和 type()内建函数。这些函数可以用于所有的标准类型。对数字对象来说,这些函数分别比较两个数的大小,将数字转换为字符串,以及返回数字对象的类型。

转换工厂函数
函数 int(), long(), float() 和 complex() 用来将其它数值类型转换为相应的数值类型。从Python2.3开始,Python 的标准数据类型添加了一个新成员:布尔(Boolean)类型。从此 true 和 false 现在有了常量值即 True 和 False(不再是1和0)
 
下面是一些使用内建函数的示例:

复制代码 代码如下:

>>> int(4.25555)
4
>>> long(42)
42L
>>> float(4)
4.0
>>> complex(4)
(4+0j)
>>>>>> complex(2.4, -8)
(2.4-8j)
>>>
>>> complex(2.3e-10, 45.3e4)
(2.3e-10+453000j)

功能函数
Python 有五个运算内建函数用于数值运算: abs(), coerce(), divmod(), pow(), pow() 和 round()。我们将对这些函数逐一浏览,并给出一些有用的例子:
 
abs()返回给定参数的绝对值。如果参数是一个复数,那么就返回 math.sqrt(num.real2 + num.imag2)
 
coerce()仅回一个包含类型转换完毕的两个数值元素的元组
 
divmod()内建函数把除法和取余运算结合起来, 返回一个包含商和余数的元组。对整数来说,它的返回值就是地板除和取余操作的结果。对浮点数来说,返回的商部分是math.floor(num1/num2),对复数来说,商部分是ath.floor((num1/num2).real)。
 

复制代码 代码如下:

>>> divmod(10, 3)
(3, 1)
>>> divmod(10, 2.5)
(4.0, 0.0)
>>> divmod(2.5, 10)
(0.0, 2.5)
>>> divmod(2+1j, 2.3+4.3j)
(0j, (2+1j))

精彩图集

赞助商链接