1.5.3 标准输入
本书官网提供的模块stdio还包含若干用于输入的函数,用于从标准输入流(可能为空,也可能包括一系列由空白符(空格、制表符、换行符等)分隔的值)获取数据。每一个值代表一个整数、一个浮点数、一个布尔值,或一个字符串。标准输入流的一个主要功能特点是程序通过读取值消耗该值,即一旦程序读取了一个值,则不能退回重新读取该值。这种假设比较严格,但该特点反映了一些输入设备的物理特点并简化了抽象的实现。
stdio模块提供了13个用于从标准输入读取数据的函数,其API如表1-5-4所示。这些函数可分为三大类:用于读取单独符号(token)的函数,一次读取一个,并转换为整数、浮点数、布尔值或字符串;用于一次从标准输入读取一行的函数;用于读取相同类型的一系列值的函数(返回包含系列值的数组)。一般而言,建议根据需要在同一程序中混合使用不同类型的输入函数。基于输入流模型,这些函数的功能是显而易见的(函数名描述了其功能效果),但其准确的操作细节还需要仔细讨论,下文将通过几个例子阐述其细节。
注:1. 一个token是指非空白字符的最大数据序列。
2. 在读入以token为单位的数据之前,将忽略任意前导空白字符。
3. 当不能从标准输入读取下一数据(可能因为再无输入数据,或者输入数据与所期望的类型不匹配)时,将引发读入输入数据的函数运行时错误。
1. 类型输入
在命令行中通过python命令调用Python程序时,实际上执行下面三步操作:(1)发出命令,以启动执行程序;(2)确定命令行参数的值;(3)开始定义标准输入流。用户在控制台窗口的命令行中键入的字符序列即构成标准输入流。用户输入字符时,即与程序实现交互。程序等待用户创建标准输入流。例如,如下程序addints.py带一个整型命令行参数n,并从标准输入中读取n个整型数值,计算这些数值之和,并把求和结果写入标准输出: ...
Get 程序设计导论:Python语言实践 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.