
1.5 输入/输出
1.5.1 使用print语句输出内容到屏幕终端
向屏幕终端输出数据,常用的语句是print。每种语言最经典的第一个程序都是Hello World,展示如下。
➢ 使用交互解释器的方法。


➢ 使用脚本执行的方法。

在编写代码的时候,需要注意以下几个问题:
(1)字符串必须要用引号(单引号或双引号均可,在Python中,单引号和双引号没有任何区别)括起来。如果没有引号,则Python会认为Hello和World都是一个名称,该名称可能代表了一个变量、一个函数或者其他对象。然而该名称又没有定义,这将会出现语法错误。
(2)代码必须顶头写。Python完全通过代码缩进表达从属的逻辑关系(例如,在C语言里用{}表达从属关系,在shell的for循环中用do…done表达从属关系)。如果在print前面加上了空格,将会抛出IndentationError异常:Python发现print有缩进,而print又不是任何其他语句的子语句。
(3)在交互解释器中,输入一个字符串(或者其他对象)回车后,该字符串将在屏幕终端上显示出来;而在一个脚本文件中,如果没有明确的输出语句,那么屏幕终端将不会产生任何输出。
交互解释器演示如下:

以脚本方式运行的结果如下:

1.5.2 使用input()内建函数获取用户的键盘输入
有些程序在执行时会与用户交互,获得用户输入信息,非常常用的方法就是input()内建函数了。获取用户输入的信息后,往往需要将其保存在变量中,以便将来再次使用。变量赋值使用一个等号来实现,等号两边可以添加空格,也可以不加,通常的写法是加上。用法如下所示:

在input()函数的圆括号内可以添加一个字符串作为参数,该字符串将作为用户输入的提示符出现。用户输入的字符串保存到了变量name中,print语句后面的字符串“Hello”和变量name之间有一个逗号,在输出时,Python将会在两个字符串中间自动加一个空格。
需要注意的是,input()函数读取进来的任何内容都将以字符串的形式保存。如果没有意识到这一点,就有可能会犯一些错误。例如:


Python是一门编程语言,它有数据类型的概念。Python尽量保证参与运算的是相同类型的对象。number是通过input()函数得到的,它是字符串类型的,字符串不能和数字进行加法操作。
如果希望进行数学加法运算,则需要将字符串通过int()函数转换成整数;如果希望进行字符串的拼接操作,则需要将数字转换为字符串。如下所示:

int()函数和str()函数都是Python的内建函数。int()函数可以将数字字符串转换成十进制整数,str()函数可以将数据对象转换成字符串对象。