python3版本之间的区别-python2.* 版本 与 3.* 版本中的区别

Unicode编码

python2.x 解释器默认编码格式:ASCII,因此默认字符串不支持中文

python3.x 解释器默认编码格式:UTF-8

print函数

print "Hello World"# 2.x版本中格式

print("Hello World")# 3.x版本中格式

''' 2.6版本已可以支持新的print()语法'''

from __future__ import print_function

print("fish", "panda", sep=', ')

raw_input() 和 input( )

python2.x中raw_input()和input( ),两个函数都存在,其中区别为:

raw_input()---将所有输入作为字符串看待,返回字符串类型

input()-----只能接收"数字"的输入,在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型(int, float )

在python3.x中raw_input()和input( )进行了整合,去除了raw_input(),仅保留了input()函数,其接收任意任性输入,将所有输入默认为字符串处理,并返回字符串类型。

不等运算符

python2.x 不等于,有两种写法:!= 和 <>

python3.x 不等于,只有一种写法:!=,去掉了 <> 写法

数据类型

python2.x中数据类型分为:整型(int)和长整型(long)两种类型;

python3.x中去掉了长整型(long),把长整型(long)整合到整型(int)中,保留了一种;

python3.x中新增了bytes类型,对应于2.X版本的八位串,定义一个bytes字面量的方法;

>>> b = b'china'

>>> type(b)

str 对象和 bytes 对象可以使用 .encode() (str -> bytes) 或 .decode() (bytes -> str)方法相互转化;

>>> s = b.decode()

>>> s

'china'

>>> b1 = s.encode()

>>> b1

b'china'

除法

python2.x 中一个整数(无小数部分的数)被另外一个整数除,计算结果的小数部分被截除了,只留下了整数部分;

>>> 1/2

0

让Python2.x改变除法的默认执行方式可以在程序中加入以下语句,或者在解释器里执行它:

>>> from __future__ import division

>>> 1/2

0.5

python3.x中变成真除法(无论任何类型都会保持小数部分,即使整除也会表示为浮点数形式)。

>>> 1/2

0.5

map 和 filter

python2.x 中map和filter两者的类型是:内置函数(built-in function),返回值则是列表类型数据;

map(lambda x:x*2, [1,2,3])>> [2,4,6]

filter(lambda x:x%2==0, range(10)) >>[0,2,4,6,8]

python3.x 中map和filter两者的类型是:类(class),返回结果也从当初的列表成了一个可迭代的对象;

map(lambda x:x*2, [1,2,3]) >> map object at 0x10d8bd400>

filter(lambda x:x%2==0, range(10)) >> filter object at 0x10d8bd3c8>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值