Python系列教程24

input的技巧

不幸的是,在Windows中,点击文件图标的结果也许不是特别令人满意。事实上,之前编写的脚本在点击后产生了一个令人困惑的“一闪而过”的结果,而不是Python程序的入门者所期盼的结果反馈。这不是Bug,但是需要做某种操作才能够让Windows处理打印的结果。

在默认情况下,Python会生成弹出一个黑色DOS终端窗口作为文件的输入或输出。如果脚本打印后退出了,也就是说,它仅是打印后退出终端窗口显示,然后文本在这里打印,但是在程序退出时,终端窗口关闭并消失。除非你反应非常快,或者是机器运行非常慢,否则看不到任何输出。尽管这是很正常的行为,但是这也许并不是你所想象的那样。

幸运的是,这样的问题很好解决。如果需要通过图标点击运行脚本,脚本输出后暂停,可以简单地在脚本的最后添加内置input函数的一条调用语句(Python 2.6中的raw_input,参见前面的注释)。例如:

A first Python script

import sys # Load a library module
print(sys.platform)
print(2 ** 100) # Raise 2 to a power

x = ‘Spam!’

print(x * 8) # String repetition
input()  # <== ADDED

一般来说,input读取标准输入的下一行,如果还没有得到的话一直等待输入。在这种情形下执行的实际效果就是让脚本暂停,直到按下回车键为止。

现在介绍的这个技巧,往往只在Windows中才是必要的,并且只是当脚本打印文本后退出或只是当通过点击文件图标运行脚本才是必要的。当且仅当以上这三个条件全部都生效时,才应当在顶层文件的最后增加这个调用。没有理由在任何其他的情况下在文件中增加这个调用(除非你超出常理地热衷于按下计算机的Enter键)。这听起来是显而易见的事情,但确是现实的类中的另一个常见的错误。

在我们继续学习之前,注意在输入时所使用的input调用相当于在输出时使用的打印语句。这是读取用户输入的最简单的办法,并且实际上它比这个例子中的应用更全面。例如,input。
•可选的接受字符串,这些字符串将作为提示打印出来[例如,input(‘Press Enter to exit’)]。
•以字符串的形式为脚本返回读入的文本[例如,nextinput = input()]。
•在系统shell的层面上支持输入流的重定向(例如,python spam.py < input.txt),就像输出时的打印语句一样。

在后续文章中,我们将会以更复杂的方法使用input。例如,我们将会在交互循环中使用它。

注意:版本差异提示:如果你使用Python 2.6或者更早的版本,在这段代码中使用raw_input()而不要使用input()。在Python 3.0中,前者重新命名为后者。从技术上讲,Python 2.6也有一个input,但是,它对字符串求值,就好像它们是输入到一个脚本的程序代码一样,因此,该函数在这个环境中无效(一个空字符串会产生错误)。Python 3.0的input(以及Python 2.6的raw_input())直接把输入的文本作为一个字符串返回,而不会求值。要在Python 3.0中模拟Python 2.6的input,使用eval(input())。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python系列视频教程是一种方便、有效的学习Python编程语言的方式。这些视频教程通常由经验丰富的讲师录制制作,内容涵盖从Python基础知识到高级应用的各个领域。 首先,Python系列视频教程具有直观的视觉效果,能够通过实际的演示和示例帮助学习者更好地理解和掌握编程概念和技巧。视频教程展示了代码编写的实际过程和运行结果,学习者可以通过观看视频一边动手实践一边学习,提高学习效率。 此外,Python系列视频教程还提供了灵活的学习时间和地点,学习者可以随时随地通过手机、电脑等设备观看视频教程。这种灵活性使得学习者能够自由安排学习进度,根据个人的时间和学习节奏进行学习,大大方便了学习者的学习体验。 Python系列视频教程还有一个好处是能够增强学习者的动手实践能力。视频教程往往提供相应的练习题和实例代码,学习者可以通过练习和实践来巩固和加深对Python的理解。通过与视频中的讲师一起动手实践,学习者能够更好地理解代码逻辑和解决实际问题的方法。 总之,Python系列视频教程是一种便捷高效的学习Python的方式,具有直观的视觉效果、灵活的学习时间和地点以及增强学习者动手实践能力的优点。无论是初学者还是有一定编程基础的学习者,通过观看视频教程都能够快速掌握Python编程语言,实现自己的编程目标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值