- Python数据分析入门与实战
- 开课吧组编 杨国俊 张植皓 潘海超等编著
- 1270字
- 2024-11-28 18:48:56
3.1 输出和输入
本节将使用Python输出一段文本内容,包括字符串与数字。字符串就是由多个字符组成的一段字符,包括数字、字母和下画线。定义字符串时,可以使用单引号''和双引号"",使用print( )函数在括号中加上字符串便可打印指定内容。
3.1.1 输出
Python中的print( )函数用于打印输出,是Python中的常用函数。print( )函数输出字符串可以使用双引号""或者单引号'',如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/36_01.jpg?sign=1738765849-6mJ7BZBrDQUjapXVI4yYpUAqWeMNangr-0-ac43798de210cc100826b0b94d73658e)
用Python程序在屏幕上输出hello,world!,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/36_02.jpg?sign=1738765849-at2PiM3jmc4aLXqb4orMp3SfaFq1KmkO-0-0bca0e7d521ab52bb685e6556cb7a4e5)
运行结果如图3-1所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/36_03.jpg?sign=1738765849-aPmgXOlHTgdgyxSFM0dnd7EhBAYTYcay-0-2cf70399253922631c69a6ddf26b617c)
●图3-1 打印输出内容
print( )函数也可以连接多个字符串,当用逗号将其隔开时,就可以连成一串输出,遇到逗号会以空格进行间隔,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/36_04.jpg?sign=1738765849-r07mTEyZDWg9MbGLtMjwnGKBmVUlUk2I-0-83e959fbbaa0498a3a259fa9ce98a4fc)
运行结果如下。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/36_05.jpg?sign=1738765849-t1draNNFRkMaHIa2WUZ7dPNno693RVz9-0-ac20f6b6c0e22f5c84785c977fbfa98d)
在print( )函数中,多个字符串之间不会自动换行,可以加上\n使其自动换行,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/36_06.jpg?sign=1738765849-WJxHshW4XLh0EOnJMbksUMBjqWrylfuR-0-03b0ac9601106db6d810ca3b62befd08)
运行结果如下。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/36_07.jpg?sign=1738765849-ni9S2HlQ6svP7vG59kDVyNm3HU1kEjwP-0-627db51372f5548e0508c941ff5f9385)
print( )函数不仅可以输出文字,还可以输出数字,或者对数字进行计算,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/37_01.jpg?sign=1738765849-iMApUiB5BUi2EOj8hXrIAf9Vc99KhKbx-0-2974a27d0070514e0eddee5205ec3b10)
运行结果如下。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/37_02.jpg?sign=1738765849-jr6iGk0oDsWGgrv1Lo4zwVyKrKJoqfFf-0-cee22ecec317cc2624a71077e8cfd22a)
调整200 + 300的输出形式,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/37_03.jpg?sign=1738765849-HwPzs660tZnxAOKYGNfBKtOeikos6amM-0-c6e2f5052d4d708fe15010efeb8888ee)
运行结果如下。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/37_04.jpg?sign=1738765849-ZjXot9pUGkgur6ezOZN5w8mFfyUBnyXJ-0-24ff64462bb7f225ace2b5788bbc7e4b)
因定义字符串时,可以使用单引号' '和双引号""进行定义,所以'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=1738765849-a0NuFyWe2TtTeWt2QtVHoly9Ij6U2dTT-0-c51b845db718b407b083b545cc7db7c9)
运行结果如图3-2所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/37_06.jpg?sign=1738765849-rJGgVcGFEfjfdyC0H14wqSx8SxUBG7Ss-0-d54c4cd17a09728e6304f6f59e7dcb79)
●图3-2 input( )函数输入框
此时Jupyter程序在等待输入,在输入框中输入“小张”并按下〈Enter〉键,完成输入,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/37_07.jpg?sign=1738765849-n8QBPcrQJ57QwdOdzIx4kog9DjJhLOqv-0-511b89b6c15b0c92241cafc4f443471a)
运行结果如下。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/37_08.jpg?sign=1738765849-MHX0P8mygipMIyfFYzQf3CWURd857Iat-0-69df93384e9cfc899e8e152afe9883d9)
程序没有提示用户要输入什么类型的值,此时的程序不能解决实际问题。需将输入与输出结合起来,如在please enter your name:后面出现输入框提示输入内容,输入相应内容并按〈Enter〉键,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/37_09.jpg?sign=1738765849-yOlLvX6X0OtMqV2cPhI3VBkwEvy4bTec-0-5e6b701c67b3aed192d8bcf8450ab7b5)
运行结果如下。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/38_01.jpg?sign=1738765849-tHDzEOJpR9bHfLRanDPJzlkrFuTs2J6M-0-993db39036a68fcd799cbf4cbfe4669b)
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=1738765849-i0NXBmx72PvVz8Dlb0uuijTV3mhRPdb1-0-6895b95fb7e13fb49e3a24b9bf61463c)
●图3-3 格式化输出的结果
name替换%s的位置,age替换%d的位置,字符串后的%用来说明是哪些变量要替换前面的占位符。
示例2:占位符还可以控制输出的格式,如保留几位小数,%.2f即为保留两位小数,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/38_03.jpg?sign=1738765849-wWFI54irPevkdogr1y61gDm43UL958Pz-0-76693667b24255b3f33bb00c54ce2d3b)
运行结果如下。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/38_04.jpg?sign=1738765849-3KpcmWYEEVin54EJ5VeGfOg9l9EvGnpx-0-7b7295f2b45e2d73dff8969d5a4802b1)
%.2f代表保留两位小数,不够两位默认使用0进行补充。
对于格式化输出,除了%的方法,还可以使用format函数。format( )功能更强大,不需要关注数据类型,把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号{ }作为特殊字符代替%,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/38_05.jpg?sign=1738765849-47jtA1uqFStLHFFYO7grdMYxfyznOpk1-0-eb42de17fd6f9b1ee6cc0cf8b9fef5c6)
运行结果如下。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/39_01.jpg?sign=1738765849-w75XmF4f1Uq7MKesfqG6jssl2nshR5Ip-0-f13365bc430f673ed1844880dceb790a)
format基本格式:不带编号,即“{ }”;带数字编号可调换顺序,即“{0}”“{1}”;带关键字,即“{a}”“{tom}”。
不带编号的format示例,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/39_02.jpg?sign=1738765849-HAw9zANupbzQSHrqWMIlqRol7oPTq01e-0-f1a221d8656a1f10d69d5dd839d1944f)
运行结果如下。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/39_03.jpg?sign=1738765849-3myxfzgknPFtD6QcbvUj2cfgSJ7dlmCl-0-2d69c12411cc77de8e8e7aa93157a5cb)
带关键字的format示例,如以下代码所示。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/39_04.jpg?sign=1738765849-qawPa7KbvGIecqYF8hKAJad188aHFJep-0-fb46aa14cd91fe68a9b9c8d76e98b59b)
运行结果如下。
![](https://epubservercos.yuewen.com/575A4E/19773741008833606/epubprivate/OEBPS/Images/39_05.jpg?sign=1738765849-OozIhWU0HkRw3hENwRcbReHeU6LEP5Vh-0-284220079c279e30af0ae64e79e2d0e0)