更多课程 选择中心

Python培训
美国上市教育机构

400-111-8989

Python培训

自学Python教程【第六十一节】Python 2到3的新手坑

  • 发布:Python培训
  • 来源:Crossin的编程教室
  • 时间:2019-03-13 15:40

欢迎您来到达内Python编程教室,今天想要给大家填两个坑,我们知道Python编程语言有3个版本,最初的1我们就不说了,Python2用的人不在少数,但是Python3乃至以上才是未来,Python2和3之间是有差别的,如果你不注意就有可能跳到坑里去,来看看吧。

自学<a style='color:blue' href='http://python.tedu.cn/data/'>Python教程</a>【第六十一节】Python 2到3的新手坑

今天来讲一下最大的两个坑:print 和 input。

我们在课程最开始的时候就讲过 print,在版本2的使用方法是:

print 'this is version 2'

也可以是

print('this is version 2')

但到了3,就只能加上括号,像一个函数一样来使用 print:

print('this is version 3')

假如你看了基于2的教程(比如我写的),然后又装了python 3,可能就会奇怪为什么完全照着写,结果却不一样。

而 input 就更绕一点。2里面有两个用来从命令行接受输入的函数:input 和 raw_input。

value = input()

input 接收的是一个值或变量,也就是说,你如果输 123,程序接收到的就是整数 123,你输 True,就是 bool 值 True。如果你输了 abc,程序会认为这是一个叫做 abc 的变量,而假如你没有定义过这个变量,就会报错。

所以,当你想用 input 得到一段文字的话,必须把文字写在引号 "" 或 '' 中。

text = raw_input()

raw_input 接收的则是你输入的字符串,而不管你输的是什么内容。

在版本3里,为了减少混乱,这两种输入方式被合并了。只是合并的方式又坑了新手:它保留了 input 这个名字和 raw_input 的效果。3里只有input函数,它接收你输入的字符串,不管你输的是什么。

text = input()

这种情况下,不管你是看着3的教材用2,还是看着2的教材用3,都会踩到这个坑。

那么在3里,如何像2一样得到用户输入的一个值呢?方法是 eval():

value = eval(input())

恭喜您在Python自学的道路上又坚持了一天,相信从Python2到Python3中还有很多类似的坑,所以如果你是新手的话,就建议你直接开启Python3的学习,好了更多Python相关的内容尽在达内Python培训机构官网,敬请关注!

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:自学Python教程【第六十节】调试程序
下一篇:自学Python教程【第六十二节】python shell

零基础Python教程-多进程

Python中字典合并的实现方法

python中的logging日志模块

零基础Python教程-多线程

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省