栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python 字符串格式化

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python 字符串格式化

1. 使用% 1.1 按位置格式化:
name = 'jack'
age = 18
text = '我是%s, 年龄%s岁' %(name, age)
print(text)
print('我是%s, 年龄%s岁' %('rose', 16))

这里的%s是为字符串占位,而真正为整型占位的是%d,严谨的方式写:text = '我是%s, 年龄%d岁' %(name, age)

1.2 按名称格式化
text = '我是%(name)s, 我叫%(name)s, 年龄:%(age)s岁' %{'name': 'jack', 'age': 12}
print(text)
1.3 需要注意的是
text = '%s的GDP要提升40%' %'中国'
print(text)

上面这段代码会运行出错:

Traceback (most recent call last):
  File "c:UsersvincentDesktopcodeneimeng-pythontesttest_str.py", line 12, in 
    text = '%s的GDP要提升40%' %'中国'
ValueError: incomplete format

因为我们的字符串中出现了多个%,会把%也当做了占位符,因此报错。

解决这种方式的方法就是多写一个%,例如:

text = '%s的GDP要提升40%%' %'中国'
print(text)

因此,一旦字符串中存在百分比的形式,一定要加两个%以实现百分比的效果。

2. format

方式1:

text = '我叫{0}, 今年{1}岁, 我是{0}'.format('tom', 16)
print(text)

方式2:
也可以不写序号,默认则是按位置来取对应的值,但是上面的情况则会报错:

text = '我叫{}, 今年{}岁'.format('tom', 16)
print(text)

方式3:

text = '我叫{name}, 今年{age}岁'.format(name='tom', age=16)
print(text)

可以把上面的字符串赋值给变量,下面这种形式本质上跟上面是一样的。

text = '我叫{name}, 今年{age}岁'
print(text.format(name='tom', age=16))

text = '我是%(name)s, 我叫%(name)s, 年龄:%(age)s岁'
print(text %{'name': 'jack', 'age': 12})
f格式化

Python3.6版本及之后才支持的方式。

name = 'tom'
age = '19'
text = f'我叫{name}, 今年{age}岁'

可以支持表达式:

name = 'jerry'
age = 7
text = f'我叫{name}, 今年{age+1}岁'
print(text)

在Python3.8引入的新功能:

name = 'jerry'
age = 7
text = f'我叫{name}, 今年{age+1 =}岁'
print(text)

输出结果:我叫jerry, 今年age+1=8岁

进制转换:

# 转化为二进制
print(f'今年{22: #b}岁') # 今年 0b10110岁
# 转化为八进制
print(f'今年{22: #o}岁')  # 今年 0o26岁
# 转化为十六进制
print(f'今年{22: #x}岁')  # 今年 0x16岁

可以执行函数:

name = 'jerry'
text = f'我是{name.upper()}'
print(text) # 会把name变成大写
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/997990.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号