Python修行之路之字符串(二)修改、查找、格式化

字符串修改
replace(old,new[,count]) - > str
字符串中找到匹配替换为新子串,返回新字符串
count表示替换几次,不指定就是全部替换
原字符串为一个常量,不可变。修改返回的为新子串
strip([chars]) - > str
从字符串两端去除指定字符集chaars中的所有字符
如果chars没有指定,去除两端的空白字符
空白字符、就是指看不见的字符如\r\n\t空格 空白字符,空串确实为空
lstrip([chars]) - > str
从左开始
rstrip([chars]) - > str
从右开始
字符串查找
find(sub[,start[,end]]) - > int
在指定的区间[start,end),从左至右,查找子串sub。找到返回索引,没找到返回-1
顺序查找,不可能跳跃查找
rfind(sub[,start[,end]]) - > int
在指定的区间[start,end),从右至左,查找子串sub。找到返回索引,没找到返回-1

    index(sub[,start[,end]]) - > int
        在指定的区间[start,end),从左至右,查找子串sub.找到返回索引,没找到抛出ValueError
    rindex(sub[,start,[end]]) - > int
        在指定的区间[start,end),从左至右,查找子串sub.找到返回索引,没找到抛出异常ValueError

               *时间复杂度
                    index和count方法都是O(n)
                    随着列表数据规模的增大,而效率下降
                len(string)
                    返回字符串的长度,即字符的个数
    count(sub[,start[,end]])-> int
        在指定的区间[start,end),从左至右,统计子串sub出现的次数

字符串判断
ends with(suffix[,start[,end]]) - >bool
在指定的区间[start,end),字符串是否是suffix结尾
startswith(prefix[,start,end]]) - > bool
在指定的区间[start,end),字符串是否是prefix开头

    *查找是注意定义范围,默认遍历非常耗时

字符串判断is系列
isalnum() ->bool是否是字母和数字组成
isalpha()是否是字母
isdecimal()是否只包含十进制数字
isdigit()是否全部数字(0-9)
isidentifier()是不是字母和下划线开头,其他都是字母、数字、下划线。
islower()是否都是小写
isupper()是否全部大写
isspace()是否只包含空白字符
字符串格式化
字符串的格式化是一种拼接字符串输出样式的手段,更灵活方便
join拼接只能使用分隔符,且要求被拼接的是可迭代对象
+拼接字符串还算方便,但是非字符串需要先转换为字符串才能拼接
在2.5版本之前,只能使用printf style风格的print输出
printf-style formatting,来自于c语言的print输出
格式要求
占位符:使用%和格式字符组成,例如%s、%d等
s调用str(),r会调用repr().所有对象都可以被这两个转换
占位符中还可以插入修饰字符,例如%03d表示打印3个位置,不够前面补零
format%value格式字符串和被格式的值之间使用%分隔
values只能是一个对象,或是一个和格式字符串占位符数目相等的元组,或一个字典

    *不是所有数字都能精确表达,只能控制在一定范围
    format函数格式字符串语法---Python鼓励使用
        "{}{xxx}".format(*args,**kwargs) - > str
        args是位置参数,是一个元组
        kwargs是关键字参数,是一个字典
        花括号表示占位符
        {}表示按照顺序匹配位置参数,{n}表示取位置参数索引为n的值
        {xxx}表示在关键字参数中搜索名称一致的

        {{}}表示打印花括号

原文地址:http://blog.51cto.com/13531464/2158503

时间: 2024-10-12 03:19:47

Python修行之路之字符串(二)修改、查找、格式化的相关文章

python修行之路(三 模块初识及数据运算类型)

在python修行路上,果不其然的遇到了第一个困处,开始看不懂代码,开始出现理解苦难的现象,这是小白修行路上的正常现象.其实自己是很慌的,感觉很无助,能做的就是把自己学的慢慢记录下来,理一个自己的逻辑,尽量写清楚,写的通俗易懂,为与我类似的修行者做参考. 一.模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,使用时安装调用就好,现在先象征性的学习2个简单的. sys模块--sys pass功能#!/usr/bin/env python# -*- coding: utf-8

