
3.1 输出和输入
本节将使用Python输出一段文本内容,包括字符串与数字。字符串就是由多个字符组成的一段字符,包括数字、字母和下画线。定义字符串时,可以使用单引号''和双引号"",使用print( )函数在括号中加上字符串便可打印指定内容。
3.1.1 输出
Python中的print( )函数用于打印输出,是Python中的常用函数。print( )函数输出字符串可以使用双引号""或者单引号'',如以下代码所示。

用Python程序在屏幕上输出hello,world!,如以下代码所示。

运行结果如图3-1所示。

●图3-1 打印输出内容
print( )函数也可以连接多个字符串,当用逗号将其隔开时,就可以连成一串输出,遇到逗号会以空格进行间隔,如以下代码所示。

运行结果如下。

在print( )函数中,多个字符串之间不会自动换行,可以加上\n使其自动换行,如以下代码所示。

运行结果如下。

print( )函数不仅可以输出文字,还可以输出数字,或者对数字进行计算,如以下代码所示。

运行结果如下。

调整200 + 300的输出形式,如以下代码所示。

运行结果如下。

因定义字符串时,可以使用单引号' '和双引号""进行定义,所以'200+300 ='是字符串而非数学公式,而200 + 300是数学公式,Python程序自动计算出结果500。
3.1.2 输入
Python提供input( )函数让用户输入字符串,并存放在一个变量中。例如,在Jupyter Notebook代码输入框中输入name = input( ),单击“运行”按钮后,程序弹出输入框,如以下代码所示。

运行结果如图3-2所示。

●图3-2 input( )函数输入框
此时Jupyter程序在等待输入,在输入框中输入“小张”并按下〈Enter〉键,完成输入,如以下代码所示。

运行结果如下。

程序没有提示用户要输入什么类型的值,此时的程序不能解决实际问题。需将输入与输出结合起来,如在please enter your name:后面出现输入框提示输入内容,输入相应内容并按〈Enter〉键,如以下代码所示。

运行结果如下。

3.1.3 格式化输出
格式化输出用于把输入的内容放置在指定位置,打印成固定的格式输出。这时就需要使用占位符。
格式化输出使用逗号进行拼接,常见的占位符有:%s表示字符串占位符;%d表示数字占位符;%f表示小数占位符。
示例1:要求客户输入信息,打印成固定的格式输出,例如,要求用户输入用户名和年龄。普通打印只能把客户输入的名字和年龄输出到末尾,无法输出到指定的位置,而且数字也必须经过str(数字)的转换才能与字符串进行拼接。
格式为:“你的姓名是××,你的年龄是××”使用占位符为“你的姓名是%s,你的年龄是%d”。
运行结果如图3-3所示。

●图3-3 格式化输出的结果
name替换%s的位置,age替换%d的位置,字符串后的%用来说明是哪些变量要替换前面的占位符。
示例2:占位符还可以控制输出的格式,如保留几位小数,%.2f即为保留两位小数,如以下代码所示。

运行结果如下。

%.2f代表保留两位小数,不够两位默认使用0进行补充。
对于格式化输出,除了%的方法,还可以使用format函数。format( )功能更强大,不需要关注数据类型,把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号{ }作为特殊字符代替%,如以下代码所示。

运行结果如下。

format基本格式:不带编号,即“{ }”;带数字编号可调换顺序,即“{0}”“{1}”;带关键字,即“{a}”“{tom}”。
不带编号的format示例,如以下代码所示。

运行结果如下。

带关键字的format示例,如以下代码所示。

运行结果如下。
