希望通过博客园持续的更新,分享和记录Python基础知识到高级应用的点点滴滴!

第七波:第3章 字符串

  介绍如何使用字符串格式化其他的值,并简单了解一下利用字符串的分割、联接、搜索等方法能做些什么。

[3.1] 基本字符串操作

  所有标准的序列操作(索引、分片、乘法、判断成员资格、求长度、取最小值和最大值)对字符串同样适用。

  但是,记住字符串都是不可变的。

[3.2] 字符串格式化:精简版

  字符串格式化适用字符串格式化操作符即百分号%来实现。在%左侧放置一个字符串,而右侧则放置希望格式化的值。只有元组和字典可以格式化一个以上的值。%称为转换说明符,标记了需要插入转换值的位置。如果要在格式化字符串里面包括百分号,那么必须使用%%,这样python就不会将百分号误认为是转换说明符了。

  要格式化实数(浮点数)使用f说明符类型,同时提供所需要的精度:一个据点再加上希望保留的小数位。因为格式化说明符总是以表示类型的字符结束,所以精度应该放在类型字符前面:如 %.3f

  string模块提供另外一种格式化值得方法:模板字符串。

[3.3] 字符串格式化:完整版

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

  基本的转换说明符,注意,这些项的顺序是至关重要的:

  (1)%字符:标记转换说明符的开始

  (2)转换标识:-表示左对齐,+表示在转换值之前要加上正负号,:“”空白字符表示正数之前保留空格,0表示转换值若尾数不够则用0来填充

  (3)最小字段宽度:转换后的字符串至少应该具有该值指定的宽度。如果是*,则宽度会从值元组中读出。

  (4)点(.)后跟精度值:如果转换的是实数,精度值就表示出现在小数点后的位数。如果转换的是字符串,那么该数字就表示最大字段宽度。如果是*,那么精度将会从元组中读出。

  (5)转换类型

  d\i    带符号的十进制整数

  o      不带符号的八进制

  u      不带符号的十进制

  f\F    十进制浮点数

  r      字符串,使用repr转换任意python对象

  s      字符串,使用str转换任意python对象

[3.4] 字符串方法

  字符串方法完全来源于string模块。

[3.4.1] find

  find方法可以在一个较长的字符串中查找子字符串。它返回子串所在位置的最左端索引。如果没有找到则返回-1.字符串的find方法并不返回布尔值,如果返回的是0,则证明在索引0位置找到了子串。

  rfind、index、rindex、count、startwith、endswith

[3.4.2] join

  join方法是split方法的逆方法,用来在队列中添加元素。sep.join(seq)

[3.4.3] lower

  lower返回字符串的小写字母版。upper返回字符串的大写字母版。

  islower、capitalize、swapcase、title、istitle、upper、isupper

  标题转换:title方法,会将字符串转换为标题---也就是所有单词的首字母大写,而其他字母小写。

  另外一个string模块的capwords函数:string.capwords("that's all ,folks!")

  "That's All.Folks!"

[3.4.4] replace

  replace方法返回某字符串的所有匹配项均被替换之后得到的字符串。

[3.4.5] split

  它是join的逆方法,用来将字符串分割成序列。注意,如果不提供任何分隔符,程序会把所有空格作为分隔符(空格、制表、换行等)。

[3.4.6] strip  

  strip方法返回除去两侧空格的字符串,也可以指定需要除去的字符,将它们列为参数即可,并且只会去除两侧的字符。

[3.4.7] translate

  translate和replace方法一样,可以替换字符串中的某些部分。translate方法只处理当个字符。它的优势在于可以同时进行多个替换,有时比replace效率高得多。

3.5 小结

  字符串格式化:格式化操作符%

  字符串方法

[3.5.1] 新的函数

  string.capwords(s[,sep])  使用split函数分割字符串s(以sep为分隔符),使用capitalize函数将分割得到                 的各单词首字母大写,并且使用join函数以sep为分隔符将各单词连接起来。

  string.maketrans(from,to)  创建用于转换的转换表。

  

