![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=1739141573-eFQPh7D8HeR8kviqtnmQUIq72h0gzGFn-0-e9efce79c3d41dfab88dfd1db99c5fcd)
用Python程序在屏幕上输出hello,world!,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/36_02.jpg?sign=1739141573-zTuCMrennmM4OMup13S3AX2zpdZXuTyX-0-49386171ff0a02b06cf6a6bcfaecb586)
运行结果如图3-1所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/36_03.jpg?sign=1739141573-bzbpMu9dcB7Jz2nQFELH3Q5EcfX3yuKj-0-c16e6f3a58561d724007119ccb4f1553)
●图3-1 打印输出内容
print( )函数也可以连接多个字符串,当用逗号将其隔开时,就可以连成一串输出,遇到逗号会以空格进行间隔,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/36_04.jpg?sign=1739141573-59f4WumbrI3gGVEBZxvQ0LDGGLPETmYe-0-08735335768817acd0f3b0783096694b)
运行结果如下。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/36_05.jpg?sign=1739141573-DEbE6wE1f25qDsoFbckZxHMc45tbG2PK-0-e88acc6994ec3a188d95d1ac28fb841d)
在print( )函数中,多个字符串之间不会自动换行,可以加上\n使其自动换行,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/36_06.jpg?sign=1739141573-pjrL8aHeegDN6CsTo0Mb9rmhicIOhPpG-0-cf6bf0cfa3e2970e84e7e2e64c31ce38)
运行结果如下。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/36_07.jpg?sign=1739141573-2c7P24g9MGvj4EBwBJahUzyS4CU7WNm3-0-c6a60247e6aede893f50186d5a640f8e)
print( )函数不仅可以输出文字,还可以输出数字,或者对数字进行计算,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/37_01.jpg?sign=1739141573-R81XyWU3ofFq30uNkbzRiPrvEKfBr8mg-0-6833b7ec4428583f90c18d3677b9107d)
运行结果如下。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/37_02.jpg?sign=1739141573-KJIb13DRjcbiPgjsTU7AeRR1cL5fiOfC-0-267d3ac975127a60c9bfe6eb16bb45c2)
调整200 + 300的输出形式,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/37_03.jpg?sign=1739141573-qcS7saApEDYHZVvwGzlthahGeOyqBzFk-0-a145fdbf2c7f74bf654795af9b08a46d)
运行结果如下。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/37_04.jpg?sign=1739141573-a7VtWgdVKuCnONjKSeuiIZiSwWPTWvme-0-9d6eb695d20a34a07259da03ec0b6b4d)
因定义字符串时,可以使用单引号' '和双引号""进行定义,所以'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=1739141573-aRbvjIBrGUUW5JEw1pwgYm1FbZEkviEs-0-8cd495a476a59d2bb32b0556c7a3e842)
运行结果如图3-2所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/37_06.jpg?sign=1739141573-KqEIQkM33WLL6IhbiiCRgkkBdbb2tFi1-0-d9de9d82898e0fa373cf14ff6568f7f5)
●图3-2 input( )函数输入框
此时Jupyter程序在等待输入,在输入框中输入“小张”并按下〈Enter〉键,完成输入,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/37_07.jpg?sign=1739141573-iJGTATDlzdJ3Xh7sXEQgWoHM6Xed8mvf-0-54e0f02beb1634a8059304e397ce7600)
运行结果如下。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/37_08.jpg?sign=1739141573-reNky98vOwwEkErZsDC4gseaQCyfbSug-0-e5bee3feef945bdf29064d05ceee72a9)
程序没有提示用户要输入什么类型的值,此时的程序不能解决实际问题。需将输入与输出结合起来,如在please enter your name:后面出现输入框提示输入内容,输入相应内容并按〈Enter〉键,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/37_09.jpg?sign=1739141573-vjaWrBYttdHGXjzIRDiTWouIi0J4cqct-0-2f2652a7b59e2991dd25bdcb651f2ef9)
运行结果如下。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/38_01.jpg?sign=1739141573-CPJcQUEWcbzjK6QvDjTQiekiOvY7dksT-0-687081a72ed9816dd956416574127a19)
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=1739141573-Uyt6C3Py4NvcL7OBL3uRDtswDLzgOtgB-0-7e234cec66835bd528aa7d641c9d5744)
●图3-3 格式化输出的结果
name替换%s的位置,age替换%d的位置,字符串后的%用来说明是哪些变量要替换前面的占位符。
示例2:占位符还可以控制输出的格式,如保留几位小数,%.2f即为保留两位小数,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/38_03.jpg?sign=1739141573-2FrT6eGjMXNyJvfDCeTalAJ2HLJ33etP-0-d9522717b077c0e96b249f0c06eccf66)
运行结果如下。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/38_04.jpg?sign=1739141573-M6idnBvMK2TqMcU23Wh2eRonx0rqT7H8-0-d7d2798a87a90f930f8d199adad2052f)
%.2f代表保留两位小数,不够两位默认使用0进行补充。
对于格式化输出,除了%的方法,还可以使用format函数。format( )功能更强大,不需要关注数据类型,把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号{ }作为特殊字符代替%,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/38_05.jpg?sign=1739141573-7tUcCx3lbIEJE431Lnxwu0EXnNFhx5sL-0-835740ae3a526762072257e84779a0eb)
运行结果如下。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/39_01.jpg?sign=1739141573-nWGRzaPP96k8tTJdgVeEYsBSfG542gBM-0-8875b9d34742534aceb2d5e2f4e47e52)
format基本格式:不带编号,即“{ }”;带数字编号可调换顺序,即“{0}”“{1}”;带关键字,即“{a}”“{tom}”。
不带编号的format示例,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/39_02.jpg?sign=1739141573-5UpVKC9amqcKceVBHBpGU87G4hIJZnjT-0-6569510047759957e7cf0f3b6f605445)
运行结果如下。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/39_03.jpg?sign=1739141573-AAiQbZuCAGCa5uil4zzlPrMfYHLVExKo-0-3b06fb2295d5a74c1abeee0587507fd4)
带关键字的format示例,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/39_04.jpg?sign=1739141573-ADAP5uWJZS4nq5kMuUSv7nDTBoDu2DLy-0-478d839041cc2f45b15290c828552acf)
运行结果如下。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/39_05.jpg?sign=1739141573-w8US0y7hTPLZaeD1FJykZmNUGGihfFpx-0-53a727e0afb1dc01e37325e148384489)