字符串格式化有两种方式:百分号方式、format方式。百分号方式比较老,从Python2.6引入了format这个格式化字符串的方法, 目前两者共存。

一、百分号方式

1、%s 字符串

string = "hello"# %s打印时结果是helloprint("字符串=%s" % string) # output: string=hello# %2s意思是字符串长度为2,当原字符串的长度超过2时,按原长度打印,所以%2s的打印结果还是helloprint("字符串=%2s" % string) # output: string=hello# %7s意思是字符串长度为7,当原字符串的长度小于7时,在原字符串左侧补空格,# 所以%7s的打印结果是 helloprint("字符串=%7s" % string) # output: string= hello# %-7s意思是字符串长度为7,当原字符串的长度小于7时,在原字符串右侧补空格,# 所以%-7s的打印结果是 helloprint("字符串=%-7s!" % string) # output: string=hello !# %.2s意思是截取字符串的前2个字符,所以%.2s的打印结果是heprint("字符串=%.2s" % string) # output: string=he# %.7s意思是截取字符串的前7个字符,当原字符串长度小于7时,即是字符串本身,# 所以%.7s的打印结果是helloprint("字符串=%.7s" % string) # output: string=hello# %a.bs这种格式是上面两种格式的综合,首先根据小数点后面的数b截取字符串,# 当截取的字符串长度小于a时,还需要在其左侧补空格print("字符串=%7.2s" % string) # output: string= heprint("字符串=%2.7s" % string) # output: string=helloprint("字符串=%10.7s" % string) # output: string= hello# 还可以用%*.*s来表示精度,两个*的值分别在后面小括号的前两位数值指定print("字符串=%*.*s" % (7, 2,string)) # output: string= he

2、%d 整型

num = 14# %d打印时结果是14print("字符串=%d" % num) # output: num=14# %1d意思是打印结果为1位整数,当整数的位数超过1位时,按整数原值打印,所以%1d的打印结果还是14print("字符串=%1d" % num) # output: num=14# %3d意思是打印结果为3位整数,当整数的位数不够3位时,在整数左侧补空格,所以%3d的打印结果是 14print("字符串=%3d" % num) # output: num= 14# %-3d意思是打印结果为3位整数,当整数的位数不够3位时,在整数右侧补空格,所以%3d的打印结果是14_print("字符串=%-3d" % num) # output: num=14_# %05d意思是打印结果为5位整数,当整数的位数不够5位时,在整数左侧补0,所以%05d的打印结果是00014print("字符串=%05d" % num) # output: num=00014# %.3d小数点后面的3意思是打印结果为3位整数,# 当整数的位数不够3位时,在整数左侧补0,所以%.3d的打印结果是014print("字符串=%.3d" % num) # output: num=014# %.0003d小数点后面的0003和3一样,都表示3,意思是打印结果为3位整数,# 当整数的位数不够3位时,在整数左侧补0,所以%.3d的打印结果还是014print("字符串=%.0003d" % num) # output: num=014# %5.3d是两种补齐方式的综合,当整数的位数不够3时,先在左侧补0,还是不够5位时,再在左侧补空格,# 规则就是补0优先,最终的长度选数值较大的那个,所以%5.3d的打印结果还是 014print("字符串=%5.3d" % num) # output: num= 014# %05.3d是两种补齐方式的综合,当整数的位数不够3时,先在左侧补0,还是不够5位时,# 由于是05,再在左侧补0,最终的长度选数值较大的那个,所以%05.3d的打印结果还是00014print("字符串=%05.3d" % num) # output: num=00014# 还可以用%*.*d来表示精度,两个*的值分别在后面小括号的前两位数值指定# 如下,不过这种方式4就失去补0的功能,只能补空格,只有小数点后面的3才能补0print("字符串=%*.*d" % (4, 3, num)) # output: num= 014

3、%f 浮点型

