该一系列python学习笔记都是根据《Python基础教程(第3版)》内容所记录整理的

1.字符串基本操作

  所有标准序列操作(索引、切片、乘法、成员资格检查、长度、最小值和最大值)都适用于字符串,但字符串是不可变的,所有元素赋值、切片赋值等操作都是非法的。

2.设置字符串的格式

  这里设置字符串格式的基本思想是对字符串调用方法format,并提供要设置其格式的值。每个值都被插入字符串中,以替换用花括号 {} 括起的替换字段。要在最终结果中包含花括号,可以在格式字符串中使用两个花括号(即{{...}})来指定,如f"{{a:math.e.2f}}".format(a=math.pi)

  在格式字符串中,最重要的是替换字段。替换字段由如下部分组成,其中每个部分都是可选的。

  • 字段名:索引或标识符,指出要设置哪个值的格式并使用结果来替换该字段,其中每个部分都是可选的。如:'{2} {psd} {0} {name} {1}'.format('a','b','c','d',name='ee',psd='ff'),结果为:  c ff a ee b
  • 转换标志:跟在叹号后面的单个字符。当前支持的字符包括r(表示repr)、s(表示str)和a(表示ASCII)。如:print('{pi!s} {pi!r} {pi!a}'.format(pi = 'π'))   结果为:π 'π' '\u3c0'
  • 格式说明符:跟在冒号后面的表达式。格式说明符能够让我们够详细的指定最终的格式,包括格式类型(如字符串、浮点数或十六进制等),字段宽度和数的精度,如何显示符号和千位分隔符,以及各种对齐和填充方式。

3.转换说明符

  format = 'Hello, %s.  %s enough for ya'

  values = ('word','Hot')

  print(format % values)  ——> Hell0, word. Hot enough for ya

  上述格式字符串中的 %s 称为转换说明符,指出了要将值插入什么地方。s意味着将值视为字符串进行格式设置。

4.替换字段名

  str1 = '{foo} {1} {bar} {0}'

  print(str1.format(1,2,bar=4,foo=3))  ——> 3 1 4 2

5.基本转换

  指定要在字段中包含的值后,就可添加有关如何设置其格式的指令了。首先,可以提供一个转换标志

  print('{pi!s} {pi!r} {pi!a}'.format(pi = 'π'))   ——> π 'π' '\u3c0'

  你还可以指定要转换的值将其视为那种类型。

  print('The float is {num:f}'.format(num=42))  ——> 42.000000 (默认保留后六位小数)

  类型     含义

  b        将整数表示为二进制

  c        将整数解读为Unicode码点

  d        将整数视为十进制数进行处理,这是整数默认使用的说明符

  e        使用科学表示法来表示小数(用e来表示指数)

  E        与e 相同,但使用E来表示指数

  f         将小数表示为定点数

  F        与f 相同,但对于特殊值(nan和inf),使用大写表示

  g        自动在定点表示法和科学表示法之间做出选择。这是默认用于小数的说明符,但在默认情况下至少有1位小数

  G        与g 相同,但用大写来表示指数和特殊值

  n         与g 相同,但插入随区域而异的数字分隔符

  o         将整数表示为八进制

  s         保存字符串的格式不变,这是默认用于字符串的说明符

  x        将整数表示为十六进制数并使用小写字母

  X        与x 相同,但使用大写字母

  %        将数表示为百分比值(乘以100,按说明符 f 设置格式,再在后面加上%)

6.宽度、精度和千位分隔符

  宽度是使用整数指定的,如下所示:

  print('{num:10}'.format(num=3))  ——> '         3'

  print('{num:10}'format(num='3'))  ——> '3         '

  如你所见,数对齐方式是向右对齐,字符串是向左对齐。

  精度也是使用整数指定的,如下所示:

  print('pi = {num:.2f}'.format(num=math.pi))  ——> pi = 3.14

  最后,可以使用逗号来指出你要添加的 千位分隔符

  print('{num:,}'.format(num=1000*1000))  ——> 1,000,000

  三种模式可以嵌套使用,但表示千位分隔符的 ,号要放在宽度和精度之间,如:str1={pi:10,2f}

