Python的字符串模块
Python的String模块包含一些字符串操作的常量、实用函数和类。
Python字符串模块
这是一个内置模块,在使用其常量和类之前,我们必须先导入它。
字符串模块常量
让我们来看看在字符串模块中定义的常量。
import string
# string module constants
print(string.ascii_letters)
print(string.ascii_lowercase)
print(string.ascii_uppercase)
print(string.digits)
print(string.hexdigits)
print(string.whitespace) # ' \t\n\r\x0b\x0c'
print(string.punctuation)
输出:
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789
0123456789abcdefABCDEF
!"#$%&'()*+,-./:;?@[\]^_`{|}~
![python string module constants](https://cdn.silicloud.com/blog-img/blog/img/65648c9ea4b2f92e6c7333ea/8-0.png)
将所有单词的首字母变为大写的字符串函数
Python的字符串模块包含一个单一的实用函数——capwords(s, sep=None)。该函数使用str.split()将指定的字符串分割为单词。然后它使用str.capitalize()函数将每个单词首字母大写。最后,它使用str.join()将首字母大写的单词连接起来。如果可选参数sep没有提供或者为None,则会删除前导和尾随的空格,并使用单个空格分隔单词。如果提供了sep,则使用该分隔符来分割和连接单词。
s = ' Welcome TO \n\n Olivia'
print(string.capwords(s))
![python string capwords](https://cdn.silicloud.com/blog-img/blog/img/65648c9ea4b2f92e6c7333ea/12-0.png)
Python字符串模块类
Python的字符串模块包含两个类 – Formatter和Template。
格式化工具
它的行为和str.format()函数完全相同。如果你想要子类化并定义自己的格式化字符串语法,这个类就变得很有用。让我们看一个使用Formatter类的简单示例。
from string import Formatter
formatter = Formatter()
print(formatter.format('{website}', website='Olivia'))
print(formatter.format('{} {website}', 'Welcome to', website='Olivia'))
# format() behaves in similar manner
print('{} {website}'.format('Welcome to', website='Olivia'))
结果:
Welcome to Olivia
Welcome to Olivia
![python string module Formatter class](https://cdn.silicloud.com/blog-img/blog/img/65648c9ea4b2f92e6c7333ea/20-0.png)
模板
这个类用于为字符串替换创建一个简单的字符串模板,如PEP 292中所描述的。在不需要复杂的格式化规则的应用程序中实现国际化(i18n)时非常有用。
from string import Template
t = Template('$name is the $title of $company')
s = t.substitute(name='Pankaj', title='Founder', company='Olivia.')
print(s)
![Python string module Template class](https://cdn.silicloud.com/blog-img/blog/img/65648c9ea4b2f92e6c7333ea/24-0.png)
您可以从我们的GitHub存储库中检查完整的Python脚本和更多的Python示例。
参考文献:官方文档