import math# %a.bf,a表示浮点数的打印长度,b表示浮点数小数点后面的精度# 只是%f时表示原值,默认是小数点后5位数print("PI=%f" % math.pi) # output: PI=3.141593# 只是%9f时,表示打印长度9位数,小数点也占一位,不够左侧补空格print("PI=%9f" % math.pi) # output: PI=_3.141593# 只有.没有后面的数字时,表示去掉小数输出整数,03表示不够3位数左侧补0print("PI=%03.f" % math.pi) # output: PI=003# %6.3f表示小数点后面精确到3位,总长度6位数,包括小数点,不够左侧补空格print("PI=%6.3f" % math.pi) # output: PI=_3.142# %-6.3f表示小数点后面精确到3位,总长度6位数,包括小数点,不够右侧补空格print("PI=%-6.3f" % math.pi) # output: PI=3.142_# 还可以用%*.*f来表示精度,两个*的值分别在后面小括号的前两位数值指定# 如下,不过这种方式6就失去补0的功能,只能补空格print("PI=%*.*f" % (6, 3, math.pi)) # output: PI=_3.142

二、format方式

1、通过位置

#通过位置print('输出:{0},{1}'.format('优惠券','http://1668s.com') )print('输出:{},{}'.format('博客','http://hi-laoz.com'))print('输出:{1},{0},{1}'.format('优惠券','http://1668s.com'))

字符串的format函数可以接受不限个参数,位置可以不按顺序,可以不用或者用多次,不过2.6不能为空{},2.7才可以。

2、通过关键字参数

print('{name},{url}'.format(url='http://1668s.com',name='优惠券'))

3、通过下标

p=['博客','http://hi-laoz.com']print('输出:{0[0]},{0[1]}'.format(p))

list和tuple可以通过“打散”成普通参数给函数,而dict可以打散成关键字参数给函数。所以可以轻松的传个list/tuple/dict给format函数。非常灵活。

4、格式限定符

它有着丰富的的“格式限定符”(语法是{}中带:号),比如:

填充与对齐

填充常跟对齐一起使用

^、分别是居中、左对齐、右对齐,后面带宽度

:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充

比如

print('{:>8}'.format('189'))print('{:0>8}'.format('189'))print( '{:a>8}'.format('189'))

5、精度与类型f

精度常跟类型f一起使用

print( '{:.2f}'.format(3.14159))

其中.2表示长度为2的精度,f表示float类型。

6、其他类型

主要就是进制了,b、d、o、x分别是二进制、十进制、八进制、十六进制。

print('17的二进制:','{:b}'.format(17)) #二进制print('17的十进制:','{:d}'.format(17)) #十进制print('17的八进制:','{:o}'.format(17)) #八进制print('十的十六进制:','{:x}'.format(17)) #十六进制

用,号还能用来做金额的千位分隔符。

print('{:,}'.format(1234567890))

