小白成长日记(16)--python2与python3的差异

曾经我们提过python2的很多用法已经不是适用于python3了,并且有细微的变化,今天我们来总结一下这些细微的变化。


一、print

在python2中的,print的写法如下:

print "Hello World"

可是在python3中,print已经作为一个函数,写法该如下:

print("Hello World")

当然还有些与此相关的差异,你不能像在python2中那样,在结尾处使用一个逗号,使得下一个print语句输出内容与本次输出内容在同一行:

print "Hello",
print " World"

在python3中,你要这样做:

print("Hello",end="")
print("World")

当然,你可以给end参数传不同的值,不过这种用法很少,你可以参考一下python3的文档。
为什么说在python3中print已经成为一个函数了,细心的同学可能已经发现了,在python3中print显示的高亮颜色和函数高亮颜色一致了。


二、input()

python2中的raw_input()已经在python3中正式更名为input()。这个函数会返回字符串,但是不会尝试对输入的字符做任何的计算(例如将字符串转换成int或float类型)

这意味着在python2中的代码:

 your_name = raw_input("Enter your name:")

在python3中要改为:

 your_name = input("Enter your name:")

python2中的input()函数会对输入进行计算(如果可能的话会将它转换成数字),这个函数在python3中已经不存在了。

这意味着在python2中的代码:

age = input("Enter your age:")

在python3中要改为:

age = int (input("Enter your age:")

三、整除

python3中第三点主要改变的是整除,在python2中,代码运行结果如下:

>>>print 5/2
2

python2进行除法运算时会默认向下取整,而python3中默认进行浮点数除法,所以在python3中代码运行结果如下:

>>>print (5/2)
2.5

如果你想在python3中进行整除可添加双斜杠,代码运行结果如下:

>>>print(5//2)
2

当然,取余符号除了要在print后添加“()”之外,其他没有更改,代码如下:

python2写法:
>>>print 5%2
1

python3写法:
>>>print (5%2)
1

四、rang()

在python2中,rang()返回值是一个列表,但在python3中,rang()返回的是一个对象,如果循环访问的话python3中range对象的工作方式和python2中的一致,但你如果想打印它,是无法看到rang对象中的各个单独的值的。

python2:
>>>print rang(5)
[01234]

python3:
>>>print (rang(5))
rang(05)

温馨提示:

一个名为2to3的工具会自动将python2的代码转换成python3的代码。相对来说,由于python3的版本过新,很多模块都还没有升级,现在使用较多的还是python2,当然,更新换代是必然的,也希望大家继续关注python的发展,毕竟还是一款很有趣的编程语言。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值