第三章 使用字符串

3.1 基本字符串操作

序列操作(索引,分片,乘法,判断成员资格,长度,最大值,最小值)都适用于字符串,但是字符串是不可变的,所以分片赋值是不合法的。

3.2 字符串格式化:精简版

%是字符串格式化操作符

用法:在%左侧放置一个字符串(格式化字符串),右侧放希望被格式化的值。可以使用一个值(比如一个字符串或数字),也可以使用多个值的元组或者字典。

>>> print( "%s is %s years old" % ("fsdfsd", 56))
fsdfsd is 56 years old

>>> format = " %s is %s years old"
>>> values = ("robin",34)
>>> print(format % values)
robin is 34 years old

注意:只有元组和字典可以格式化一个以上的值,如果使用列表或其他序列代替元组,那么序列将会被解释成为一个值。

>>> print( "%s is %s years old" % (["fsdfsd", 56],45))
['fsdfsd', 56] is 45 years old

注意:如果要在格式化字符串中包括百分号,那么必须使用%%

如果要格式化实数(浮点数),可以使用f说明转换说明符的类型,同时提供精度,一个句点再加上希望保留的小数位数:

>>> format = "PI with three decials: %.3f"
>>> from math import pi

>>> print(format % pi)
PI with three decials: 3.142

3.3 字符串格式化:完整版

如果右操作数是元组或字典的话,其中每一个元素都会被单独格式化,每一个值都需要一个转换说明符。

>>> "%s %s %s" % (1,2,3)
'1 2 3'

3.3.1 简单转换

>>> "%d" % 42
'42'

>>> "%x" % 42
'2a'

>>> "%f" % pi
'3.141593'

3.3.2 字段宽度和精度

字段宽度:转换后的值所保留的最小字符个数。

精度:结果的小数位数

>>> "%10.2f"% pi    // 宽度是10,精度是2
' 3.14'

3.3.3 符号,对齐和用0填充

>>> '%010.2f' % pi     // 宽度是10,用0填充
'0000003.14'

>>> "%-10.2f" % pi     // 左对齐
'3.14         '

>>> "% 5d" % 10     // 空格,表示正数前面加空格。
'     10'

>>> "%+5d" % 10    // + 号,表示不管是正负数,都显示符号
' +10'

3.4 字符串方法

3.4.1 find    查找子串的位置,如果没有返回-1

>>> "fsdfsdfsdfdsf".find("fsd")  
0

>>> "fsdfsdfsdfdsf".find("fsd",1,5)   // 提供起始点和结束点(注意:包含前一个索引,不包含后一个索引,这是Python的惯用  -1                                                          法)。

rfind()  /  index()  / rindex()  /count() / startswith()  / endswith()

3.4.2 join 连接序列中的元素

连接的序列必须是字符串

>>> "abc".join("de")
'dabce'

3.4.3 lower 返回字符串的小写 字母版本

>>> "ABc".lower()
'abc'

>>> "sdfdfds".capitalize()   // 首字母大写
'Sdfdfds'

>>> "Abc".swapcase()       // 大写变小写,小写变大写
'aBC'

'Fdsfsd'
>>> "abc def ght".title()          // 所有单词的首字母大写
'Abc Def Ght'

upper()                       // 大写

3.4.4 replace  字符串的所有匹配项均被替换

>>> "This is a test".replace("is", "eez")
'Theez eez a test'

3.4.5 split  join 方法的逆方法

>>> "I am robin".split(" ")
['I', 'am', 'robin']

3.4.6 strip  去除两侧(不包含内部)的空格的字符串

>>> " fsf asfa ".strip()
'fsf asfa'

3.4.7 translate

和replace类似,不同的地方是只替换单个字符

                    

 

