优雅的字符串

前言

记得我在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. NS5S1153 切換器

    昨天在研讀 NS5S1153 的 spec, 發現有一個詞 很陌生 DPDT, 原來是 double pole double throw 的縮寫,雙軸雙切, 更詳細的解釋可以看這個博客的另一篇 &qu ...

  2. jquery 中的post和get方法同步问题

    解决方法: 在需要同步的js代码前修改ajax的async属性. 有两种设置方法: 1: $.ajaxSettings.async = false; 2: $.ajaxSetup({ async : ...

  3. AC日记——第K大的数 51nod 1105

    1105 第K大的数 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题  收藏  关注 数组A和数组B,里面都有n个整数.数组C共有n^2个整数,分别是A[0] * ...

  4. python笔记7:优雅的python

    7. 如何让python代码更 Pythonic : 1.变量交换: a, b = b, a 2.带有索引位置的集合遍历: colors = ['red', 'green', 'blue', 'yel ...

  5. Codeforces 761D Dasha and Very Difficult Problem(贪心)

    题目链接 Dasha and Very Difficult Problem 求出ci的取值范围,按ci排名从小到大贪心即可. 需要注意的是,当当前的ci不满足在这个取值范围内的时候,判为无解. #in ...

  6. weblogic10.3.6忘记用户名或者密码的解决方法

    weblogic安装后,忘记访问控制台的用户名或者密码,可通过以下步骤来重置用户名密码. 版本:WebLogic Server 10.3 说明:%DOMAIN_HOME%:指WebLogic Serv ...

  7. quick-coco2d下的事件

    qucik下的事件机制很简洁,也很简单,能够处理大多数的自定义时间,我们新建一个类型,然后用扩展的方式实现事件,之前quick的文档上很详细,但是很悲哀,傻逼的的网站现在是404,记下来,怕到时候忘记 ...

  8. iOS -- iOS11新特性,如何适配iOS11

    前言 这几天抽空把WWDC的Session看了一些,总结了一些iOS11新的特性,可能对我们的App有影响,需要我们进行适配.本文作为一个总结. 本文内容包括:集成了搜索的大标题栏.横向选项卡栏.Ma ...

  9. GCC编译笔记

    需要移植一个vs2008的项目到linux上,代码比较复杂,重新写比较困难,于是开始折腾 首先移植到codeblocks上,sprints_s这类的vs函数都要改,windows调用要改 编译通过 c ...

  10. leetcode-Symmetric Tree 对称树

    Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). For e ...