python中e的几次方如何表示_Python程序调试常见错误排查,学会它让你效率翻倍...

本文详细介绍了在从Python 2迁移到Python 3时会遇到的一些常见错误,包括print函数的改变、input函数的差异、除法运算的调整以及异常处理的更新等,并提供了相应的解决方案。
摘要由CSDN通过智能技术生成

在编写并调试Python程序的过程中,我们总会遇到这样或那样的错误,其中绝大多数错误都是由于用户粗心或语法错误引起的。下面将给大家详细讲解排查Python程序错误的知识。

bd762717eb8c5061a2c0ee8be5d15849.png

Python 2升级Python 3发生的错误

在当今市面中,Python有2.7和Python 3.x两个大的版本分支。在网络教程、教学文档和出版图书中有很多是用Python 2.7实现的,而我们本书是用Python 3.6实现的。当我们直接将Python 2.7代码运行在Python 3.6环境中时,可能会发生一些语法错误。

1 print变成了print()

在Python 2版本中,print是作为一个语句使用的,在Python 3版本中print()作为一个函数出现。下面通过两段代码来展示两个版本的区别。

Python 2.x版本代码如下:

1>>> i = 12>>> print 'Python' 'is', 'number', i3Pythonis number 1

Python 3.x版本代码如下:

1>>> i = 12>>> print('Python' 'is', 'number', i)3Pythonis number 1

也就是说,在Python 3版本中,所有的print内容必须用小括号括起来。

2 raw_input变成了input

在Python 2版本中,输入功能是通过raw_input实现的。而在Python 3版本中,是通过input实现的。下面来看两行代码的区别:

1name = input('What is your name?') #python3版本的代码2name = raw_input('What is your name?') # python2版本的代码

3 整数及除法的问题

初学者在编写Python程序时,特别是将Python 2程序在Python 3环境下运行时,很可能会遇到“TypeError: 'float' object cannot be interpreted as an integer”错误。例如下面的代码是在Python 2运行成功的:

1batch = 2002for x in range(len(order_nos) / batch + 1):3 # do something

其中,order_nos是订单列表,而在Python 3环境下运行时会提示“TypeError: 'float' object cannot be interpreted as an integer”错误,意思是float类型不能解释为int类型。这是因为在Python 3中,int和long统一为int类型,int表示任何精度的整数。在以前的Python 2版本中,如果参数是int或者是long的话,就会返回相除后结果的向下取整(floor),而如果参数是float或者是complex的话,那么就会返回相除后结果的一个恰当的近似。当使用int超过本地整数大小时,不会再导致Ov

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值