python——模块——__future__

__future__

python有一个特殊模块,__future__,可在旧版本中使用新版本特征

应用

旧版本:
print '\'abc\' is unicdoe?', isinstance('abc', unicode)
print 'u\'abc\' is unicdoe?', isinstance(u'abc', unicode)
print '\'abc\' is str?', isinstance('abc', str)
print 'b\'abc\' is str?', isinstance(b'abc', str)

print '10 / 3 =', 10 / 3
print '10.0 / 3 =', 10.0 / 3
print '10 // 3 =', 10 // 3
print '10.0 // 3 =', 10.0 // 3
output:
'abc' is unicdoe? False
u'abc' is unicdoe? True
'abc' is str? True
b'abc' is str? True
10 / 3 = 3
10.0 / 3 = 3.33333333333
10 // 3 = 3
10.0 // 3 = 3.0
新版本:
from __future__ import unicode_literals
from __future__ import division

print '\'abc\' is unicdoe?', isinstance('abc', unicode)
print 'u\'abc\' is unicdoe?', isinstance(u'abc', unicode)
print '\'abc\' is str?', isinstance('abc', str)
print 'b\'abc\' is str?', isinstance(b'abc', str)

print '10 / 3 =', 10 / 3
print '10.0 / 3 =', 10.0 / 3
print '10 // 3 =', 10 // 3
print '10.0 // 3 =', 10.0 // 3
output:
'abc' is unicdoe? True
u'abc' is unicdoe? True
'abc' is str? False
b'abc' is str? True
10 / 3 = 3.33333333333
10.0 / 3 = 3.33333333333
10 // 3 = 3
10.0 // 3 = 3.0
注:这里旧版本为2.7,新版本为3.x,字符串前缀b和u大小写均可
解释:
  • 在python2.7中,u(U)前缀为Unicode字符串,其余为ASCII字符串,在python3.x中,b(B)前缀为ASCII字符串,其余为Unicode字符串
  • 在python2.7中,/整数除为floor除,/浮点除为精确除,//除为floor除,在python3.x中,/除为精确除,//除为floor除
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值