专栏首页nummypython string模块学习

python string模块学习

Python内置的string模块提供了一些有用的常量和方法用于操作文本。

常量

string模块中定义了一些常用的常量,例如小写字母,大写字母,阿拉伯数字等:

import string

for n in dir(string):
    if n.startswith('_'):
        continue
    v = getattr(string, n)
    if isinstance(v, basestring):
        print '%s=%s' % (n, repr(v))
        print

输出结果如下:

ascii_letters='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'

ascii_lowercase='abcdefghijklmnopqrstuvwxyz'

ascii_uppercase='ABCDEFGHIJKLMNOPQRSTUVWXYZ'

digits='0123456789'

hexdigits='0123456789abcdefABCDEF'

letters='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'

lowercase='abcdefghijklmnopqrstuvwxyz'

octdigits='01234567'

printable='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c'

punctuation='!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'

uppercase='ABCDEFGHIJKLMNOPQRSTUVWXYZ'

whitespace='\t\n\x0b\x0c\r '  

函数

**capwords() ** 用于将字符串中每个单词首字母改为大写。

import string

s = 'The quick brown fox jumped over the lazy dog.'

print s
print string.capwords(s)

输出结果如下:

The quick brown fox jumped over the lazy dog.
The Quick Brown Fox Jumped Over The Lazy Dog.

**translate() ** 用于转换字符。

import string

leet = string.maketrans('abegiloprstz', '463611092572')

s = 'The quick brown fox jumped over the lazy dog.'

print s
print s.translate(leet)

输出结果如下:

The quick brown fox jumped over the lazy dog.
Th3 qu1ck 620wn f0x jum93d 0v32 7h3 142y d06.

Templates

Templates用于实现内置的插值操作,使用$var替换变量var。

import string

values = { 'var':'foo' }

t = string.Template("""
$var
$$
${var}iable
""")

print 'TEMPLATE:', t.substitute(values)

s = """
%(var)s
%%
%(var)siable
"""

print 'INTERPLOATION:', s % values

输出结果如下:

TEMPLATE:
foo
$
fooiable

INTERPLOATION:
foo
%
fooiable

如果字符串模板中的变量没有提供值,会抛出异常,这时,可以使用safe_substitute().

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • itertools模块详解

    tee()创建的迭代器共享其输入迭代器,所以一旦创建了新迭代器,就不应该再使用远迭代器。

    用户2936342
  • 使用jsTree树形控件【4】

    使用JSON渲染jsTree的话,需要指定JSON的格式,jsTree可以使用两种JSON格式,在标准JSON格式中,没有必需的属性,而且还可以添加自定义的属性...

    用户2936342
  • 外观模式

    上面的例子中WalkingDrone类隐藏了Leg类的复杂同步操作,提供了一个更为简单的接口。

    用户2936342
  • [PYTHON] 核心编程笔记之六-Py

    py3study
  • 基于Python的语料库数据处理(二)

    语料库处理中,Python语言的字符串运算主要是将词语、句子连接起来,或者将词语、句子重复若干次,如:string1+string2(两个字符串相加),stri...

    陆勤_数据人网
  • C# 基础知识系列- 9 字符串的更多用法(二)

    上一篇文章介绍了字符串自身的一些方法,就是对象方法。在字符串体系中,还有一些是string类提供的静态方法。这两部分构成了字符串体系,当然还有一些三方库为字符串...

    程序员小高
  • Python3.6学习笔记(四)

    程序运行中,可能会遇到BUG、用户输入异常数据以及其它环境的异常,这些都需要程序猿进行处理。Python提供了一套内置的异常处理机制,供程序猿使用,同时PDB提...

    大江小浪
  • [781]python去除字符串中开头|结尾|所有字母、数字

    参考:https://blog.csdn.net/qq_25792799/article/details/80322889 https://blog.csdn...

    周小董
  • python3获取目录下的文件名

    在处理分类问题制作标签的时候用到了指定文件夹下的文件名获取,在这里做个小结: OS模块是python中一个常用于处理文件信息的模块,因此相关文件的处理都会用...

    py3study
  • 60道硬核 Python 面试题,论面霸是如何炼成的

    说实话,都9012了,还在用这种背题式的方法来考核程序员,实在太不切合程序员的实际工作了……

    一墨编程学习

扫码关注云+社区

领取腾讯云代金券