优雅的字符串

前言

记得我在Python学习总结第一篇中有提到字符串,那个可以算是先打个招呼吧,因为没有提到任何关于字符串的处理方法。今天,给大家详细讲解一下Python中字符串的使用方法,如有不当或不足之处,还请大家指出及补充,先谢过。

基本字符串操作

对于序列的操作,我们马上可以想到的都有什么?索引?分片?乘法?判断成员资格?求长度?求最大最小值?没错,在字符串的领域中,我们也同样可以适用。不过,千万千万要牢记一点:字符串是不可变的。所以,在字符串中实施分片赋值是不可以的辣。

字符串格式化

谈到字符串格式化,实在是很平常的啦,C++里我们都是怎么样用的?memset?那么在Python中呢,字符串格式化的操作符就是百分号%来表示。

注意:%也可以用作取模运算。

字符串格式化方法:在字符串中需要格式化的地方一律用%s来表示。然后输出的时候在%的左侧放置一个字符串(需要格式化的字符串),右侧放置需要用来格式化字符串的值(可以是一个数字或者一个字符串,也可以是包含多个值的元组或者字典)。

注意:%s和用来格式化字符串的值的个数必须要相同。

格式化字符串中的%s 部分称为转换说明符,它标记了需要插入转换值的位置。如果要格式化实数(浮点数),可以使用f说明符,同时提供需要的精度:一个句点再加上希望保留的小数位数(后面也有讲解到)。

模板字符串:通过调用字符串中模板方法来格式化字符串。具体方法:substitute模板方法会用传递过来的关键字参数foo替换字符串中的$foo。

运行结果如下:

基本的转换说明符:

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

(2)转换标志(可选):-表示左对齐(默认为右对齐),+表示在转换值之前要加上正负号,0表示转换值若位数不够则用0填充。

(3)%后最小字段宽度(可选):转换后的字符串至少应该具有该值指定的宽度。

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

字符串方法

find:在一个较长的字符串中查找子字符串,它返回子串所在位置的最左端索引,如果没有找到就返回-1。

join:在队列中添加元素。

lower:返回字符串中的字母小写化版本。

title/capwords:将字符串转换成为标题(即所有单词的首字母大写,其他字母小写)

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

split:是join的逆方法,将字符串分割成序列。(如果不提供任何分隔符,程序会默认所有空格作为分隔符)

strip:返回去除两侧(不包括内部)空格的字符串。也可以指定需要去除两侧的字符,将它们列为参数即可。

lstrip和rstrip。

translate:和replace方法一样,可以替换字符串中的某些部分,但是和前者不同的是,translate方法只处理单个字符。它的优势在于可以同时进行多个替换。在使用translate转换之前,需要事先完成一张转换表(你猜想到了吗),我们可以使用string模块中的maketrans函数就行。

maketrans函数接受两个参数:两个等长的字符串,表示第一个字符串中的每个字符都用第二个字符串中相同位置的字符替换。

Python学习总结之三 -- 优雅的字符串的更多相关文章

  1. Python学习系列(三)(字符串)

    Python学习系列(三)(字符串) Python学习系列(一)(基础入门) Python学习系列(二)(基础知识) 一个月没有更新博客了,最近工作上有点小忙,实在是没有坚持住,丢久又有感觉写的必要了 ...

  2. python学习之基础入门,安装,字符串,数据转换,三元运算符

    python基础 我们要开始学习新的编程语言了,加油~~ python是“世界上最好的语言”,学习它当然是认为它是最好的所以我们才学(人生苦短我学python),python运用于不同的领域,采集分析 ...

  3. Python学习笔记(三)字符串类型及其操作(2)

    1.字符串的表示 字符串是字符的序列表示,可以由一对单引号(‘).双引号(“)或三引号(’‘’)构成.其中,单引号.双引号和三引号都可以表示单行字符串,但是只有三引号可以表示多行字符串 在使用双引号时 ...

  4. python学习笔记(二)— 字符串(string)

    字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: var1 = 'Hello World!' var2 ...

  5. Python 学习笔记(6)— 字符串格式化

    字符串格式化处理 远古写法 以前通常使用运算符号 % ,%s 插入的值 String 类型,%.3f 指插入的值为包含 3 位小数的浮点数: format1 = "%s, %s!" ...

  6. Python学习笔记(四)字符串型

    字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 在最新的Python 3版本中,字符串是以Unicode编码的,也就是说,Python的字符串支持多语言 ...

  7. Python学习总结7:随机字符串和随机数

    Python生成随机数与随机字符串,需要import random模块.random模块最常用的几个函数如下: 1. random.random(a, b) 用于生成一个0到1的随机符点数: 0 &l ...

  8. Python学习笔记总结1:字符串表示str与repr的用法比较

    参考博文地址:http://blog.csdn.net/yyt8yyt8/article/details/7030416 值转化为字符串常用以下三种方法: 1. str函数 str函数转化为合理形式的 ...

  9. python学习day4--python基础--元组,字符串

    1.元组 #只读列表,元组,当希望生成后不被修改则用元组 r=(1,2,3,4,5) 元组 2.字符串,python字符串操作非常丰富,编程时可先查询python本身是否已设计了相关函数 #移除空白 ...

随机推荐

  1. 《Linux内核Makefile分析》之 auto.conf, auto.conf.cmd, autoconf.h【转】

    转自:http://blog.sina.com.cn/s/blog_87c063060101l25y.html 转载:http://blog.csdn.net/lcw_202/article/deta ...

  2. 安卓edittext实现输入数字限制条件的效果

    我们知道edittext能指定输入字符类型,这次我们就来了解下在数字模式下的一些显示控制输入的效果 1.限制输入数字 android:inputType="number|numberDeci ...

  3. react native windows create bundle folder

    生成bundle 文件 命令 react-native bundle --platform android --dev false --entry-file index.js --bundle-out ...

  4. Android学习--RecyclerView

    前面一篇总结了ListView,在这篇我们总结一些这个RecyclerView,我们就从最基本的开始,安卓团队是将RecyclerView定义在support库当中的,因此想要使用RecyclerVi ...

  5. 深入浅出 Cocoa 之 Core Data(1)- 框架详解

    深入浅出 Cocoa 之 Core Data(1)- 框架详解 罗朝辉(http://blog.csdn.net/kesalin) CC 许可,转载请注明出处 Core data 是 Cocoa 中处 ...

  6. Beginning Auto Layout Tutorial in iOS 7: Part 1

    可以更好的结局屏幕方向和兼容iphone和ipad的解决方案. iOS6有一个新的技术auto layout来帮助解决这个问题.这个技术不仅可以支持app不同尺寸下的开发,而且你也不需要为每一种语言创 ...

  7. 有关javaScript面向对象和原型笔记

    javaScript是一种比較特殊的语言,ECMAScript中没有类的概念.跟其它面向对象的语言有一定的差别.它的对象也与基于类的语言中的对象有所不同,严格来说,javascript对象是一组没有特 ...

  8. MySQL主从同步异常问题解决Client requested master to start replication from position > file size

    MySQL主从同步异常问题解决Client requested master to start replication from position > file size 一.问题描述 MySQ ...

  9. 转: maven打可执行的jar包以及classpath设置

    from:  http://drizzlewalk.blog.51cto.com/2203401/416508

  10. PHP树生成迷宫及A*自己主动寻路算法

    PHP树生成迷宫及A*自己主动寻路算法 迷宫算法是採用树的深度遍历原理.这样生成的迷宫相当的细,并且死胡同数量相对较少! 随意两点之间都存在唯一的一条通路. 至于A*寻路算法是最大众化的一全自己主动寻 ...