Python之字符串格式化

有时候在实际开发当中,需要执行原生sql语句或者想打印某些带变量参数的字符串,那么就需要对字符串进行格式化处理!

字符串格式化的种类
  • ‘+’ 加法拼接方式
  • % 格式符方式
  • format 方式
  • f 方式
1、加法拼接
>>> name = 'Thomas'
>>> data = 'My name is ' + name
>>> data
'My name is Thomas'
2、% 格式符方式
  • %s :占位符 str()
  • %d :十进制 整数
  • %x :十六进制
  • %f :浮点型
    指定长度:
  • %5d :右对齐,不足左边补空格
  • %-5d:- 代表左对齐,不足右边默认补空格
  • %05d:右对齐,不足左边补0
    浮点数:
  • %f :默认是输出6位有效数据, 会进行四舍五入
    如:指定小数点位数的输出 %.2f—保留小数点后2位
  • ‘%4.8f’ 4代表整个浮点数的长度,包括小数,只有当字符串的长度大于4位才起作用.不足4位空格补足,可以用%04.8使用0补足空格
>>> name = 'Thomas'
>>> height='170'
>>> data = 'My name is %s, height %scm'%(name, height)
>>> data
'My name is Thomas, height 170cm'
指定长度:
>>> data = 'My name is %s, height %-5dcm'%(name, int(height))
>>> data
'My name is Thomas, height 170  cm'
>>> data = 'My name is %s, height %05dcm'%(name, int(height))
>>> data
'My name is Thomas, height 00170cm'
浮点数:
>>> data = 'My name is %s, height %04.4fcm'%(name, 170.59)
>>> data
'My name is Thomas, height 170.5900cm'
3.format 格式
  • 顺序赋值
>>> data = 'My name is {}, height {}cm'.format(name, 170.59)
>>> data
'My name is Thomas, height 170.59cm'
  • 指定下标赋值
>>> data = 'My name is {1}, height {0}cm'.format(172.56, name)
>>> data
'My name is Thomas, height 172.56cm'
  • 指定名称赋值
>>> data = 'My name is {name}, height {height}cm'.format(height=172.56, name=name)
>>> data
'My name is Thomas, height 172.56cm'
  • 指定字符串长度
    如:
    字符串 {:3}–左对齐
    数值 {:3}–右对齐
    使用**><**可以避免字符串/数值对齐方法不一致
    > 右对齐
    < 左对齐
>>> dt = 'My name is Thomas, height 172.56cm, age{:5}'.format(15)
>>> dt
'My name is Thomas, height 172.56cm, age   15'
>>> dt = 'My name is Thomas, height 172.56cm, age{0:#>5}'.format(15)
>>> dt
'My name is Thomas, height 172.56cm, age###15'
>>> dt = 'My name is Thomas, height 172.56cm, age{0:#<5}'.format(15)
>>> dt
'My name is Thomas, height 172.56cm, age15###'
  • 中间对齐
    中间对齐**^**不足的长度用#表示
>>> data = 'My name is {name:#^11}, height {height:*^11}cm'.format(height=172.56, name=name)
>>> data
'My name is ##Thomas###, height **172.56***cm'

4.f 格式化

注意:这种很方便,但是python版本需要在python3.6后的版本才支持该写法,否者会报以下错误:

在这里插入图片描述

可以说这种写法是format的升级,format支持一般也都支持

>>> data = f'My name is {name}, height {height}cm'
>>> data
'My name is Thomas, height 172.65cm'
>>> data = f'My name is {name:#^11}, height {height:*^11}cm'
>>> data
'My name is ##Thomas###, height **172.65***cm'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值