希望通过博客园持续的更新,分享和记录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. Spring7:基于注解的Spring MVC(下篇)

    Model 上一篇文章<Spring6:基于注解的Spring MVC(上篇)>,讲了Spring MVC环境搭建.@RequestMapping以及参数绑定,这是Spring MVC中最 ...

  2. 翻译:使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 3

    原文地址:http://ddmvc4.codeplex.com/ 原文名称:Design and Develop a website using ASP.NET MVC 4, EF, Knockout ...

  3. 动态给div中新增html

    小颖最近接触的项目中用到了    innerHTML 所以小颖今天就自己做了个demo,当当当当代码请看下方: 页面效果:

  4. ES6笔记一

    遍历数组: 1:传统的 for (var index = 0; index < myArray.length; index++) { console.log(myArray[index]);} ...

  5. Hive Over HBase

    1. 在hbase上建测试表 hbase(main)::> create 'test_hive_over_hbase','f' row(s) in 2.5810 seconds hbase(ma ...

  6. 计算机病毒实践汇总四:netcat使用方法

    在尝试学习分析的过程中,判断结论不一定准确,只是一些我自己的思考和探索.敬请批评指正! 1. netcat概述 (1)特性 "TCP/IP协议栈瑞士军刀",可以被用在支持端口扫描. ...

  7. LPC43xx SGPIO Pattern Match Mode

    模式匹配 所有位串均具有模式匹配功能. 该功能可用于检测启动代码等.要使用该功能,则必须用需匹配的模式来对REG_SS 编程 (请注意, POS 达到零时 REG_SS 不会与 REG  交换!) M ...

  8. groovyConsole — the Groovy Swing console

    1. Groovy : Groovy Console The Groovy Swing Console allows a user to enter and run Groovy scripts. T ...

  9. [转载]有了 malloc/free 为什么还要 new/delete ?

      malloc 与free 是C++/C 语言的标准库函数,new/delete 是C++的运算符.他们都可以用于申请动态内存和释放内存.      对于非内部数据类型的对象(如类对象)而言,光用m ...

  10. 华为OJ平台——密码强度等级

    题目描述: 密码按如下规则进行计分,并根据不同的得分为密码进行安全等级划分. 一.密码长度: 5 分: 小于等于4 个字符 10 分: 5 到7 字符 25 分: 大于等于8 个字符 二.字母: 0  ...