Python2和Python3的区别

一.学习Python2还是Python3?

  1. Python2 只维护到2020年。
  2. Python官方都是建议直接学习Python3,Python3才是Python的未来。
  3. 实际上不管Python2还是Python3都要学习,一是公司业务需求,二是Python2和Python3确实有一些差异,但是,并没有想象的那么大。
  4. 学习Python前,先了解在Python3里面已经弃用的Python2语法。

二.编码

Python2中默认是ASCII编码,需要更改字符集才能正常支持中文,所以在我们使用的很多.py文件中会看到:# -- coding: utf-8 --

>>>str = "梦想还是要有的"
>>>str
'\xe6\xa2\xa6\xe6\x83\xb3\xe8\xbf\x98\xe6\x98...'
>>>str = u'梦想还是哟的'
>>>str
u'u68a6\u60f3\u8fd8\662f\u8981\u6709\u7684'

Python3中字符串是Unicode(utf-8)编码,支持中文做标识符。

>>>str = "梦想还是要有的"
>>>str
"梦想还是要有的"

由于python3源码文件默认使用utf-8编码,这就使得以下代码合法的:

>>>梦想 = "dream"
>>>梦想
"dream"

三.语法

3.1. print函数

在python2中print是一个语句,无论想输出什么,只要将它们放在print关键后边就可以。Python3中print为一个函数,跟其他函数一样,print()需要将输出的东西作为参数传递给它。
python2:
print “The answer is”, 22 使用逗号结尾禁止换行, 在python2中,使用一个逗号(,)作为print语句的结尾,它将会用空格分隔输出结果,然后在输出一个尾随的空格,而不是输出回车。
print(“The answer is”, 2
2)(统一:使用这种,兼容python3)

>>>print "The answer is", 2*2
The answer is 4
>>>print("The answer is", 2*2)
("The answer is", 4)
>>>print

>>>

python 3:
print(“The answer is”, 2*2) 在python3中,print(x, end=“ ”)通过把end=“ “作为一个关键字参数传给print()可以实现同样的效果。参数end的默认值为”\n”,所以通过重新指定end参数的值,可以取消在末尾的输出回车符。Python3 去除print语句,加入print()函数实现相同的功能。

>>>print("The answer is", 2*2)
The answer is 4
>>>print()

>>>

3.2. input函数

Python3中删除了raw_input,用input代替,Python2有两个全局函数,用来在命令行请求用户输入。第一个是input(),它等待用户输入一个python表达式(然后返回结果),第二个是raw_input(),用户输入什么它就返回什么。 Python2的input得到的为int型,Python2的raw_input得到的为str类型。(统一:Python3中用input,Python2中用raw_input, 都输入为str)
python2:

my_input = input("enter a number: ")
enter a number:123
>>>type(my_input)
<type 'int'>
>>>my_input = raw_input("enter a number: ")
enter a number: 123
>>>type(my_input)
<type 'str'>

python3:
my_input = input(“enter a number: ”) #如果想要请求用户输入一个python表达式,计算结果可以通过调用input()函数后把值传递给eval()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值