格式化的精度控制
在字符串格式化中,可以使用辅助符号“m.n”来控制数据的宽度和精度。
- m:控制宽度,要求是数字(较少使用),设置的宽度小于数字本身不生效
- n:控制小数点精度,要求是数字,会进行小数的四舍五入
eg:%5d 表示将整数的宽度控制在五位,数字11被设置成5d,就会变成 11,用三个空格补足宽度。%5.2d 表示将宽度控制为5,将小数点精度设置为2。小数点和小数部分也算入宽度计算,比如对11.345设置了%7.2f后,结果是[空格][空格]11.35。两个空格不足宽度,小数部分限制两位精度后,四舍五入为.35。这一点可以类比C中打印时%x.xd的使用(此处x为数字)。
快速格式化字符串
目前通过%符号占位已经很方便了,还能进行精度控制,可是追求效率的Python,有更加简洁的方式来解决问题。
快速格式化语法:f"内容{变量}"
快速格式化的使用不限制数据类型,同时也不做精度控制。
整体使用的感受确实是要比一般的字符串格式化要方便许多,而且不用控制精度。也不限制输入的数据类型,无论是整型还是浮点型都可以直接输入。
对表达式进行格式化
上文的内容都是基于变量来实现的,如果想更加简洁,使用更少的代码量来实现相同的功能,可以尝试直接对“表达式”进行格式化 。
首先了解一下什么是表达式,表达式是一条具有明确执行结果的代码语句。
eg:1+1,5*2就是两个表达式,因为有具体的结果,而结果就是一个数字。所以只要满足有结果,是代码语句的内容,就可以称之为是一个表达式。
又比如常见的变量的定义,name=“lemonade”,num=1+1。等号右侧的内容都是表达式,都有具体的结果,之后又把结果赋值给了等号左侧定义的变量。
那么对于字符串格式化,能否直接格式化一个表达式?答案是肯定的。在无需使用变量进行数据存储的时候,可以直接格式化表达式,达到简化代码的目的,省略了额外变量的定义。
数据输入
日常使用各种程序时,经常遇到需要我们在程序中输入信息的场景,各种密码、账号的输入等。
而在Python中获取信息输入的语句就是input语句。前面学习的print语句,可以将内容(字面量、变量等)输出到屏幕上。与之对应的有一个input语句,用来获取键盘的输入。
数据输出:print,数据输入:input
使用过程就是使用input()语句从键盘上获取输出,使用一个变量接收(存储)input语句获取的键盘输入数据。
其实上图代码中第一个print语句是多余的,input()语句可以在要求使用者输入内容之前,输出提示内容,方法如下
将要输出的提示内容,输入到input()语句的括号中即可,与原来的相比只不过是没有换行效果,可以提高代码的整洁性。
input()语句默认接受的类型都是字符串,所以如果想接受得到其他数字类型的话,要自行进行数据类型转换。
Python判断语句
进行逻辑判断是生活中常见的行为。同样,在程序中,进行逻辑判断也是最为基础的功能。
布尔类型和比较运算符
使用布尔类型进行判断只有两个结果:是/否
布尔类型在数据上属于数字类型,用以表达现实生活中的逻辑,即真和假。True表示真,False表示假。True本质上是一个数字记作1,False记作0.
- 布尔类型的字面量:True表示真(是、肯定)
- False表示假(否、否定)
定义变量存储布尔类型数据:变量名称 = 布尔类型字面量
布尔类型不仅仅可以自行定义,同时也可以通过计算得来,也就是使用比较运算符进行比较运算得到布尔类型的结果。
Python中比较运算符有6类,分别是:
- == 判断内容是否相等,满足为True,不满足为False
- != 判断内容是否不相等,满足为True,不满足为False
- > 判断运算符左侧内容是否大于右侧,满足为True,不满足为False
- < 判断运算符左侧内容是否小于右侧,满足为True,不满足 为False
- >= 判断运算符左侧内容是否大于等于右侧,满足为True,不满足为False
- <= 判断运算符左侧内容是否小于等于右侧,满足为True,不满足为False