Python基础--格式化{%,f-string,format()}

  • %格式化:占位符%,搭配%符号一起使用;
    常见的占位符:
类型说明
s字符串(使用str()方法转换任何Python对象)
d有符号十进制整数
f浮点十进制格式, 自动保留六位小数,第6位会根据第7位四舍五入
r字符串(使用 repr() 转换任何 Python 对象)
a字符串(使用 ascii() 转换任何 Python 对象)
o有符号八进制数
x有符号十六进制数(小写)
X有符号十六进制数(大写)
基本用法:
print('%d-%s-%f' % (100000000, 'test', 1.234445145645))

###输出:
100000000-test-1.234445
左右对齐:
print('---右对齐---')
print('%10f' % (0.12346712))
print(len('%10f' % (0.12346712)))
print('---指定左对齐---') 
print('%-10f' % (0.12346712))
print(len('%-10f' % (0.12346712)))
print('---默认左对齐---')  ##默认,不指定位数
print('%f' % (0.12346712))
print(len('%f' % (0.12346712)))

###输出:
---右对齐---
  0.123467
10
---指定左对齐---
0.123467  
10
---默认左对齐---
0.123467
8
  • format()格式化:占位符{},搭配format()函数一起使用;
基本用法:
print('{}--{}--{}'.format('test', 1203, 1.23456))

###运行结果:
'test'--1203--1.23456
通过索引值指定参数位置:
print('{2}={1}={0}={3}'.format('v1', 'v2', 'v3', 'v4'))

###运行结果:
v3=v2=v1=v4
通过键值指定参数位置:
print('{key1}^{key2}^{key3}^{key4}'.format(key1='v1', key2='v2', key3='v3', key4=123))

###运行结果:
v1^v2^v3^123
对齐以及补齐:
# 左右对齐
print('---默认左对齐---')
print('{}'.format('name'))
print(len('{}'.format('name')))
print('----指定位数左对齐----')  ##默认
print('{:<10}'.format('name'))
print(len('{:<10}'.format('name')))
print('----右对齐----')
print('{:>10}'.format('name'))
print(len('{:>10}'.format('name')))
print('----居中对齐----')
print('{:^10}'.format('name'))
print(len('{:^10}'.format('name')))
# 使用其他字符来补齐
print('----使用其他字符补齐----')
print('{:_<10}'.format('右补齐'))
print('{:_>10}'.format('左补齐'))
print('{:_^10}'.format('居中补齐'))

###输出:

---默认左对齐---
name
4
----指定位数左对齐----
name      
10
----右对齐----
      name
10
----居中对齐----
   name   
10
    
----其他字符补齐----
右补齐_______
_______左补齐
___居中补齐___
  • f-string格式化:占位符{},搭配f符号一起使用
基本用法:
name = 'lee'
print(f'{name}')
对齐以及补齐:
# 左右对齐
val = 'test123'
print('---默认左对齐---')
print(f'{val}')
print(len(f'{val}'))
print('----左对齐----')
print(f'{val:<10}')
print(len(f'{val:<10}'))
print('----右对齐----')
print(f'{val:>10}')
print(len(f'{val:>10}'))
print('----居中对齐----')
print(f'{val:^10}')
print(len(f'{val:^10}'))

#通过其他字符补齐
print('----其他字符补齐----')
print(f'{val:$<10}')
print(f'{val:¥>10}')
print(f'{val:@^10}')

###输出:
---默认左对齐---
test123
7
----左对齐----
test123   
10
----右对齐----
   test123
10
----居中对齐----
 test123  
10


----其他字符补齐----
test123$$$
¥¥¥test123
@test123@@

在使用f-string和format()如果相对原参数保留格式输出可以添加!r来实现,类似于内置函数repr()
样例

name = 12.35412
a = f'{name!r}'
b = repr(name)
print(type(a))
print(type(b))

###输出:
---保留参数原始格式---
12.35412
<class 'str'>
<class 'str'>
a = '{!r}'.format('test')
print(type(a))
b = '{!r}'.format(1203)
print(type(b))
c = '{!r}'.format(1.23456)
print(type(c))

###输出:
<class 'str'>
<class 'str'>
<class 'str'>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值