7.符号、对齐和用0填充

  在指定宽度和精度的数前面,可以添加一个标志。这个标志可以是零、加好、减号或空格,其中零表示使用0来填充数字,如:'{:010.2f}'.format(math.pi)         '0000003.14'

  指定对齐方式:左对齐( < )、右对齐( > )、居中( ^ )。

  还有更具体的说明符 = ,它指定将填充字符放在符号(-/+)和数字之间。如:'{:=10.2f}'.format(-math.pi))  ——> '-      3.14'

  最后要了解的是 井号( # ),将其放在符号说明符( : )和宽度之间(如果指定了这两种设置)。这个选项将触发另一种转换方式,转换细节随类型而异。例如,对于二进制、八进制和十六进制转换,将加上对于前缀符号。

8.字符串方法

  这里只介绍比较常用的一些方法,如果想详细了解,请查验API。

  8.1  center

    方法center通过再两边添加填充字符(默认为空格)让字符串居中。center(40,'*')

  8.2 find

    方法find在字符串中查找子串。如果找到就返回第一个字符的索引,否则返回 -1。该方法还可以指定起点和终点,如:str.find('a',1)、str.find('a',0,30)。值得注意的是,该指定范围只包含起点,不包含终点。

  8.3 join

    方法join用于合并序列的元素,与split相反。如:''.join([.....])、'+'.join((......))。并且所有合并序列的元素都必须是字符串,且合并的时候会自动省略掉相同的元素。

    print('+'.join({'a','b','a','c'}))   ——> a+c+b(合并顺序随机)

  8.4 lower

    方法lower返回字符串的小写。

  8.5 upper

    方法upper返回字符串的大写。

  8.6 title

    方法title返回字符串的首字符大写。

  8.7 replace

    方法replace将指定子串都替换为另一个字符串,并返回替换后的结果。如:str.replace('x','aa')

  8.8 split

    方法split用于将字符串拆分为序列。如:str.split('+')、str.split()

  8.9 strip

    方法strip用于去掉字符串的开头和结尾的空格。

    你还可以在一个字符串参数中指定要删除那些字符。如:'***AA*AA!!!**'.strip('*!')  ——> AA*AA

  8.10 translate

    方法translate与replace一样替换字符串的特定部分,但不同的是它只能进行单字符串替换。这个方法的优势在于能够同时替换多个字符,因此效率上比replace高。

    然而,在使用translate前必须创建一个转换表。这个转换表指出了不同Unicode码点之间的转换关系。要创建转换表,可对字符串类型str调用方法maketrans,这个方法接收两个参数:两个长度相同的字符串,表示将第一个字符串中的每个字符都替换为第二个字符串中对应的字符。

    table = str.maketrans('cs','kz')

    str1.translate(table)

9 判断字符串是否满足特定的条件

  很多字符串方法都以 is 打头,如isspace、isdigit、isuppe,它们判断字符串是否具有特定的性质(如包含的字符全为空白、数字或大写)。如果条件满足,则返回True,否则返回False。

  isalnum、isalpha、isdecimal、isdigit、isidentifier、islower、isnumeric、isprinttable、isspace、istitle、isupper..............

python学习笔记(二)、字符串操作的更多相关文章

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

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

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

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

  3. python学习笔记(二)-字符串方法

    python的字符串内建函数: #====================常用方法=============================name = 'besttest' new_name = n ...

  4. Python 学习笔记二

    笔记二 :print 以及基本文件操作 笔记一已取消置顶链接地址 http://www.cnblogs.com/dzzy/p/5140899.html 暑假只是快速过了一遍python ,现在起开始仔 ...

  5. Python学习笔记(二)

    标识符和关键字 1,邮箱的Python标识符是任意长度的非空字符序列(引导字符+后续字符.) python标识符必须符合两条规则--标识符区分大小写 (1)只要是unicode编码字母都可以充当引导字 ...

  6. python学习笔记(二):python数据类型

    上一篇博客写了python的入门和简单流程控制,这次写python的数据类型和各种数据类型的内置方法.一.数据类型是什么鬼?计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各 ...

  7. 从零开始的Python学习Episode 6——字符串操作

    字符串操作 一.输出重复字符串 print('smile'*6) #输出6个smile 二.通过引索输出部分字符串 print('smile'[1:]) print('smile'[1:3]) #输出 ...

  8. Python学习杂记_3_字符串操作的常用方法

    字符串操作 字符串是可以通过下标来进行取值的,但是由于字符串是不可变变量,不能通过下标来修改它的值(形式如 字符串[下标]),下标从0开始,最大下标值是字符串长度减1,即len(string)-1 P ...

  9. (10.1)Python学习笔记二

    1.在项目工程中要模块化测试一个开发的功能,在测试通过后交付给项目组其他人员继续开发.要保证代码开发的性能和效率以及可扩展性. 2.项目工程中的文件夹分类要功能模块明确清晰,在python中引入某一个 ...

随机推荐

  1. easyUI分页实现加搜索功能

    前台页面: js代码: ps:pagination为true时会在table下面加上easyUI的分页. load函数会将查询值传给datagrid并传给后台重新加载. DAO.xml为: 后台代码实 ...

  2. 02 of learning python

    01 input输入的是str类型 如果输入的是数字的话,要记得强制转换一下! 02 isdigit() 这个方法是用来检测字符串是否全部由数字组成 str.isdigit() 如果字符串只包含数字则 ...

  3. 段的性能统计信息v$segment_statistics

    v$segment_statistics视图记录了段的统计信息 简单的几个字段就不说了,就说最后三个吧 STATISTIC_NAME,STATISTIC#,VALUE记录了发生在表上的操作 SYS @ ...

  4. git了解-使用笔记

    1.Git的由来与设计理念 Git是linux之父Linus Torvalds开发的,是一款最先进的项目版本控制系统. Git的由来有一个小故事,传闻起初Linux社区工作者都是通过邮件的,发送给li ...

  5. PYTHON黑帽编程 4.1 SNIFFER(嗅探器)之数据捕获--补充

    荒废了一个多月了,重新捡起来,手生了不少.发现在<4.1下>的文章里没有 提到pcap库,实在是不应该. 在网络数据分析的工具中,tcpdump绝对是大名鼎鼎,tcpdump底层是libp ...

  6. 包建强的培训课程(9):Android App性能优化

    v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...

  7. Java中的NIO基础知识

    上一篇介绍了五种NIO模型,本篇将介绍Java中的NIO类库,为学习netty做好铺垫 Java NIO 由3个核心组成,分别是Channels,Buffers,Selectors.本文主要介绍着三个 ...

  8. 生成uuid唯一标识符

    generate_uuid: function(){ var d = new Date().getTime(); if(window.performance && typeof win ...

  9. Kali学习笔记22:缓冲区溢出漏洞利用实验

    实验机器: Kali虚拟机一台(192.168.163.133) Windows XP虚拟机一台(192.168.163.130) 如何用Kali虚拟机一步一步“黑掉”这个windowsXP虚拟机呢? ...

  10. 三、activiti工作流-流程设计工具

    首先在diagrams下面新建一个文件夹 然后在这个文件夹下new一个Activiti Diagram new好后出现bpmn文件, 可以通过右键以xml方式打开bpmn文件查看源码 双击打开文件然后 ...