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

本文讲解了Python中print和input函数的变化,特别是在不同版本间的差异。从Python2到Python3,这些变化可能导致初学者遇到问题。文章详细解释了如何正确地在Python3中使用这些函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

欢迎您来到马哥

今天来讲一下最大的两个坑: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())

恭喜您在

好啦!今天的分享到这里就结束了,希望大家能够持续关注马哥教育官网!每天都会有大量优质内容与大家分享!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值