Python中的string模块的学习

代码为主,相信有python基础的都能看懂:

[python] view plain copy
  1. >>> import string  
  2. >>> string.ascii_letters  
  3. 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'  
  4. >>> string.ascii_lowercase  
  5. 'abcdefghijklmnopqrstuvwxyz'  
  6. >>> string.ascii_uppercase  
  7. 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'  
  8. >>> string.digits  
  9. '0123456789'  
  10. >>> string.hexdigits  
  11. '0123456789abcdefABCDEF'  
  12. >>> string.letters  
  13. 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'  
  14. >>> string.lowercase  
  15. 'abcdefghijklmnopqrstuvwxyz'  
  16. >>> string.uppercase  
  17. 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'  
  18. >>> string.octdigits  
  19. '01234567'  
  20. >>> string.punctuation  
  21. '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'  
  22. >>> string.printable  
  23. '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c'  
  24. >>> string.whitespace  
  25. '\t\n\x0b\x0c\r  

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

[python] view plain copy
  1. string.capitalize(word) 返回一个副本,首字母大写  
  2. >>> string.capitalize("hello")  
  3. 'Hello'  
  4. >>> string.capitalize("hello world")  
  5. 'Hello world'  
  6.    
  7. >>> string.split("asdadada asdada")  
  8. ['asdadada''asdada']  
  9.    
  10. >>> string.strip("              adsd         ")  
  11. 'adsd'  
  12. >>> string.rstrip("              adsd         ")  
  13. '              adsd'  
  14. >>> string.lstrip("              adsd         ")  
  15. 'adsd         '  
  16.    
  17. string.swapcase(s) 小写变大写,大写变小写  
  18. >>> string.swapcase("Helloo")  
  19. 'hELLOO'  
  20.    
  21. >>> string.ljust("ww",20)  
  22. 'ww                  '  
  23. >>> string.rjust('ww',20)  
  24. '                  ww'  
  25. >>> string.center('ww',20)  
  26. '         ww         '  
  27. string.zfill(s, width)  
  28. Pad a numeric string on the left with zero digits until the given width is reached. Strings starting with a sign are handled correctly.  
  29. >>> string.zfill('ww',20)  
  30. '000000000000000000ww'  

  1. >>> import string 
  2. >>> string.ascii_letters 
  3. 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' 
  4. >>> string.ascii_lowercase 
  5. 'abcdefghijklmnopqrstuvwxyz' 
  6. >>> string.ascii_uppercase 
  7. 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 
  8. >>> string.digits 
  9. '0123456789' 
  10. >>> string.hexdigits 
  11. '0123456789abcdefABCDEF' 
  12. >>> string.letters 
  13. 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' 
  14. >>> string.lowercase 
  15. 'abcdefghijklmnopqrstuvwxyz' 
  16. >>> string.uppercase 
  17. 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 
  18. >>> string.octdigits 
  19. '01234567' 
  20. >>> string.punctuation 
  21. '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~' 
  22. >>> string.printable 
  23. '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c' 
  24. >>> string.whitespace 
  25. '\t\n\x0b\x0c\r 

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

[python] view plain copy
  1. string.capitalize(word) 返回一个副本,首字母大写 
  2. >>> string.capitalize("hello"
  3. 'Hello' 
  4. >>> string.capitalize("hello world"
  5. 'Hello world' 
  6.   
  7. >>> string.split("asdadada asdada"
  8. ['asdadada', 'asdada'
  9.   
  10. >>> string.strip("              adsd         "
  11. 'adsd' 
  12. >>> string.rstrip("              adsd         "
  13. '              adsd' 
  14. >>> string.lstrip("              adsd         "
  15. 'adsd         ' 
  16.   
  17. string.swapcase(s) 小写变大写,大写变小写 
  18. >>> string.swapcase("Helloo"
  19. 'hELLOO' 
  20.   
  21. >>> string.ljust("ww",20
  22. 'ww                  ' 
  23. >>> string.rjust('ww',20
  24. '                  ww' 
  25. >>> string.center('ww',20
  26. '         ww         ' 
  27. string.zfill(s, width) 
  28. Pad a numeric string on the left with zero digits until the given width is reached. Strings starting with a sign are handled correctly. 
  29. >>> string.zfill('ww',20
  30. '000000000000000000ww' 

posted @ 2018-04-20 22:51  程序员修练之路  阅读(1153)  评论(0编辑  收藏  举报