Python中的string模块的学习

简介:

学习资料:http://docs.python.org/library/string.html#string.Formatter

感觉学习任何东西,官方的东西总是最好的,呵呵。个人总结(代码为主,相信有python基础的都能看懂):

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
>>>  import  string
>>> string.ascii_letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.ascii_lowercase
'abcdefghijklmnopqrstuvwxyz'
>>> string.ascii_uppercase
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.digits
'0123456789'
>>> string.hexdigits
'0123456789abcdefABCDEF'
>>> string.letters
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
>>> string.lowercase
'abcdefghijklmnopqrstuvwxyz'
>>> string.uppercase
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.octdigits
'01234567'
>>> string.punctuation
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
>>> string.printable
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c'
>>> string.whitespace
'\t\n\x0b\x0c\r

 

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
>>>  '{0}, {1}, {2}' . format ( 'a' 'b' 'c' )
'a, b, c'
>>>  '{}, {}, {}' . format ( 'a' 'b' 'c' )   # 2.7+ only
'a, b, c'
>>>  '{2}, {1}, {0}' . format ( 'a' 'b' 'c' )
'c, b, a'
>>>  '{2}, {1}, {0}' . format ( * 'abc' )       # unpacking argument sequence
'c, b, a'
>>>  '{0}{1}{0}' . format ( 'abra' 'cad' )    # arguments' indices can be repeated
'abracadabra'
 
>>>  'Coordinates: {latitude}, {longitude}' . format (latitude = '37.24N' , longitude = '-115.81W' )
'Coordinates: 37.24N, -115.81W'
>>> coord  =  { 'latitude' '37.24N' 'longitude' '-115.81W' }
>>>  'Coordinates: {latitude}, {longitude}' . format ( * * coord)
'Coordinates: 37.24N, -115.81W'
 
>>> c  =  3 - 5j
>>> ( 'The complex number {0} is formed from the real part {0.real} '
...   'and the imaginary part {0.imag}.' ). format (c)
'The complex number (3-5j) is formed from the real part 3.0 and the imaginary part -5.0.'
>>>  class  Point( object ):
...      def  __init__( self , x, y):
...          self .x,  self .y  =  x, y
...      def  __str__( self ):
...          return  'Point({self.x}, {self.y})' . format ( self = self )
...
>>>  str (Point( 4 2 ))
'Point( 4 2 )
 
>>> coord  =  ( 3 5 )
>>>  'X: {0[0]};  Y: {0[1]}' . format (coord)
'X: 3;  Y: 5'
 
>>>  "repr() shows quotes: {!r}; str() doesn't: {!s}" . format ('test1 ', ' test2')
"repr() shows quotes: 'test1'; str() doesn't: test2"
 
>>>  '{:<30}' . format ( 'left aligned' )
'left aligned                  '
>>>  '{:>30}' . format ( 'right aligned' )
'                 right aligned'
>>>  '{:^30}' . format ( 'centered' )
'           centered           '
>>>  '{:*^30}' . format ( 'centered' )   # use '*' as a fill char
'***********centered***********'
 
>>>  '{:+f}; {:+f}' . format ( 3.14 - 3.14 )   # show it always
'+3.140000; -3.140000'
>>>  '{: f}; {: f}' . format ( 3.14 - 3.14 )   # show a space for positive numbers
' 3.140000; -3.140000'
>>>  '{:-f}; {:-f}' . format ( 3.14 - 3.14 )   # show only the minus -- same as '{:f}; {:f}'
'3.140000; -3.140000'
 
>>>  # format also supports binary numbers
>>>  "int: {0:d};  hex: {0:x};  oct: {0:o};  bin: {0:b}" . format ( 42 )
'int: 42;  hex: 2a;  oct: 52;  bin: 101010'
>>>  # with 0x, 0o, or 0b as prefix:
>>>  "int: {0:d};  hex: {0:#x};  oct: {0:#o};  bin: {0:#b}" . format ( 42 )
'int: 42;  hex: 0x2a;  oct: 0o52;  bin: 0b101010'
 
>>>  '{:,}' . format ( 1234567890 )
'1,234,567,890'
 
>>> points  =  19.5
>>> total  =  22
>>>  'Correct answers: {:.2%}.' . format (points / total)
'Correct answers: 88.64%'
 
>>>  import  datetime
>>> d  =  datetime.datetime( 2010 7 4 12 15 58 )
>>>  '{:%Y-%m-%d %H:%M:%S}' . format (d)
'2010-07-04 12:15:58'
 
>>>  for  align, text  in  zip ( '<^>' , [ 'left' 'center' 'right' ]):
...      '{0:{fill}{align}16}' . format (text, fill = align, align = align)
...
'left<<<<<<<<<<<<'
'^^^^^center^^^^^'
'>>>>>>>>>>>right'
>>>
>>> octets  =  [ 192 168 0 1 ]
>>>  '{:02X}{:02X}{:02X}{:02X}' . format ( * octets)
'C0A80001'
>>>  int (_,  16 )
3232235521
>>>
>>> width  =  5
>>>  for  num  in  range ( 5 , 12 ):
...      for  base  in  'dXob' :
...          print  '{0:{width}{base}}' . format (num, base = base, width = width),
...      print
...
     5      5      5    101
     6      6      6    110
     7      7      7    111
     8      8     10   1000
     9      9     11   1001
    10      A     12   1010
    11      B     13   1011
 
