第三章 使用字符串

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. Web API与AJAX:理解FormBody和 FormUri的WebAPI中的属性

    这是这一系列文章"与 AJAX 的 Web API".在这一系列我们都解释消耗 Web API rest 风格的服务使用 jQuery ajax() 和其他方法的各种方法.您可以阅 ...

  2. CC攻击工具list

    从论文里抠出来的工具列表如下,后面有黑产的工具以及网络上摘录的工具: 分类:(1)有僵尸网络(是否代理服务器)&没有的==>(2)单一url&混合url(多线程,压测为主,dem ...

  3. softmax回归(理论部分解释)

    前面我们已经说了logistic回归,训练样本是,(且这里的是d维,下面模型公式的x是d+1维,其中多出来的一维是截距横为1,这里的y=±1也可以写成其他的值,这个无所谓不影响模型,只要是两类问题就可 ...

  4. Week07《Java程序设计》第七次作业总结

    Week07<Java程序设计>第七次作业总结 1. 本周学习总结 1.1 思维导图:Java图形界面总结 答: 1.2 可选:使用常规方法总结其他上课内容. 答: 1. Swing组件: ...

  5. SVN的搭建及使用(三)用TortoiseSVN修改文件,添加文件,删除文件,以及如何解决冲突,重新设置用户名和密码等

    添加文件 在检出的工作副本中添加一个Readme.txt文本文件,这时候这个文本文件会显示为没有版本控制的状态,如图: 这时候,你需要告知TortoiseSVN你的操作,如图: 加入以后,你的文件会变 ...

  6. 《Drools7.0.0.Final规则引擎教程》第3章 3.1 Hello World 实例

    3.1 Hello World 实例 在上一章中介绍了Drools5x版本中规则引擎使用的实例,很明显在Drools7中KnowledgeBase类已经标注为"@Deprecated&quo ...

  7. 6.etc目录下重要文件和目录详解

    1./etc/下的重要的配置文件 /etc(二进制软件包的 yum /rpm 安装的软件和所有系统管理所需要的配置文件和子目录.还有安装的服务的启动命令也放置在此处) /etc/sysconfig/n ...

  8. 利用struts2的json返回方式来控制jquery.validate的remote框架,进行表单验证

  9. 深入理解java虚拟机-第八章

    第8章 虚拟机字节码执行引擎 8.2 运行时栈帧结构 栈帧(Stack Frame)是用于支持虚拟机进行方法调用和方法执行的数据结构. 每一个栈帧包括了局部变量表.操作数栈.动态连接.方法返回地址和一 ...

  10. 基于epoll的TP传输层实现

    1. 抽象TP传输层设计 在使用epoll实现实际的传输层之前,先设计一个抽象的传输层,这个抽象的传输层是传输层实现的接口层. 接口层中一共有以下几个通用的类或者接口: (1)Socket:通用的套接 ...