python 修行之路(1-自我介绍及python环境的搭建)

一.自我介绍 我是一个代码小白,做的非IT的工作.生活的城市因为电子和IT技术的普遍性(呵呵,其实也和收入有关),也有想学习一门技术的想法,误打误撞的走上了学习Python的道路.其实对于一个纯小白来时,学习真的很难,代码看不懂,甚至课都听不懂,更重要的是,半路出家对于身在职场的人真的难度太大了.不过细想起来,这会不会是一种挑战?会不会是一种机遇?这不正是当初书生意气,仗剑走天涯的感觉么?不管怎样,既然要学就要学好,就算是为了证明我不害怕代码(呵呵).相信向我这样小白走上啃代码道路的人一定会有,

Python修行之路__流程控制

Python和其他语言有一个很大的区别在于:Python 使用硬回车来分割语句,使用冒号(:)和缩进来分割代码块.同一层次的语句必须有相同的缩进(每一组这样的语句称为一个块),而C语言风格的编程语言(Java/C#/C++)则使用分号来分割语句,花括号来分割代码块. (注:不要混合使用tab键和空格来进行缩进,这会使程序在跨平台时不能正常的工作.官方推荐的做法是使用四个空格.) 条件和条件语句 Python条件语句是通过一条或多条语句的执行结果(True或False)来决定执行的代码块.在pyt

Python修行之路__数据类型

Python3中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Dictionary(字典) Set(集合) 在Python中,最基本的数据结构就是序列(sequence).序列的每个元素被分配一个序号—即索引(元素的位置),第一个索引是0,第二个则是1,以此类推. Number(数字) 数值类型: 类型 描述 语法示例 int (整型) 无小数部分的数(python3中只有一种整型类型int(长整型),没有Python2中的Long)

Python学习之路13——字符串2

1只适用与字符串的操作符 1.1格式化操作符(%) Python风格的字符串格式操作符.只适用与字符串类型,非常类似于C语言中的printf()函数的字符串格式化,都是用%,并且支持所有的printf()的格式化操作. 字符串格式化符合如下: %c                     转换成字符(ASCII码值,或者长度为一的字符串)  %r                     优先用repr()函数进行字符串转换  %s                     优先用str()函数进行

python学习之路(十二)

这节主要介绍一下import!很实用的调用模块的功能. 导入模块 是导入真实的代码 而导入包 是导入包下面的 __init__() 文件 这两个是不一样的 先说模块定义 模块 它就是一个 py 文件 它就是负责从逻辑上 组织代码的 代码里面 它可以有变量 有函数 有类 有逻辑 模块 它不是这些东西的简单堆砌 而是要实现功能 创建模块 就是 new 一个 python file 定义一个模块: 在另一个文件中 要使用这个模块 所以要这样来调用: 模块名 点 变量名 模块名 点 方法名 import

Python学习之路-string字符串的常用方法

大小写转换 1 __author__ = "KuanKuan" 2 print("name is JankinYu".capitalize())#转为首字母大写 3 print("name is JankinYu".title())#转为标题形式 Name Is Jankinyu 4 print("NAMW".lower())#转换为小写 5 print("name".upper())#转换为大写 6 pr

Python学习之路3 - 字符串操作&字典

本节内容: 常用的字符串处理. 格式化输出字符串. 字符串的替换. 字符串和二进制的相互转化. 字典的操作 字符串操作 常用的字符串处理 name = 'vector' print(name.capitalize()) # 首字母大写 print(name.count('e')) # 判断字符e在字符串中有多少个 print(name.center(50,'-')) # 一共打印50个字符,将vector放在中间,两边用-填充 print(name.endswith('r')) # 判断字符串以

Python高手之路【十二】面向对象设计模式

单例模式 单例,顾名思义单个实例. class Person: __instance = None def __init__(self): pass @staticmethod def getInstance(): if Person.__instance: return Person.__instance else: Person.__instance = Person() return Person.__instance obj1 = Person.getInstance() print(o