Python中的模块string.py


本文摘自php中文网,作者不言,侵删。

这篇文章主要介绍了Python中模块之string.py的相关资料,文中介绍的非常详细,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。

一、用法

字符串常量:

1

2

3

4

5

6

7

8

9

10

import string

 

print(string.ascii_lowercase)

print(string.ascii_uppercase)

print(string.ascii_letters)

print(string.digits)

print(string.hexdigits)

print(string.octdigits)

print(string.punctuation)

print(string.printable)

结果

1

2

3

4

5

6

7

8

9

abcdefghijklmnopqrstuvwxyz

ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

0123456789

0123456789abcdefABCDEF

01234567

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

0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-

 ./:;<=>?@[\]^_`{|}~

二、Template类:

其实,Template类,可以和格式化字符串的用法还有字符串对象的format()方法做对比,可以帮助更好地理解。首先,新建一个python文件:string_template.py,

然后在里面写入以下内容:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

import string

 

values = {'var': 'foo'}

 

t = string.Template("""

Variable : $var

Escape  : $$

Variable in text: ${var}iable

""")

 

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

 

s = """

Variable : %(var)s

Escape  : %%

Variable in text: %(var)siable

"""

 

print('INTERPOLATION:', s % values)

 

s = """

Variable : {var}

Escape  : {{}}

Variable in text: {var}iable

"""

 

print('FORMAT:', s.format(**values))

然后,在python命令行中输入:

1

$ python string_template.py

结果

1

2

3

4

5

6

7

8

9

10

11

12

13

TEMPLATE:

Variable : foo

Escape  : $

Variable in text: fooiable

 

INTERPOLATION:

Variable : foo

Escape  : %

Variable in text: fooiable

 

FORMAT:

Variable : foo

Escape  : {}

可以看到三者之间都可以起到对字符串里进行格式化的效果。只是三者的修饰符不一样。Template类好的一点就是其可以通过继承类,实例化后自定义其修饰符,并且也可以对变量的名字格式进行正则表达式的定义。

如string_template_advanced.py示例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

import string

class MyTemplate(string.Template):

 delimiter = '%'

 idpattern = '[a-z]+_[a-z]+'

 

 

template_text = '''

 Delimiter : %%

 Replaced : %with_underscore

 Igonred : %notunderscored

'''

 

 

d = {

 'with_underscore': 'replaced',

 'notunderscored': 'not replaced',

}

 

t = MyTemplate(template_text)

print('Modified ID pattern:')

print(t.safe_substitute(d))

首先,解释下上面python文件。里面定义了一个类MyTemplate,继承了string的Template类,然后,对其两个域进行重载: Delimiter为修饰符,现在指定为了‘%',而不是之前的‘$'。 接着,idpattern是对变量的格式指定。

结果

1

2

3

4

5

6

$ python string_template_advanced.py

Modified ID pattern:

 

 Delimiter : %

 Replaced : replaced

 Igonred : %notunderscored

为什么notunderscored没有被替换呢?原因是我们在类定义的时候,idpattern里指定要出现下划线'_', 而该变量名并没有下划线,故替代不了。

以上就是Python中的模块string.py的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python flask是什么

Python怎么安装jieba库

Python怎么安装jieba库?

Python能用于3d游戏开发吗

分享一个Python用户名密码登录系统

Python函数学习的注意要点

Python基础流程控制的介绍(代码示例)

Python学习】文件操作

Python操作表格添加行

Python时间戳转换日期格式的方法是什么

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...