Python 标准库学习 --- string

关注微信公众号:Python高效编程了解更多

想要代码写得好,除了参与开源项目、在大公司实习,最快捷高效的方法就是阅读 Python 标准库。学习 Python 标准库,不是背诵每一个标准库的用法,而是要过一遍留下印象,挑自己感兴趣的库重点研究。这样实际做项目的时候,我们就可以游刃有余地选择标准库。

作为这一系列的开始,第一个学习的是 string 模块。string 模块作为内置函数 str 的补充,提供了一些便利的函数。我会持续分享自己关于标准库的学习笔记与思考,争取一两周更新一篇标准库的内容。记得给公众号加个星标,不会错过精彩内容。还可以在 github 上给我提 issue,我尽力回答。

第一步
# 导入 string 模块
import string
capwords

string 模块中提供了 capwords 函数,该函数使得字符串中的每个单词变为大写形式。我们来看看源码中是如何定义的:

def capwords(s, sep=None):
    return (sep or ' ').join(x.capitalize() for x in s.split(sep))

capwords 接受一个位置参数:待处理的字符串,和一个可选关键字参数:字符串的分隔符。字符串默认使用空格分隔,比如 ‘my name is python ’,也可以指定 seq 分隔,比如传入 seq 为 ‘-’:‘my-name-is-python’。这个函数使得被分隔的单词首字母大写。

>>> s = 'my name is python'
>>> capwords(s)
'My Name Is Python'

>>> s = 'my-name-is-python'
>>> capwords(s,'-')
'My-Name-Is-Python'

总结一下子:我们需要首先向 capwords 函数中传入字符串。capwords 函数通过 str.split 方法将字符串分割成单词,再通过生成器表达式和 str.capitalize 方法,使得每一个单词首字母大写,最后再通过 str.join 方法将单词拼装为字符串。

上面是 cpython 的实现。对于标准库中比较简单的函数,我们可以考虑,如果是自己的话,会用什么方法写这个函数,最后再使用 timeit 模块比较一下这两者的性能。

我举个例子,比如说,这个函数还可以使用 map 函数重写,下面这

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值