上手python之运算符和字符串格式化

简介: 上手python之运算符和字符串格式化

运算符

算术(数学)运算符


image.png


算术运算符的演示

加减乘除和求平方,我们在前面已经使用过啦。

现在在带上:整除以及求余数,一起试一试吧。


dff767ccb4324b6587187cdcc20596d3.png


赋值运算符


image.png


复合赋值运算符


image.png


字符串扩展

字符串的三种定义方式

字符串在Python中有多种定义形式:

单引号定义法

双引号定义法

三引号定义法

三引号定义法,和多行注释的写法一样,同样支持换行操作。 使用变量接收它,它就是字符串 不使用变量接收它,就可以作为多行注释使用。

字符串的引号嵌套

思考:如果我想要定义的字符串本身,是包含:单引号、双引号自身呢?如何写?

17fcb88ae05b4608a307c2e8e772d9ee.png


单引号定义法,可以内含双引号

双引号定义法,可以内含单引号

可以使用转移字符(\)来将引号解除效用,变成普通字符串

字符串拼接

如果我们有两个字符串(文本)字面量,可以将其拼接成一个字符串,通过+号即可完成

1. a="123"
2. b="456"
3. print(a+b)


不过一般,单纯的2个字符串字面量进行拼接显得很呆,一般,字面量和变量或变量和变量之间会使用拼接

字符串格式化


我们会发现,这个拼接字符串也不好用啊 变量过多,拼接起来实在是太麻烦了

字符串无法和数字或其它类型完成拼接。

所以,有没有其它方式,即方便又支持拼接其它类型呢?

这个方式,就是字符串的格式化

我们可以通过如下语法,完成字符串和变量的快速拼接。


eccdcd5f872c48fda7855958c62f7585.png


其中的,%s

%  表示:我要占位

s   表示:将变量变成字符串放入占位的地方

所以,综合起来的意思就是:我先占个位置,等一会有个变量过来,我把它变成字符串放到占位的位置

那,数字类型呢?可以不可以占位? 那必须可以,我们来尝试如下代码:


94daeabd0c9142009f97d0ef6896ab65.png

多个变量占位 变量要用括号括起来 并按照占位的顺序填入


a5b16536062f426587acb60796f0a153.png


数字也能用%s占位吗? 可以的哦,这里是将数字 转换成了 字符串哦 也就是数字57,变成了字符串"57"被放入占位的地方


数字类型,也太没有地位了吧,竟然要被转成字符串拼接。


有没有体面一点的方式,让数字以其原本的面貌拼接进去呢?


安排。 Python中,其实支持非常多的数据类型占位 最常用的是如下三类  


image.png


如下代码,完成字符串、整数、浮点数,三种不同类型变量的占位


d3ca28ac86fa49e08ef8027122779638.png


格式化的精度控制

如下代码,完成字符串、整数、浮点数,三种不同类型变量的占位


image.png

细心的同学可能会发现: 浮点数19.99,变成了19.990000输出 这里我们就要讲解一下,字符串格式化之“数字精度控制”


我们可以使用辅助符号"m.n"来控制数据的宽度和精度


m,控制宽度,要求是数字(很少使用),设置的宽度小于数字自身,不生效 .


n,控制小数点精度,要求是数字,会进行小数的四舍五入


示例: %5d:表示将整数的宽度控制在5位,如数字11,被设置为5d,就会变成:[空格][空格][空格]11,用三个空格补足宽度。


%5.2f:表示将宽度控制为5,将小数点精度设置为2       小数点和小数部分也算入宽度计算。如,对11.345设置了%7.2f 后,结果是:[空格][空格]11.35。2个空格补足宽度,小数部分限制2位精度后,四舍五入为 .35


%.2f:表示不限制宽度,只设置小数点精度为2,如11.345设置%.2f后,结果是11.35


image.png


字符串格式化方式2

目前通过%符号占位已经很方便了,还能进行精度控制。 可是追求效率和优雅的Python,是否有更加优雅的方式解决问题呢?

那当然:有 通过语法:f"内容{变量}"的格式来快速格式化 看如下代码


image.png


这种写法不做精度控制
也不理会类型
适用于快速格式化字符串

对表达式进行格式化

刚刚的演示,都是基于变量的。

可是,我想更加优雅些,少写点代码,直接对“表达式”进行格式化是否可行呢?


那么,我们先了解一下什么是表达式。


表达式:一条具有明确执行结果的代码语句 如: 1 + 1、5 * 2,就是表达式


,因为有具体的结果,结果是一个数字 又或者,常见的变量定义: name = “张三”     age = 11 + 11 等号右侧的都是表达式呢,因为它们有具体的结果,结果赋值给了等号左侧的变量。


那么,对于字符串格式化,能否直接格式化一个表达式呢? 可以,上代码:


image.png

在无需使用变量进行数据存储的时候,可以直接格式化表达式,简化代码哦



相关文章
|
6月前
|
Python
Python中的f-string:更优雅的字符串格式化
Python中的f-string:更优雅的字符串格式化
399 100
|
6月前
|
开发者 Python
Python中的f-string:高效字符串格式化的利器
Python中的f-string:高效字符串格式化的利器
562 99
|
6月前
|
Python
Python中的f-string:更优雅的字符串格式化
Python中的f-string:更优雅的字符串格式化
|
6月前
|
开发者 Python
Python f-strings:更优雅的字符串格式化技巧
Python f-strings:更优雅的字符串格式化技巧
|
6月前
|
开发者 Python
Python f-string:高效字符串格式化的艺术
Python f-string:高效字符串格式化的艺术
|
5月前
|
Python
Python编程:运算符详解
本文全面详解Python各类运算符,涵盖算术、比较、逻辑、赋值、位、身份、成员运算符及优先级规则,结合实例代码与运行结果,助你深入掌握Python运算符的使用方法与应用场景。
381 3
|
5月前
|
存储 Java 索引
(Python基础)新时代语言!一起学习Python吧!(二):字符编码由来;Python字符串、字符串格式化;list集合和tuple元组区别
字符编码 我们要清楚,计算机最开始的表达都是由二进制而来 我们要想通过二进制来表示我们熟知的字符看看以下的变化 例如: 1 的二进制编码为 0000 0001 我们通过A这个字符,让其在计算机内部存储(现如今,A 字符在地址通常表示为65) 现在拿A举例: 在计算机内部 A字符,它本身表示为 65这个数,在计算机底层会转为二进制码 也意味着A字符在底层表示为 1000001 通过这样的字符表示进行转换,逐步发展为拥有127个字符的编码存储到计算机中,这个编码表也被称为ASCII编码。 但随时代变迁,ASCII编码逐渐暴露短板,全球有上百种语言,光是ASCII编码并不能够满足需求
251 4
|
Python 自然语言处理 人工智能
Python补充05 字符串格式化 (%操作符)
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!   在许多编程语言中都包含有格式化字符串的功能,比如C和Fortran语言中的格式化输入输出。
786 0
|
6月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
825 102
|
6月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
414 104

推荐镜像

更多