python学习(三) 使用字符串的更多相关文章

  1. Python学习-第二天-字符串和常用数据结构

    Python学习-第二天-字符串和常用数据结构 字符串的基本操作 def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1 ...

  2. Python学习(三) 输出任意格式的字符串以及字符串的切片

    在Python中想要输出一句话,如下 a='hello world' print a //打印出的是hello world print 'hello \n world' //打印出的是 //hello ...

  3. 【Python学习笔记】字符串操作

    字符串的表示 python中的字符串是一个常量,可以使用单引号'',双引号""或三引号""" """来创建一个字符串常量 ...

  4. Python第三章-字符串

    第三章  字符串 3.1 基本字符串操作 Python的字符串和元组差不多,是不可以进行改变的,如果想改变值,可以尝试list序列化之后在进行修改. {    website = 'http://ww ...

  5. Python学习笔记一--字符串的使用

    一.基本操作 1. 合并字符串:“+” 2. 打印重复的字符串:"*"      3. 按位获取字符串中的字符:索引      4. 按位获取字符串中的子字符串:分片      5 ...

  6. python学习笔记一--字符串

    一.字符串: (一)字符串里单个元素的操作 1. 单个字符(元素)的序列组合. 2. 序列:单个字符的位置 3. 序列的操作:内置函数len获取长度,加位置索引 4. 获取字符串的里的元素:正向索引+ ...

  7. Python学习2——使用字符串(完整版)

    """ 在C语言入门的时候字符串没有好好学习,导致后期语言根本没有入门, 更导致之后大量的codeing时间浪费,效率低下. 因此,借助这次Python入门,好好地将字符 ...

  8. python学习笔记(字符串操作、字典操作、三级菜单实例)

    字符串操作 name = "alex" print(name.capitalize()) #首字母大写 name = "my name is alex" pri ...

  9. Python学习三---序列、列表、元组

    一.序列 1.1.序列概念 pythn中最基本的数据结构是序列(sequence). 序列中每个元素被分配一个序号-元素索引,第一个索引是0,第二个是1,以此类推.类似JAVA中数组和集合中的下标. ...

  10. Python学习笔记:字符串

    字符串 字符串定义:字符串可以使用一对单引号.双引号或三引号来定义,即便是单个字符也会当做字符串来处理(Python中没有字符类型,单个字符也就是只有一个字符的字符串而已). 原始字符串:字符串中反斜 ...

随机推荐

  1. 找出此产品描述中包含N个关键字的长度最短的子串

    阿里巴巴笔试题:给定一段产品的英文描述,包含M个英文字母,每个英文单词以空格分隔,无其他标点符号:再给定N个英文关键词,请说明思路并变成实现方法. String extractSummary(Stri ...

  2. 5.8 页面对象(Page Object)模式

    页面对象(Page Object)模式是目前自动化测试领域普遍使用的设计模式之一,此模式可以大大提高测试代码的复用率,提高测试脚本的编写效率和维护效率,是中级自动化测试工程师的必备技能之一. 1.页面 ...

  3. NLP(二)_汉语言分词技术-最大匹配法

    前述 词是自然语言中最小的有意义的构成单位.汉语文本是基于单字的文本,汉语的书面表达方式以汉字作为最小单元,词与词之间没有明显的界限标志,因此,分词是汉语文本分析处理中首先要解决的问题之一. 分词可能 ...

  4. 临时开启Chrome 67拖放crx安装扩展方法

    打开Chrome的设置: chrome://flags/#extensions-on-chrome-urls 更改为enabled,应用后重起浏览器,就可以往 chrome://extensions ...

  5. JS前端重点 -- Generator 函数的含义与用法

    Generator 函数的含义与用法 1.generator http://www.ruanyifeng.com/blog/2015/04/generator.html http://it.taocm ...

  6. 【scala】异常处理

    Scala 的异常处理和其它语言比如 Java 类似. 抛出异常 Scala 抛出异常的方法和 Java一样,使用 throw 方法 throw new IllegalArgumentExceptio ...

  7. spring 多数据源动态切换

    理解spring动态切换数据源,需要对spring具有一定的了解 工作中经常遇到读写分离,数据源切换的问题,那么以下是本作者实际工作中编写的代码  与大家分享一下! 1.定义注解 DataSource ...

  8. Android 中Activity,Window和View之间的关系

    转自:http://hi.baidu.com/xiaofanqing/blog/item/8261ac114ab14f64cb80c435.html 我这里根据我个人的理解来讲讲我个人对这3个概念的理 ...

  9. 用js 创建  简单查找 删除 二叉树

    <!DOCTYPE html> <html> <body> <canvas id="myCanvas" width="2000& ...

  10. CABAC与CAVLC有什么区别?

    待完善 7.3.12 用 CAVLC 方式编码的残差数据的语义 coeff_token   指明了非零系数的个数,拖尾系数的个数. trailing_ones_sign_flag 拖尾系数的符号 - ...