[Python Learning]数值计算

环境

TX Yun-Ubuntu 14.04.1 LTS
python-2.7.6

正文

加法运算

int + int -> int

>>>1 + 1
2

int + float -> float

>>>1 + 2.0
3.0

float + float->float

>>>1.0 + 2.0
3.0
减法运算

int - int -> int

>>>2 - 1
1

int - float ->float(反之亦然)

>>>2 - 1.0
1.0

float - float->float

>>>2.0 - 1.0
1.0
乘法运算

int * int -> int

>>>1 * 1
1

int * float -> float(反之亦然)

>>>1 * 2.0
2.0

float * float ->float

>>>1.0 * 2.0
2.0
除法运算

int / int -> int

>>>17 / 3
5

int / float -> float

>>>8 / 0.5
1.6

int // float ->float(地板除)

>>>17 // 3.0
5.0

float / float ->float

>>>2.0 / 2.0
1.0

float // float -> float(地板除)

>>>17.0 // 3.0
5.0
取余运算

int % int -> int

>>>17 % 3
2

int % float -> float(反之亦然)

>>>17 % 3.0
2.0

float % float -> float

>>>17.0 % 3.0
2.0
地板除

”//“ 除法不管操作数何种数值类型,总是舍去小数部分,返回数字序列中比真正的商小的最接近的数字。

>>> 1 // 2     #地板除, 返回整数 
0 
>>> 1.0 // 2.0 #地板除, 返回浮点数 
0.0 
>>> -1 // 2    #返回比 –0.5 小的整数, 也就是 -1 
-1  
长整数

Lint + int -> Lint

>>>aL=99999L
>>>a=1
>>>a+aL
100000L
幂运算

int ** int -> int

>>>5 ** 2
25

int ** float -> float(反之亦然)

>>>5 ** 2.0
25.0
复数运算
>>>a=1+2j
>>>b=1+2j
>>>a+b   #复数加法
(2+4j)
>>>a-b   #复数减法
0j
>>>a*b   #复数乘法
(-3+4j)
>>>a=1
>>>b=1+1j
>>>a+b   #整数+复数
2+1j
数值运算总结

如果有一个操作数是复数, 另一个操作数被转换为复数。
否则,如果有一个操作数是浮点数, 另一个操作数被转换为浮点数。
否则, 如果有一个操作数是长整数,则另一个操作数被转换为长整数;
否则,两者必然都是普通整数,无须类型转换。

对象
>>>a=1
>>>id(a)
38158680
>>>a+=1
>>>a
2
>>>id(a)
38158656

python的变量和我们已知的C语言,Java,php不同,这里用“对象”来描述会更好一些。我们以前对变量的定义是一个“盒子”—— 装着各种类型的数据,其“变”字可以很简单的理解为可变的。重新对变量赋值,那么盒子里面的数据就会更改,但是地址没变,只是值变了。在这里,当我们给python的对象重新赋值,实际上是重新创建了一个对象,并把新的数据放在该对象上,然后返回新对象的引用。尽管看上去和原来一样,理解这一点至关重要。

>>>a=1
>>>a
1
>>>del a
>>>a
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined

按照Python的法则,你无法真正删除一个数值对象,你仅仅是不再使用它而已。如果你实际上想删除一个数值对象的引用,使用del语句。删除对象的引用之后,你就不能再使用这个引用(变量名), 除非你给它赋一个新值。如果试图使用一个已经被删除的对象引用,会引发 NameError 异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值