Python基础笔记系列八:字符串的运算和相关函数
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!!
- 字符串的运算
1.字符串的加法和乘法
python中不但支持字符串相加,还支持字符串的乘法,使用起来相当方便。加法就是将两个字符串连接在一起,而乘法就是字符串的多次相加。
例子:str8 = 'hello '
str9 = 'world!'
#字符串连接
print str8+str9
#实现10个段横线的输出
print "-"*10
#输出3个hello
print str8*3输出:
hello world!
----------
hello hello hello2.字符串的成员运算符
1)in和not in 运算:in 运算用于判断某个字符或子串是否在字符串中,not in运算符与in 运算相反用于判断某个字符或子串是否不在字符串中。
例子:#如果字符串中包含给定的字符串,返回True
str8 = 'hello '
print 'he' in str8
#如果字符串中不包含给定的字符串,返回True
print 'hc' not in str8输出:
True
True2)字符串的格式化(支持占位符)
例子:#字符串的格式化(支持占位符)
dic = ('yyc',50)
print 'my name is %s,weight is %d kg.'%dic输出:
my name is yyc,weight is 50 kg.
字符串函数
字符串拥有很多函数,下面的例子中是最常用的,以例子来说明。
例子:mystr = 'hello world start leaning and hello and world!'
print mystr.find('and') #查找字符串中第一个'and'出现的位置
print mystr.find('and',27) #从第27的位置开始找
print mystr.find('and',0,len(mystr)) #从第一个字符到字符串结尾找第一个'and'出现的位置,可以缺省start ,end即起止参数
#-----mystr.rfind() 从右开始查找
print mystr.index('and') #和find差不多,但是index中的参数在mystr中不存在则会抛出异常
print mystr.count("and") #统计'and'出现的次数,同样和find一样可以有3个参数
mystr1 = mystr.encode(encoding="utf-8") #按指定编码方式编码
print type(mystr1)
mystr2 = mystr1.decode(encoding="utf-8",errors="strict") #按指定编码方式解码,
#errors参数为strict,如果编码错误会抛出ValueError异常,除非errors指定的是ignore或replace
print mystr2
print type(mystr2)
print mystr.replace('and','or') #字符串替换函数,返回替换后的字符串,但是mystr本身并没有改变,除非mystr=mystr.replace('and','or')
print mystr
print mystr.replace('and','or',1) #只替换一次
print mystr.split(' ') #按照空格进行分割,放到一个列表里
print mystr.split(' ',3)#按照空格分割成4个子串
#****************另外字符串还有很多判断函数(查文档吧,太多了)**********************输出:
26
36
26
26
2
<type 'str'>
hello world start leaning and hello and world!
<type 'unicode'>
hello world start leaning or hello or world!
hello world start leaning and hello and world!
hello world start leaning or hello and world!
['hello', 'world', 'start', 'leaning', 'and', 'hello', 'and', 'world!']
['hello', 'world', 'start', 'leaning and hello and world!']
Python基础笔记系列八:字符串的运算和相关函数的更多相关文章
- Python基础笔记系列十一:标准输入输出、文件读写和指针等操作
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 标准输入输出一.输入 在sublime中这个时候需要安装SublimeRE ...
- Python基础笔记系列一:基本工具与表达式
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 工具基础(Windows系统下)传送门:Python基础笔记系列四:工具的 ...
- Python基础笔记系列七:字符串定义和访问
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 字符串定义和访问 1.字符串基础 a.字符串可以用单引号.双引号.三引号( ...
- Python基础笔记系列三:list列表
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! python中的list列表是一种序列型数据类型,一有序数据集合用逗号间隔 ...
- Python基础笔记系列十四:python无缝调用c程序
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! python语言可以对c程序代码进行调用,以弥补python语言低性能的缺 ...
- Python基础笔记系列十三:socket网络编程
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!!使用python编写一个简易的服务端程序和客户端程序,启动服务端和客户端(监 ...
- Python基础笔记系列九:变量、自定义函数以及局部变量和全局变量
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 变量在前面的系列中也许就可以发现,python中的变量和C中的变量有些许不 ...
- Python基础笔记系列六:字典
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 字典字典的元素是由一对对键值对组成,每一对之间用逗号隔开,将所有的键值对用 ...
- Python基础笔记系列十二:requests模块的简单应用
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! httpbin httpbin这个网站能测试 HTTP 请求和响应的各种信 ...
随机推荐
- Travel---hdu5441(并查集)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5441 题意:是有n个城市,m条边包含u v w:代表u到v的时间是w: 给q的时间x,求在x时间内Ja ...
- 申请startssl免费一年ssl证书(转)
原文:http://www.live-in.org/archives/1296.html 申请过程步骤蛮多的,对于像我这样的小白来说还是截图+文字记录下比较好.浏览器是firefox. 1.打开htt ...
- Keras学习-1
本文基于http://keras-cn.readthedocs.io/en/latest/for_beginners/concepts/提及的知识总结,感谢作者做出的贡献,如有侵权将立即删除 符号计算 ...
- vim 设置字体和解决乱码
在 C:\Program Files (x86)\Vim 目录中的 _vimrc 文件中加入下面两行 set fileencodings=utf-8,gb2312,gb18030,gbk,ucs-bo ...
- 17.如何网页发起QQ聊天
1.被发起的QQ需要再QQ推广开启QQ在线状态http://shang.qq.com/v3/widget.html 2.html代码 <html> <head></hea ...
- HDFS集中式的缓存管理原理与代码剖析
转载自:http://www.infoq.com/cn/articles/hdfs-centralized-cache/ HDFS集中式的缓存管理原理与代码剖析 Hadoop 2.3.0已经发布了,其 ...
- zen-cart 一页支付实现方法
1.下载插件CSS JS Loader 和 Fast and Easy Checkout for Zen Cart,插件请下载附件 2.先把CSS JS Loader覆盖,后台选项点击,点击后,程序会 ...
- Jenkins--持续集成服务器
1.持续集成: 1.1概念 持续集成,Continuous integration ,简称CI. 集成:我们所有项目的代码都是托管在SVN服务器上.每个项目都要有若干个单元测试,并有一个所谓集成测试. ...
- HDU - 4871 Shortest-path tree (最短路径树+ 树分治)
题意:给你一张带权无向图,先求出这张图从点1出发的最短路树,再求在树上经过k个节点最长的路径值,以及个数. 分析:首先求最短路树,跑一遍最短路之后dfs一遍即可建出最短路树. 第二个问题,树分治解决. ...
- ABP官方文档翻译 2.4 日志
日志 服务端 获取记录器 基类日志记录器 配置 Abp.Castle.Log4Net包 客户端 服务端 ABP使用Castle Windsor`s 日志设备.它可以使用不同的日志类库:Log4Net, ...