首页 > 编程语言 >上手python之运算符和字符串格式化

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

时间:2022-10-29 15:34:27浏览次数:49  
标签:格式化 变量 python 占位 运算符 拼接 字符串


运算符

算术(数学)运算符

运算符

描述

实例

+

两个对象相加 a + b 输出结果 30

-

得到负数或是一个数减去另一个数 a - b 输出结果 -10

*

两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200

/

b / a 输出结果 2

//

取整除

返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0

%

取余

返回除法的余数 b % a 输出结果 0

**

指数

a**b 为10的20次方, 输出结果 100000000000000000000

算术运算符的演示 

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

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

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

赋值运算符 

运算符

描述

实例

=

赋值运算符

把 = 号右边的结果 赋给 左边的变量,如 num = 1 + 2 * 3,结果num的值为7

复合赋值运算符 

运算符

描述

实例

+=

加法赋值运算符

c += a 等效于 c = c + a

-=

减法赋值运算符

c -= a 等效于 c = c - a

*=

乘法赋值运算符

c *= a 等效于 c = c * a

/=

除法赋值运算符

c /= a 等效于 c = c / a

%=

取模赋值运算符

c %= a 等效于 c = c % a

**=

幂赋值运算符

c **= a 等效于 c = c ** a

//=

取整除赋值运算符

c //= a 等效于 c = c // a

字符串扩展 

字符串的三种定义方式

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

单引号定义法

双引号定义法

三引号定义法

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

字符串的引号嵌套 

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

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

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

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

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

字符串拼接

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

a="123"
b="456"
print(a+b)

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

字符串格式化

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

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

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

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

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

上手python之运算符和字符串格式化_开发语言_03

其中的,%s

%  表示:我要占位

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

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

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

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

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

上手python之运算符和字符串格式化_开发语言_05

 

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

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

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

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

格式符号

转化

%s

将内容转换成字符串,放入占位位置

%d

将内容转换成整数,放入占位位置

%f

将内容转换成浮点型,放入占位位置

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

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

格式化的精度控制 

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

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

细心的同学可能会发现: 浮点数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

上手python之运算符和字符串格式化_赋值运算符_08

 

字符串格式化方式2 

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

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

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

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

对表达式进行格式化 

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

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

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

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

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

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

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

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

 

标签:格式化,变量,python,占位,运算符,拼接,字符串
From: https://blog.51cto.com/u_15786786/5806140

相关文章

  • 使用python 接入LDAP验证系统实践记录
    LDAP简介LDAP(LightDirectoryAccessPortocol)是轻量目录访问协议,基于X.500标准,支持TCP/IP。LDAP基本概念LDAP的目的是为各种软件提供统一标准的认证机制,所有软件就可......
  • 上手python之数据类型转换和标识符
    数据类型转换为什么要转换类型数据类型之间,在特定的场景下,是可以相互转换的,如字符串转数字、数字转字符串等那么,我们为什么要转换它们呢?数据类型转换,将会是我们以后经常使......
  • 上手python之变量和字符串
    什么是变量变量:在程序运行时,能储存计算结果或能表示值的抽象概念。简单的说,变量就是在程序运行时,记录数据用的变量的定义格式: 变量就像盒子可以存放内容 变量的特征  ......
  • 上手Python之函数进阶
    函数多返回值问:如果一个函数如些两个return(如下所示),程序如何执行答:只执行了第一个return,原因是因为return可以退出当前函数,导致return下方的代码不执行 多个返回值如......
  • python题目:计算今天是一年当中的第多少天【多测师_王sir】【杭州多测师】
    python题目:计算今天是一年当中的第多少天importdatetimey=int(input('请输入4位数字的年份:'))#获取年份m=int(input('请输入月份:'))#获取月份d=int(input......
  • python 的多行输入
    a,b=input().split("")#输入字符串(默认返回类型)a和b以(空格)分隔a,b,c=eval(input())#输入三个值(任何类型)中间由逗号分隔a,b,c=int(input())......
  • 基于python指定包的安装路径方法(linux)
    通常python安装包都会被默认装在/usr/local/pythonx/lib/site-packages(linux),但是我们有时想自定义包的安装路径,比如自己项目的某个路径,这样在部署的时候就不用再安装了,大......
  • 查看python中安装包的一些信息
    1.piplist  #列出当前环境中的所有安装包2. pipindexversionsxxx  #展示包的所有版本信息3. pipshowxxx  #展示包的当前版本的详细信息 4.pipin......
  • python自学 简单的网站开发 3
    创建子路由1.项目过大的时候,总路由不宜放过多的配置文件,可以把总路由的配置放置到子路由里面去。先在myapp中新增一个url.py的文件。 2.然后把总路由的内容放到u......
  • python的魔法
    python的魔法方法比较多。在此处,我将使用类编程的方式串联各种魔法方法的应用1.初始化创建类以及格式化输出__init__;__repr__;__str__; 解析:__init__这是一个函......