第三章 字符串学习

1、字符串不灵活, 它不能被分割符值

>>> format = "hello, %s. %s enough for ya?"
>>> values = ('world','hot')
>>> print (format % values) #在%的左側放置一个字符串(格式化字符串),右側放置希望格式化的值
hello, world. hot enough for ya? >>> format = "Pi with three decimals: %.3f" #.3表示希望保留的小数位数。f表类型(浮点数)
>>> from math import pi
>>> print(format %pi)
Pi with three decimals: 3.142 模板字符串 string--Template---substitute
>>> # 模板字符串
>>> from string import Template
>>> s=Template('$x,glorious $x!')
>>> s.substitute(x='slurm')
'slurm,glorious slurm!' >>># 假设替换字段是单词的一部分,须要加{}
>>> s=Template("It's ${x}tastic!")
>>> s.substitute(x='slurm')
"It's slurmtastic!" >>> #能够使用$$插入美元符号
>>> # 使用字典变量提供值/名称对
>>> s=Template('A $thing must never $action.')
>>> d={}
>>> d['thing']='gentleman'
>>> d['action']='show his socks'
>>> s.substitute(d)
'A gentleman must never show his socks.' 2、字符串格式化
>>> '%s plus %s equals %s' %(1,1,2) # #使用元组替代,注意不能丢掉括号
'1 plus 1 equals 2'
>>> 'Price of eggs: $%d' % 42 #d,i表示带符号的十进制整数
'Price of eggs: $42'
>>> 'Hexadecimal price of eggs: %x' % 42 #不带符号的十六进制(小写),X(大写)
'Hexadecimal price of eggs: 2a'
>>> from math import pi
>>> 'Pi: %f...' % pi #f/F十进制浮点数
'Pi: 3.141593...'
>>> 'Very inexact estimate of pi: %i' %pi #i带符号的十进制整数
'Very inexact estimate of pi: 3' 3、段宽度和精度
>>>#宽度:转换后的值所保留的最小字符个数。
>>>#精度:应包含的小数位数,或者是转换后最大字符个数。 (字符串)
>>> '%10f' % pi #字段宽度10
' 3.141593'
>>> '%10.2f' %pi #字段宽度10 精度2
' 3.14'
>>> '%.2f' %pi #精度2
'3.14'
>>> '%.5s' % 'hello python' #精度5,对于字符串来说,就是最多五个字符
'hello'
>>> '%.*s' %(5,'hello python') #用*表示精度,值在元组中
'hello' 4、符号、对齐和0填充--在字段宽度和精度之前能够放置一个标表,该标表能够是零、加号、减号或空格
>>> from math import pi
>>> '%10f'% pi
' 3.141593'
>>> '%010.2f' %pi
'0000003.14'
>>> '%-10.2f' % pi # -表示左对齐
'3.14
>>> print(('% 5d' %10) + '\n' + ('%5d' %-10)) #空格,在正数前加空白,方便与负数对齐
10
-10
>>> print(('%+5d' % 10)+'\n' + ('%+5d' % -10)) #(+)加号,正数和负数都标出符号
+10
-10 5、字符串方法
# find方法能够在一个较长的字符串中查找子字符串,返回子串所在位置的最左端索引。没找到返回-1
>>> title="Monty python's Flying Circus"
>>> title.find('Monty')
0
>>> title.find('python')
6
>>> subject = '$$$ Get rich now!!! $$$'
>>> subject.find('$$$')
0
>>> subject.find('$$$', 1) #提供起点,从1開始
20
>>> subject.find('!!!', 0, 16) #提供起始点和结束点,当中包含起始索引,不包含结束索引
-1 # -1代表未找到 # join方法是split方法的逆方法,用来连接列表,仅仅能是字符串
>>> seq=['1','2','3','4','5']
>>> sep = '+'
>>> sep.join(seq)
'1+2+3+4+5'
>>>
>>> dirs = '', 'usr', 'bin', 'env'
>>> '/' .join(dirs)
'/usr/bin/env'
>>> print('C:' + '\\'.join(dirs))
C:\usr\bin\env #lower方法返回字符串的小写字母版
>>> 'SHE IS TALL'.lower()
'she is tall' #title方法将字符串的首字母转换为大写,其它字母小写
>>> "that's all folks".title()
"That'S All Folks" #String模块的capwords函数:将全部字母都转换为大写
>>> import string
>>> string.capwords("that's all folks")
"That's All Folks"
>>>
#replace方法返回某字符串的全部匹配项均被替换之后得到的字符串
>>> 'This is a test'.replace('is', 'eez')
'Theez eez a test' #split方法是join的逆方法。用来将字符串切割成序列
>>> '1+2+3+4+5+6+7+8+9'.split('+')
['1', '2', '3', '4', '5', '6', '7', '8', '9']
>>> '/usr/bin/env'.split()
['/usr/bin/env']
>>> '/usr/bin/env'.split('/')
['', 'usr', 'bin', 'env']
>>> 'Using the default'.split()
['Using', 'the', 'default'] #strip方法返回去除两側(不包含内部)空格的字符串
>>> ' internal whitespace is kept '.strip()
'internal whitespace is kept' #translate()同replace()如,但只能处理一个字符

