Python 字符串与数字处理技巧全解析
1. 字符串处理
1.1 变量替换
在 Python 中,当使用字符串格式化时,可能会遇到变量缺失的问题。例如:
s = "{name} has {n} messages."
try:
s.format(name='Guido')
except KeyError as e:
print(f"KeyError: {e}")
为了避免这个问题,可以定义一个自定义字典类 safesub ,并重写 __missing__ 方法:
class safesub(dict):
def __missing__(self, key):
return '{' + key + '}'
del n # 确保 n 未定义
print(s.format_map(safesub(vars())))
如果在程序中经常进行这样的变量替换操作,可以将其封装成一个函数:
import sys
def sub(text):
return text.format_map(safesub(sys._getframe(1).f_locals))
name = 'Guido'
n = 37
print(sub('Hello {name}'))
print(sub('You
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



