string 模块简单分析
字符串常量
点击查看代码
whitespace = ' \t\n\r\v\f'
ascii_lowercase = 'abcdefghijklmnopqrstuvwxyz'
ascii_uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
ascii_letters = ascii_lowercase + ascii_uppercase
digits = '0123456789'
hexdigits = digits + 'abcdef' + 'ABCDEF'
octdigits = '01234567'
punctuation = r"""!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~"""
printable = digits + ascii_letters + punctuation + whitespace
格式化字符串
点击查看代码
import string
print('{:,}'.format(1234567890))
print('Correct answers: {:.2%}'.format(23 / 16))
print('{:.2f}; {:.5f}'.format(3.1415926, -3.1415926))
print('{0}, {1}, {2}'.format('a', 'b', 'c'))
print('{}, {}, {}'.format('a', 'b', 'c'))
print('{2}, {1}, {0}'.format('a', 'b', 'c'))
print('{2}, {1}, {0}'.format(*'abc'))
print('{0}{1}{0}'.format('AA', 'BB'))
print('姓名:{name},年龄 {age}'.format(**{'name': 'jwd', 'age': 18}))
print('姓名:{name},年龄 {age},姓名:{name}'.format(name='jwd', age=18))
coord = (3, 5)
print('X: {0[0]}; Y: {0[1]}'.format(coord))
print('{:+f}; {:+f}'.format(3.14, -3.14))
print('{: f}; {: f}'.format(3.14, -3.14))
print('{:-f}; {:-f}'.format(3.14, -3.14))
print("名字是 {0!s}".format('JingWenDong'))
print("名字是 {name!r}".format(name='JingWenDong'))
print("名字是 {!a}".format('JingWenDong'))
print("int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}".format(42))
print("int: {0:d}; hex: {0:#x}; oct: {0:#o}; bin: {0:#b}".format(42))
class Point:
def __init__(self, x, y):
self.x, self.y = x, y
def __str__(self):
return 'Point({self.x}, {self.y})'.format(self=self)
print(Point(3, 5))
print('十进制={0:d},八进制={0:o},十六进制={0:X},二进制={0:b},'.format(12))
for num in range(5, 12):
for base in 'dXob':
print('{0:{width}{base}}'.format(num, base=base, width=1), end=' ')
print()
模板字符串
点击查看代码
"""
前景提要
1)substitute() 参数可以是 任何map类型的数据,或者关键字参数
2)substitute() 参数出出现重复项,则优先考虑 关键字参数结果
"""
s = Template('$who likes $what')
print(s.substitute({'who': 'jwd', 'what': 'goods'}))
print(s.substitute({'who': 'jwd', 'what': 'goods'}, what='coke'))
print(s.safe_substitute({'who': 'jwd'}))
""" 高级使用 """
class NewTemplate(Template):
delimiter = '@'
idpattern = r'(?a:[_a-z][_a-z0-9]*)'
s = NewTemplate('@who likes @what')
print(s.substitute({'who': 'jwd', 'what': 'goods'}))
print(s.substitute({'who': 'jwd', 'what': 'goods'}, what='coke'))
print(s.safe_substitute({'who': 'jwd'}))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统