版权声明:本文博客原创文章,博客,未经同意,不得转载。

python学习笔记——第三章 串的更多相关文章

  1. Python学习笔记 ---第三章

    函数 函数是代码的一种抽象 函数 说明 abs 绝对值 max 最大值 hex 转换为16进制 强制数据类型转换 int('123') 123 int(12.35) 12 srt(100) '100' ...

  2. python学习笔记第三章

    1.列表是由一系列特定顺序排列得元素组成,在python中用([])组成,列表得索引是从0开始,不是1 xu=['a','b',''c] print(xu) 访问列表的元素第一个元素 xu=['a', ...

  3. python学习心得第三章

    python学习心得第三章 1.三元运算 变量=值1 if 条件 else 值2 由图如果条件成立则赋值1给变量,如果条件不成立则赋值2给变量. 2.数据类型 集合:set() class set(o ...

  4. 《DOM Scripting》学习笔记-——第三章 DOM

    <Dom Scripting>学习笔记 第三章 DOM 本章内容: 1.节点的概念. 2.四个DOM方法:getElementById, getElementsByTagName, get ...

  5. The Road to learn React书籍学习笔记(第三章)

    The Road to learn React书籍学习笔记(第三章) 代码详情 声明周期方法 通过之前的学习,可以了解到ES6 类组件中的生命周期方法 constructor() 和 render() ...

  6. [HeadFrist-HTMLCSS学习笔记]第三章构建模块:Web页面建设

    [HeadFrist-HTMLCSS学习笔记]第三章构建模块:Web页面建设 敲黑板!! <q>元素添加短引用,<blockquote>添加长引用 在段落里添加引用就使用< ...

  7. JVM学习笔记-第三章-垃圾收集器与内存分配策略

    JVM学习笔记-第三章-垃圾收集器与内存分配策略 tips:对于3.4之前的章节可见博客:https://blog.csdn.net/sanhewuyang/article/details/95380 ...

  8. [Python学习笔记][第七章Python文件操作]

    2016/1/30学习内容 第七章 Python文件操作 文本文件 文本文件存储的是常规字符串,通常每行以换行符'\n'结尾. 二进制文件 二进制文件把对象内容以字节串(bytes)进行存储,无法用笔 ...

  9. [Python学习笔记][第四章Python字符串]

    2016/1/28学习内容 第四章 Python字符串与正则表达式之字符串 编码规则 UTF-8 以1个字节表示英语字符(兼容ASCII),以3个字节表示中文及其他语言,UTF-8对全世界所有国家需要 ...

随机推荐

  1. 宣布发布 Windows Azure ExpressRoute,宣告与 Level 3 建立全新的合作伙伴关系并推出关于其他 Azure 服务令人振奋的更新

     在我们与世界各地的客户和合作伙伴交谈时,总会听到他们说,希望找到一个提供商帮助他们最大限度地发挥内部部署投资的作用并且能够利用云的灵活性.这是我们构建混合云策略和云操作系统愿景的基本原则.本着我 ...

  2. 基于Visual C++2013拆解世界五百强面试题--题9-找出所有的排列方式

    给出一个函数来输出一个字符串的所有排列 按照排列组合的知识我们知道 N个字符排列组合个数有n!种, 那么可知f(n) = n*f(n-1), 如果{1,2}的组合有两种,12,21, 那么{123}的 ...

  3. 九款让WordPress成为赚钱利器的广告插件

    Blog有了很不错的流量后,看到别人博客挂的广告挣$,是否也有挂广告的冲动,但是,修改wordpress模版去让人不厌其烦,布局.样式都的重新修改一下,为了不那么麻烦,笔者整理的几款wordpress ...

  4. redis研究笔记

    本文链接:http://blog.csdn.net/u012150179/article/details/38077851 一. redis Redis is an in-memory databas ...

  5. CF-192-diy-2

    题目链接: http://codeforces.com/contest/330 A. Cakeminator 题目意思: 给一个r*c的矩阵方格,有些位置有S,如果某一行和一列都不含标记为S的方格,则 ...

  6. SGU 202 The Towers of Hanoi Revisited (DP+递归)

    转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?viewmode=contents    by---cxlove 题意 :n个圆盘,m个柱子的汉诺塔输出步骤. ht ...

  7. MVC3.0部署问题小结

    环境:MVC3.0,IIS7 Mvc3.0的部署除像正常部署aspx程序一样外,另外还需要注意的几点:1. 安装MVC3.0 确保服务器上安装了MVC3.0,默认版本是“3.0.20105.0” 2. ...

  8. javascript基础、语法

    JavaScript基础(简介.语法) 一.JavaScript简介 1.JavaScript是个什么东西? 它是个脚本语言,需要有宿主文件,它的宿主文件是HTML文件. 2.它与Java什么关系? ...

  9. ACE6.2.0文件/目录操作

    文件读取.#include "ace/FILE_Connector.h"#include "ace/FILE_IO.h"void fileRW(){ACE_FI ...

  10. Mini-project # 4 - "Pong"___An Introduction to Interactive Programming in Python"RICE"

    Mini-project #4 - "Pong" In this project, we will build a version of Pong, one of the firs ...