![Python数据分析入门与实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/473/37323473/b_37323473.jpg)
3.1 输出和输入
本节将使用Python输出一段文本内容,包括字符串与数字。字符串就是由多个字符组成的一段字符,包括数字、字母和下画线。定义字符串时,可以使用单引号''和双引号"",使用print( )函数在括号中加上字符串便可打印指定内容。
3.1.1 输出
Python中的print( )函数用于打印输出,是Python中的常用函数。print( )函数输出字符串可以使用双引号""或者单引号'',如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/36_01.jpg?sign=1739268729-OhbmKSxm6rwcnoRlSh2io57dgHTVEvsQ-0-9a4b07f8abf2aa40f82ab05cd76b9fa1)
用Python程序在屏幕上输出hello,world!,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/36_02.jpg?sign=1739268729-QlMwJ646ynDJe2QG8XyUwGDRfQLnXcdG-0-74348e040f24ab4d70fd6e350984290e)
运行结果如图3-1所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/36_03.jpg?sign=1739268729-EUGRE5dNH6J1uCheUwPgk01bDPcsw7qe-0-16e35afe7f620e21a149ad67780a0930)
●图3-1 打印输出内容
print( )函数也可以连接多个字符串,当用逗号将其隔开时,就可以连成一串输出,遇到逗号会以空格进行间隔,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/36_04.jpg?sign=1739268729-X3Sh62Z2HfcjrTGmGY2TBEaJY8mtRZbp-0-f4c45a768ce9c616b1f971d189ccc3ed)
运行结果如下。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/36_05.jpg?sign=1739268729-gb9ayHxKddtd9o6YlaqDMpsqxaeMh9Tz-0-b6bbb8473b716a045ae20374b4f3ecbf)
在print( )函数中,多个字符串之间不会自动换行,可以加上\n使其自动换行,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/36_06.jpg?sign=1739268729-RjNGzlXsvVdY07FK8sXC3mAikLbY92Y1-0-8b8bccfc8ebe238a1ebbd3abd85512be)
运行结果如下。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/36_07.jpg?sign=1739268729-LWthpLyodOy7EUiVCpzIOXn0ldi5OTQT-0-5d67ef536c5892acfe577e79ae670a38)
print( )函数不仅可以输出文字,还可以输出数字,或者对数字进行计算,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/37_01.jpg?sign=1739268729-GTH8juIkbPUieVyteB5E6dgeyT0AOFwJ-0-726ac3ef618a6b1233aff96f8d8f8b95)
运行结果如下。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/37_02.jpg?sign=1739268729-HIdCyWn8rzmzZn5DqthlLZ7wjDsuHGYU-0-31e131082964e0447adf3e89b618b785)
调整200 + 300的输出形式,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/37_03.jpg?sign=1739268729-74vVcEExVOeBGAXcRo7idAkw9DCb0Epr-0-3f4ef837fe08608fdb24b71f7a19e4d6)
运行结果如下。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/37_04.jpg?sign=1739268729-IBaooWZAHZCbhVqiN1W3CiXIhlvJmEFU-0-c682191f43140596054888fcbc8c6689)
因定义字符串时,可以使用单引号' '和双引号""进行定义,所以'200+300 ='是字符串而非数学公式,而200 + 300是数学公式,Python程序自动计算出结果500。
3.1.2 输入
Python提供input( )函数让用户输入字符串,并存放在一个变量中。例如,在Jupyter Notebook代码输入框中输入name = input( ),单击“运行”按钮后,程序弹出输入框,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/37_05.jpg?sign=1739268729-hy9F3tWE6UgULlUmDLMyG5LhUlgVaAc7-0-6c0a81169a16b50fc90597c51befabde)
运行结果如图3-2所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/37_06.jpg?sign=1739268729-b6XRuPO44bvlVg711kHoXVtcJ5mEAZ4h-0-b9941b025b6e3502f592cc157633cbe6)
●图3-2 input( )函数输入框
此时Jupyter程序在等待输入,在输入框中输入“小张”并按下〈Enter〉键,完成输入,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/37_07.jpg?sign=1739268729-nZMcWQWr1yug2fiJ4Bb6Os7RXmyniArA-0-5154be369a6ee8533f3939578ab6b85b)
运行结果如下。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/37_08.jpg?sign=1739268729-zbOHRjimNBetAQ9DGvq2gLhslNhP2ISG-0-dbb703b7ce35ab8e8a52d07ce7fcf4a4)
程序没有提示用户要输入什么类型的值,此时的程序不能解决实际问题。需将输入与输出结合起来,如在please enter your name:后面出现输入框提示输入内容,输入相应内容并按〈Enter〉键,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/37_09.jpg?sign=1739268729-YJaA7dlCshUdR5I1AKB0gyyjwBXEwkwQ-0-1b35d497c5d7999ce9e6e5308f9f1136)
运行结果如下。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/38_01.jpg?sign=1739268729-92LPLhjWyafIH8wISHMXdMcuqllsa5G3-0-785fc39b1b89eae4dafd4bbb1a39db29)
3.1.3 格式化输出
格式化输出用于把输入的内容放置在指定位置,打印成固定的格式输出。这时就需要使用占位符。
格式化输出使用逗号进行拼接,常见的占位符有:%s表示字符串占位符;%d表示数字占位符;%f表示小数占位符。
示例1:要求客户输入信息,打印成固定的格式输出,例如,要求用户输入用户名和年龄。普通打印只能把客户输入的名字和年龄输出到末尾,无法输出到指定的位置,而且数字也必须经过str(数字)的转换才能与字符串进行拼接。
格式为:“你的姓名是××,你的年龄是××”使用占位符为“你的姓名是%s,你的年龄是%d”。
运行结果如图3-3所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/38_02.jpg?sign=1739268729-bWIm6unY1NLo9AOMNwEKW61Kou1n1xLl-0-6fd9f1ba6694b71b423616f203968994)
●图3-3 格式化输出的结果
name替换%s的位置,age替换%d的位置,字符串后的%用来说明是哪些变量要替换前面的占位符。
示例2:占位符还可以控制输出的格式,如保留几位小数,%.2f即为保留两位小数,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/38_03.jpg?sign=1739268729-DtphSmsnLyFvM2dRH95Lp970OKkbcedW-0-a2fa6ed523942167f25e1b731c1a3d9f)
运行结果如下。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/38_04.jpg?sign=1739268729-WGZAWzi5MDp4eZgmGUvqZz7sm0SsVjE5-0-9b0931787759f8417fb015f0437e6c1e)
%.2f代表保留两位小数,不够两位默认使用0进行补充。
对于格式化输出,除了%的方法,还可以使用format函数。format( )功能更强大,不需要关注数据类型,把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号{ }作为特殊字符代替%,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/38_05.jpg?sign=1739268729-zgv2xXsLSzBXvUqi3MaqZGTHDy9Fx2kF-0-2d86165c86c75f9a8afad22fbd78fc9e)
运行结果如下。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/39_01.jpg?sign=1739268729-raOvBDtNZdMvZ4umdfKqlqeDqJ5pvt3d-0-7e93d1ff96563d3eaa200073f83dee62)
format基本格式:不带编号,即“{ }”;带数字编号可调换顺序,即“{0}”“{1}”;带关键字,即“{a}”“{tom}”。
不带编号的format示例,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/39_02.jpg?sign=1739268729-ZQ7lGcwJb38GV4cvICkIcRuCqpTXimU1-0-08ffba2581d5b73c14d0cad2c8ced1b9)
运行结果如下。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/39_03.jpg?sign=1739268729-kVWh36o0tiQOIG4hvygvldg30q5u1X4P-0-b5406a0a41248c2de1750a318e6f6ff3)
带关键字的format示例,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/39_04.jpg?sign=1739268729-Rqrurr0HAypkc3uHbcdLLI5hMMkUgaVE-0-7e75d54f7851635ef917d0ace87986e5)
运行结果如下。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/39_05.jpg?sign=1739268729-YJpdTVuVTgO6MnDvyp8YZNGqOuAlUfiS-0-df64575b0cd09ccd31683935b406b9a4)