Python 注意事项(未完待续。。)

一、储存邮编等以 0 开头的数字,得以字符串格式保存
>>> suzhou_code = 0512
>>> print suzhou_code
330
在 Python 中,数字 0512 被认为是八进制数 512,用 print 打印的时候,将它转换为了十进制数 330 输出。

二、0.1 + 0.2 = 0.30000000000000004
这种问题不仅仅是 Python 中才有,所有支持浮点数运算的编程语言都会遇到,它不是 Python 的 bug ~
其原因在于十进制和二进制的转换上,计算机先要把十进制的数转化为二进制,然后再计算。
但是,在转化中,浮点数转化为二进制,就出问题了,例如:
十进制的 0.1,转化为二进制是:0.0001100110011001100110011001100110011001100110011…
也就是说,转化为二进制后,不会精确等于十进制的 0.1。同时,计算机存储的位数是有限制的,所以,就出现上述现象了。

三、and、or 的惰性求值(短路求值)特性
and 和 or 只计算必须计算的表达式的值。
比如:表达式 1 and 表达式 2:如果 表达式 1 为 False 或其他等价值时,表达式 2 就不会被计算,从而减少计算时间。
>>>3 and 5
5
>>>3 or 5
3
>>>not 3
False
>>>not 0
True

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值