>>>  from  string  import  Template
>>> s  =  Template( '$who likes $what' )
>>> s.substitute(who = 'tim' , what = 'kung pao' )
'tim likes kung pao'
>>> d  =  dict (who = 'tim' )
>>> Template( 'Give $who $100' ).substitute(d)
Traceback (most recent call last):
[...]
ValueError: Invalid placeholder  in  string: line  1 , col  10
>>> Template( '$who likes $what' ).substitute(d)
Traceback (most recent call last):
[...]
KeyError:  'what'
>>> Template( '$who likes $what' ).safe_substitute(d)
'tim likes $what'

 

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
28
29
30
string.capitalize(word) 返回一个副本,首字母大写
>>> string.capitalize( "hello" )
'Hello'
>>> string.capitalize( "hello world" )
'Hello world'
 
>>> string.split( "asdadada asdada" )
[ 'asdadada' 'asdada' ]
 
>>> string.strip( "              adsd         " )
'adsd'
>>> string.rstrip( "              adsd         " )
'              adsd'
>>> string.lstrip( "              adsd         " )
'adsd         '
 
string.swapcase(s) 小写变大写,大写变小写
>>> string.swapcase( "Helloo" )
'hELLOO'
 
>>> string.ljust( "ww" , 20 )
'ww                  '
>>> string.rjust( 'ww' , 20 )
'                  ww'
>>> string.center( 'ww' , 20 )
'         ww         '
string.zfill(s, width)
Pad a numeric string on the left with zero digits until the given width  is  reached. Strings starting with a sign are handled correctly.
>>> string.zfill( 'ww' , 20 )
'000000000000000000ww'

  

 


==============================================================================
本文转自被遗忘的博客园博客,原文链接:http://www.cnblogs.com/rollenholt/archive/2011/11/25/2263722.html,如需转载请自行联系原作者
相关文章
|
24天前
|
存储 算法 API
【01】整体试验思路,如何在有UID的情况下获得用户手机号信息,python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡
【01】整体试验思路,如何在有UID的情况下获得用户手机号信息,python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡
145 82
|
13天前
|
人工智能 自然语言处理 Shell
[oeasy]python070_如何导入模块_导入模块的作用_hello_dunder_双下划线
本文介绍了如何在Python中导入模块及其作用,重点讲解了`__hello__`模块的导入与使用。通过`import`命令可以将外部模块引入当前环境,增强代码功能。例如,导入`__hello__`模块后可输出“Hello world!”。此外,还演示了如何使用`help()`和`dir()`函数查询模块信息,并展示了导入多个模块的方法。最后,通过一个实例,介绍了如何利用`jieba`、`WordCloud`和`matplotlib`模块生成词云图。总结来说,模块是封装好的功能部件,能够简化编程任务并提高效率。未来将探讨如何创建自定义模块。
33 8
|
10天前
|
缓存 Shell 开发工具
[oeasy]python071_我可以自己做一个模块吗_自定义模块_引入模块_import_diy
本文介绍了 Python 中模块的导入与自定义模块的创建。首先,我们回忆了模块的概念,即封装好功能的部件,并通过导入 `__hello__` 模块实现了输出 &quot;hello world!&quot; 的功能。接着,尝试创建并编辑自己的模块 `my_file.py`,引入 `time` 模块以获取当前时间,并在其中添加自定义输出。
21 4
|
16天前
|
存储 API 数据安全/隐私保护
【02】整体试验思路,在这之前我们发现sec_uid,sec_uid是什么和uid的关系又是什么?相互如何转换?python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡
【02】整体试验思路,在这之前我们发现sec_uid,sec_uid是什么和uid的关系又是什么?相互如何转换?python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡
59 6
|
16天前
|
C语言 Python
Python学习:内建属性、内建函数的教程
本文介绍了Python中的内建属性和内建函数。内建属性包括`__init__`、`__new__`、`__class__`等,通过`dir()`函数可以查看类的所有内建属性。内建函数如`range`、`map`、`filter`、`reduce`和`sorted`等,分别用于生成序列、映射操作、过滤操作、累积计算和排序。其中,`reduce`在Python 3中需从`functools`模块导入。示例代码展示了这些特性和函数的具体用法及注意事项。
|
3月前
|
Python
Python Internet 模块
Python Internet 模块。
140 74
|
24天前
|
Python
python pandas学习(一)
该代码段展示了四个主要操作:1) 删除指定列名,如商品id;2) 使用正则表达式模糊匹配并删除列,例如匹配订单商品名称1的列;3) 将毫秒级时间戳转换为带有时区调整的日期时间格式,并增加8小时以适应本地时区;4) 将列表转换为DataFrame后保存为Excel文件,文件路径和名称根据变量拼接而成。
25 3
|
3月前
|
Python 容器
Python学习的自我理解和想法(9)
这是我在B站跟随千锋教育学习Python的第9天,主要学习了赋值、浅拷贝和深拷贝的概念及其底层逻辑。由于开学时间紧张,内容较为简略,但希望能帮助理解这些重要概念。赋值是创建引用,浅拷贝创建新容器但元素仍引用原对象,深拷贝则创建完全独立的新对象。希望对大家有所帮助,欢迎讨论。
|
4月前
|
算法 数据安全/隐私保护 开发者
马特赛特旋转算法:Python的随机模块背后的力量
马特赛特旋转算法是Python `random`模块的核心,由松本真和西村拓士于1997年提出。它基于线性反馈移位寄存器,具有超长周期和高维均匀性,适用于模拟、密码学等领域。Python中通过设置种子值初始化状态数组,经状态更新和输出提取生成随机数,代码简单高效。
153 63
|
3月前
|
Python
Python学习的自我理解和想法(10)
这是我在千锋教育B站课程学习Python的第10天笔记,主要学习了函数的相关知识。内容包括函数的定义、组成、命名、参数分类(必须参数、关键字参数、默认参数、不定长参数)及调用注意事项。由于开学时间有限,记录较为简略,望谅解。通过学习,我理解了函数可以封装常用功能,简化代码并便于维护。若有不当之处,欢迎指正。

热门文章

最新文章