Python基础教程【读书笔记】 - 2016/7/18的更多相关文章

  1. 【索引】Objective-C基础教程-读书笔记

    第1章 启程 http://www.cnblogs.com/duxiuxing/p/5492219.html 第2章 对C的扩展 第3章  面向对象编程的基础知识 第4章 继承 第5章 复合 第6章 ...

  2. 《python基础教程》笔记之 异常

    按自己的方式出错 使用raise语句引发一个异常,可以使用一个类(应该是Exception的子类)或者实例参数来作为raise的引发对象.使用类时,程序会自动创建实例,如 >>> r ...

  3. 《python基础教程》笔记之 序列通用操作

    索引 序列中的所有元素都是有编号的--从0开始递增.使用负数索引时,Python会从右边,也就是从最后一个元素开始计数,最后一个元素的位置编号是-1.此外,字符串是一个有字符组成的序列,字符串字面值可 ...

  4. 《python基础教程》笔记之 基础知识

    数字相关 在Python程序前加上 from __future__ import division 或者在解释器里面直接执行它,或者通过命令行运行Python时使用命令开关-Qnew,会使单斜线不再整 ...

  5. SQL基础教程读书笔记-1

    查询基础 2.2 算数运算符和比较运算符 2.2.1算数运算符 + - * / 需要注意NULL 5 + NULL 10 - NULL 1 * NULL 4 / NULL NULL / 9 NULL ...

  6. 【Objective-C基础教程-读书笔记】第1章 启程

    在第1章里面,作者主要以一种站在世界中心呼唤爱的姿态,给读者们打打鸡血洗洗脑,鼓励大家,投入时间学习Objective-C,值得啊! 首先,Objective-C既能用来开发OS X平台上的APP,又 ...

  7. 《python基础教程》笔记之 抽象

    创建函数 记录函数,在函数的开头写下字符串,它就会作为函数的一部分进行存储,这称为文档字符串,如 def square(x): 'Caculates the square of the number ...

  8. 《python基础教程》笔记之 条件语句和循环语句

    布尔变量 下面的值会被解释器看做假(false): False None 0 "" () {} [] 其它的一切都被解释为真. >>> TrueTrue>& ...

  9. 《python基础教程》笔记之 其它语句1

    print 相关 print可以打印多个表达式,只要将它们用逗号隔开就好,结果中每个参数之间都会插入一个空格,使用+可以避免空格,如 >>> print 'age:',42age: ...

  10. 《python基础教程》笔记之 字典

    字典创建 字典由多个键值对组成,每个键和对应值之间用冒号隔开,项之间用逗号隔开,而整个字典用一对大括号括起来,如 >>> phonebook={'alice':'0123', 'Be ...

随机推荐

  1. half extents

    blue line is hypotenuse From there you can simply linearly add Pi/4 to the angle (45 degrees), then ...

  2. 北京电子科技学院(BESTI)实验报告3

    北京电子科技学院(BESTI)实验报告3 课程: 信息安全系统设计基础 班级:1452.1453 姓名:(按贡献大小排名)周恩德 .郑凯杰 学号:(按贡献大小排名)20145217 .201453 指 ...

  3. JAVA06数组之动手动脑问题解决

     一.随机生成10个数,填充一个数组,然后用消息框显示数组内容,接着计算数组元素的和,将结果也显示在消息框中. 1.设计思路:首先生成10个随机数,然后存放至长度至少是10的数组中,然后计算10个随机 ...

  4. 异常处理和JDBC

    1.异常: 格式:try{ 要执行的可能出现异常的语句 } catch(Exception e){ 对异常进行处理的语句 }    finally{    一定会被处理的语句 //可以不写 } 当需要 ...

  5. [LeetCode] Add Two Numbers

    You are given two linked lists representing two non-negative numbers. The digits are stored in rever ...

  6. NOIp 2014 #2 联合权值 Label:图论 !!!未AC

    题目描述 无向连通图G 有n 个点,n - 1 条边.点从1 到n 依次编号,编号为 i 的点的权值为W i ,每条边的长度均为1 .图上两点( u , v ) 的距离定义为u 点到v 点的最短距离. ...

  7. NHibernate和 FluentNHibernate

    NHibernate有两类配置文件,一个是数据库连接配置文件(一般写到程序配置文件里),另一个是数据表和实体的映射文件(实体类.hbm.xml) 开源的框架Fluent NHibernate,有了它, ...

  8. Java集合---HashSet的源码分析

    一.  HashSet概述: HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持.它不保证set 的迭代顺序:特别是它不保证该顺序恒久不变.此类允许使用null元素. 二.  ...

  9. 54. 八皇后问题[eight queens puzzle]

    [本文链接] http://www.cnblogs.com/hellogiser/p/eight-queens-puzzle.html [题目] 在8×8的国际象棋上摆放八个皇后,使其不能相互攻击,即 ...

  10. TWICImage.SaveToStream内存泄漏的解决办法

    这个BUG从2010到XE5一直没改.....只能自己写个函数来搞了 uses ActiveX; procedure WICImageSaveToStream(AWICImage: TWICImage ...