sqlserver concat 字符串位数不够左侧补0_一文搞懂Python字符串格式化相关推荐

  1. 一文搞懂Python字符串

    Python字符串是编程语言中最为常见的一个数据类型,对于每一个数据分析师来说,熟练掌握并且能够灵活运用Python字符串是非常重要的. 那么,今天小职就为大家带来Python字符串的保姆级详解,希望 ...

  2. angular 字符串转换成数字_一文看懂Python列表、元组和字符串操作

    好文推荐,转自CSDN,原作星辰StarDust,感觉写的比自己清晰-大江狗荐语. 序列 序列是具有索引和切片能力的集合. 列表.元组和字符串具有通过索引访问某个具体的值,或通过切片返回一段切片的能力 ...

  3. python字符串format方法参数解释,一文秒懂!Python字符串格式化之format方法详解

    一文秒懂!Python字符串格式化之format方法详解 一文秒懂!Python字符串格式化之format方法详解 format是字符串内嵌的一个方法,用于格式化字符串.以大括号{}来标明被替换的字符 ...

  4. c 提取引号中间的字符串_Python | 一文看懂Python列表、元组和字符串操作

    好文推荐,转自CSDN,原作星辰StarDust 序列 序列是具有索引和切片能力的集合. 列表.元组和字符串具有通过索引访问某个具体的值,或通过切片返回一段切片的能力. 列表.元组.字符串都属于序列 ...

  5. angular 字符串转换成数字_Python | 一文看懂Python列表、元组和字符串操作

    好文推荐,转自CSDN,原作星辰StarDust 序列 序列是具有索引和切片能力的集合. 列表.元组和字符串具有通过索引访问某个具体的值,或通过切片返回一段切片的能力. 列表.元组.字符串都属于序列 ...

  6. python元组和列表的联系_Python | 一文看懂Python列表、元组和字符串操作

    好文推荐,转自CSDN,原作星辰StarDust 序列序列是具有索引和切片能力的集合. 列表.元组和字符串具有通过索引访问某个具体的值,或通过切片返回一段切片的能力. 列表.元组.字符串都属于序列 1 ...

  7. 一文看懂Python(二)-----字符串篇

    本文着重介绍Python字符串的相关方法,有很多特别使用的方法,但也有比较奇特的方法,可能想都想不到,哈哈哈!比较难理解的方法我会把运行结果贴上去,简单的就不贴了,最后祝大家学的愉快! 1.创建一个字 ...

  8. c语言字符串截取_一文搞懂 C 语言 #、##、__VA_ARGS__

    1'#' 和 '##' 属于预处理标记.'#' 和 '##' 用于类似函数的宏定义中(或者简称为宏定义函数).2'__VA_ARGS__' 是 C99 引入的用于支持宏定义函数中使用可变参数. 操作符 ...

  9. [转载] python字符串_一文详解Python字符串条件判断方法

    参考链接: Python字符串| isdecimal 作者 | 张小吉 来源 | 鸡仔说(ID:jizaishuo) 前言 人喜欢为自己的错误,找各种借口开脱.本周做算法题leetcode<39 ...

最新文章

  1. 2021梧州一中高考成绩查询,2021年广西高考成绩查询网站查分网址:https://www.gxeea.cn/...
  2. Keepalived+HAProxy基于读写分离方式实现discuz论坛
  3. arthas class/classloader相关命令之一:sc、sm
  4. spring boot建立项目 git推送giteee
  5. 定制自己的Windows CE 5.0 ARM中文模拟器(转)
  6. vsftp socket 报错
  7. 前端开发课件 202002
  8. 开发一个大型后台管理系统,真的需要用前后端分离的技术方案吗?
  9. vivo的Android升级包,【原厂固件】vivo y66ia系统升级rom刷机包_卡刷包_PD1621B_A_1.9.6...
  10. debian9上的openwrt创建自己的IPK软件
  11. 企业办理icp许可证有没必要-icp许可证
  12. java 微信接收消息_Java后台与微信公众号交互----接收并处理微信客户端发送的请求...
  13. 中国睫毛生长液行业市场供需与战略研究报告
  14. 项目经理需要铭记在心的话
  15. 计算机专业eng4u,加拿大高中文凭ossd项目之ENG4U英语4U课程内容介绍!
  16. IGMP组播加入失败原因
  17. 戴尔科技云平台:赋能“新基建”, 打造“云底座”
  18. 吉利全球鹰熊猫CROSS
  19. [CSDN 视频--新闻分析第二期]:Baidu事件、MySpaceVSYahoo、Flashget被收购
  20. 香港消防处去年接3.3万宗火警召唤 第四代调派系统料2033年启用

热门文章

  1. VTK修炼之道67:体绘制讨论_不透明度传输函数
  2. 项目经理应该把30%的时间用在编程上
  3. Delphi自动提交网页表单和获取框架网页源码
  4. redisson 集合使用示例(RList、Rset、RMap)
  5. dependencyManagement与dependencies区别
  6. git新建项目并push进去
  7. easyExcel 读取数据为空的一次报错记录
  8. rabbitMq简介及docker安装
  9. STM32F4 HAL库开发 -- STM32CubeMX
  10. PM2.5检测 -- PMS7003 采集和 MQTT 传输