Python:格式化字符串的几种方式
1、%
'abc%s'%'123'
'abc123' 'abc%s%s'%('123','456')
'abc123456'
当变量v是一个Tuple、List且其中元素数量和字符串中%数量相同时,可以直接在后边写%v,例如:
A=(1,2)
print('A的值是%s和%s'%A) A的值是1和2
补充:
%m.nf:保留n位小数,显示时最小宽度为m(如果不足,会在之前补空格)
2、format
'abc{}'.format('123')
'abc123'
'abc{}{}'.format('123','456')
'abc123456'
'abc{0}{1:0.2f}'.format(1,123.456)
abc1123.45
2.1、参数
①格式化时可以不按顺序
'{0} {1}'.format('Hello' , 'world') #按顺序
'Hello world'
'{1} {0} {1}'.format('Hello' , 'world') #不按顺序
'world Hello world'
从这里可以看出,{ n }中的数字n指示format的第n-1个参数,而这个n的大小不用遵守先后顺序
②参数可以是字典、列表
#字典
site = { 'name':'菜鸟教程' , 'url':'www.runoob.com'}
print('网站名:{name} , 地址 {url}'.format(**site)) #列表
site = [ '菜鸟教程' , 'www.runoob.com' ]
print('网站名:{0[0]} , 地址 {0[1]}'.format(site))
输出结果为:
网站名:菜鸟教程 , 地址 www.runoob.com
网站名:菜鸟教程 , 地址 www.runoob.com
2.2、数字格式化
①一个例子
'{:.2f}'.format(3.1415926)
'3.14'
②格式化说明表
| 数字 | 格式 | 输出 | 说明 |
| 3.1415926 | {:.2f} | 3.14 | 保留小数点后两位 |
| 3.1415926 | {:+.2f} | +3.14 | 带符号且保留小数点后两位 |
| -1 | {:+.2f} | -1.00 | 带符号且保留小数点后两位 |
| 2.71828 | {:.0f} | 3 | 不带小数 |
| 5 | {:0>2d} | 05 | 宽度为2,不足则用0左填充 |
| 5 | {:x<4d} | 5xxx | 宽度为4,不足则用x右填充 |
| 10 | {:x<4d} | 10xx | 宽度为4,不足则用x右填充 |
| 1000000 | {:,} | 1,000,000 | 以逗号分隔的数字 |
| 0.25 | {:.2%} | 25.00% | 百分比格式,保留两位小数 |
| 1000000000 | {:.2e} | 1.00e+09 | 科学计数法,底数保留两位小数 |
| 13 | {:>10d} | 13 | 宽度为10,数字右对齐 |
| 13 | {:<10d} | 13 | 宽度为10,数字左对齐 |
| 13 | {:^d} | 13 | 宽度为10,数字居中 |
| 11 |
{:b}
|
1011 |
二进制 |
补充:
1、.n就表示n位小数
2、^、<、>分别表示居中、左对齐、右对齐;:后边带填充的字符,只能是一个字符,不指定则默认用空格
3、+表示在正数前显示+,负数前显示-;即这里的+表示让带符号数显示它本来的符号
4、用{}来转义大括号:
'{}在字母中的位置是{{3}}'.format('c')
'c在字母中的位置是{3}' #后边被转义了
5、数字前补零
见上表标红部分
6、将前缀与dict结合起来
info={'ID':16,'Year':2021,'Month':6,'Day':8}
suffix=r'\sensor_data_{ID}-{Year}-{Month:0>2d}-{Day:0>2d}.csv'.format(**info)
#结果为
'\\sensor_data_16-2021-06-08.csv'
3、f前缀+{}
str='123'
str2='456' f'abc{str}'
'abc123' f'abc{str}{str2}'
'abc123456'
Python:格式化字符串的几种方式的更多相关文章
- Python拼接字符串的七种方式
忘了在哪看到一位编程大牛调侃,他说程序员每天就做两件事,其中之一就是处理字符串.相信不少同学会有同感. 几乎任何一种编程语言,都把字符串列为最基础和不可或缺的数据类型.而拼接字符串是必备的一种技能.今 ...
- Python格式化输出的三种方式
Python格式化输出的三种方式 一.占位符 程序中经常会有这样场景:要求用户输入信息,然后打印成固定的格式比如要求用户输入用户名和年龄,然后打印如下格式:My name is xxx,my age ...
- Python 拼接字符串的几种方式
在学习Python(3x)的过程中,在拼接字符串的时候遇到了些问题,所以抽点时间整理一下Python 拼接字符串的几种方式. 方式1,使用加号(+)连接,使用加号连接各个变量或者元素必须是字符串类型( ...
- python格式化输出的几种方式
第一种 字符串拼接 就不写了 下面的是 第二 第三 第四种 name = input("name:") age = int(input("age:")) p ...
- python 格式化字符串的三种方法
1)%格式化方法 >>> a = "this is %s %s" % ("my", "apple") >>&g ...
- python格式化输出的两种方式对比
1.%符号方法和format()函数方法 2.对比: 1 print('我今年%d岁' %22.125) 2 print('我今年{0:f}'.format(22.125)) 3 #报错 4 #槽中类 ...
- python中字符串的几种表达方式(用什么方式表示字符串)
说明: 今天在学习python的基础的内容,学习在python中如何操作字符串,在此记录下. 主要是python中字符串的几种表达,表示方式. python的几种表达方式 1 使用单引号扩起来字符串 ...
- Python 3 格式化字符串的几种方法!
Python 3 格式化字符串的几种方法! %s和%d,%s是用来给字符串占位置,%d是给数字占位置,简单解释下: a = 'this is %s %s' % ('an','apple') 程序输出的 ...
- python中字符串的四种表达方式
今天在学习python的基础的内容,学习在python中如何操作字符串,在此记录下. 主要是python中字符串的几种表达,表示方式. python的几种表达方式 1 使用单引号扩起来字符串 > ...
随机推荐
- Linux查看CPU历史负载
sar -f /var/log/sa/sa20 -s 02:00:00 -e 06:00:00 | head -n 50 sysstat工具与负载历史回放 很多系统负载过高的时候我们是无法立即获知或者 ...
- redis分析系列之set命令
前言 最近研究下redis源码,现在从最基本的命令行操作来分析,redis是如何处理命令操作的 1. redis的set命令操作 我们在redis-cli执行下面的命令 set c c debug 发 ...
- ApacheCN 人工智能知识树 v1.0
贡献者:飞龙 版本:v1.0 最近总是有人问我,把 ApacheCN 这些资料看完一遍要用多长时间,如果你一本书一本书看的话,的确要用很长时间.但我觉得这是非常麻烦的,因为每本书的内容大部分是重复的, ...
- 使用Docker快速搭建Halo个人博客到阿里云服务器上[附加主题和使用域名访问]
一.前言 小编买了一个服务器也是一直想整个网站,一直在摸索,看了能够快速搭建博客系统的教程.总结了有以下几种方式,大家按照自己喜欢的去搭建: halo wordpress hexo vuepress ...
- IDE添加自定义注释
前言:最近在找IDE自定义模板注释时,十分不愉快,找了很久,才找到适合自己的,故记录一下 一.IDE自定义类注释: 1:打开自定义模板界面,并添加自定义内容: 2:新建类,效果如下 备注: ...
- go基础——数值传递与值传递
package main import "fmt" /* 1.值类型:存储的是数值本身,数据传递给其他变量时传递的是数据的副本. int,float,string,bool,arr ...
- JS快速入门(一)
目录 Javascript快速入门(一) 变量的命名规则 变量与常量 变量 常量 数据类型 数值型:Number 字符串:String 常用方法: 布尔类型:Boolean 未定义类型 :Undefi ...
- logback1.3.x配置详解与实践
前提 当前(2022-02前后)日志框架logback的最新版本1.3.0已经更新到1.3.0-alpha14版本,此版本为非stable版本,相对于最新稳定版1.2.10来说,虽然slf4j-api ...
- 数据分析之客户价值模型(RFM)技术总结
作者 | leo 管理学中有一个重要概念那就是客户关系管理(CRM),它核心目的就是为了提高企业的核心竞争力,通过提高企业与客户间的交互,优化客户管理方式,从而实现吸引新客户.保留老客户以及将已有客户 ...
- MyBatis加强(4)~mybatis 插件开发
一.插件介绍[动态代理] 1.插件[动态代理]:mybatis 允许在已经映射的语句的执行过程的某个时机进行拦截增强的机制. 2.mybatis中的组件动态代理的运用: MyBatis 在四大组件对象 ...