python 字符串(2)
字符串复制
字符串复制的方法:
>>> a = "I like python and can teach you to learn it." >>> print a I like python and can teach you to learn it. >>> b = a >>> print b I like python and can teach you to learn it. >>> print a I like python and can teach you to learn it.
复制非常简单,类似与赋值一样。可以理解为那个字符串本来跟a连接着,通过b=a,a从自己手里分处一股绳子给了b,这样两者都可以指向那个字符串了。
字符串长度
方法:
>>> a="hello" >>> len(a) 5
使用的是一个函数len(object)。得到的结果就是该字符串长度。
>>> m = len(a) #把结果返回后赋值给一个变量 >>> m 5 >>> type(m) #这个返回值(变量)是一个整数型 <type 'int'>
字符大小写的转换
在python中有下面一堆内建函数,用来实现各种类型的大小写转化
- S.upper() #S中的字母大写
- S.lower() #S中的字母小写
- S.capitalize() #首字母大写
- S.istitle() #检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。
- S.isupper() #S中的字母是否全是大写
- S.islower() #S中的字母是否全是小写
看例子:
>>> a = "hiekay,python" >>> a.upper() #将小写字母完全变成大写字母 'HIEKAY,PYTHON' >>> a #原数据对象并没有改变 'hiekay,python' >>> b = a.upper() >>> b 'HIEKAY,PYTHON' >>> c = b.lower() #将所有的小写字母变成大写字母 >>> c 'hiekay,python' >>> a 'hiekay,python' >>> a.capitalize() #把字符串的第一个字母变成大写 'Hiekay,python' >>> a #原数据对象没有改变 'hiekay,python' >>> b = a.capitalize() #新建立了一个 >>> b 'Hiekay,python' >>> a = "hiekay,github" #这里的问题就是网友白羽毛指出的,非常感谢他。 >>> a.istitle() False >>> a = "HIEAKY" #当全是大写的时候,返回False >>> a.istitle() False >>> a = "hiekaY" >>> a.istitle() False >>> a = "Hiekay,github" #如果这样,也返回False >>> a.istitle() False >>> a = "Hiekay" #这样是True >>> a.istitle() True >>> a = 'Hiekay,Github' #这样也是True >>> a.istitle() True >>> a = "Hiekay" >>> a.isupper() False >>> a.upper().isupper() True >>> a.islower() False >>> a.lower().islower() True >>> a = "This is a Book" >>> a.istitle() False >>> b = a.title() #这样就把所有单词的第一个字母转化为大写 >>> b 'This Is A Book' >>> a.istitle() #判断每个单词的第一个字母是否为大写 False >>> b.istitle() True
操作字符串中的字符
在python中按照这样的顺序对字符串进行编号:从左边第一个开始是0号,向下依次按照整数增加,为1、2...,直到最后一个,在这个过程中,所有字符,包括空格,都进行变好。例如:
Hello,wor ld
对于这个字符串,从左向右的变好依次是:
|0|1|2|3|4|5|6|7|8|9|10|11|
|H|e|l|l|o|,|w|o|r| |l |d |
看代码:
>>> a = "Hello,wor ld" >>> len(a) #字符串的长度是12,说明公有12个字符,最后一个字符编号是11 12 >>> a[0] 'H' >>> a[3] 'l' >>> a[9] ' ' >>> a[11] 'd' >>> a[5] ','
特别说明,编号是从左边开始,第一个是0。
能不能从右边开始编号呢?可以。这么人见人爱的python难道这点小要求都不满足吗?
>>> a[-1] 'd' >>> a[11] 'd' >>> a[-12] 'H' >>> a[-3] ' '
看到了吗?如果从右边开始,第一个编号是-1,这样就跟从左边区分开了。也就是a[-1]和a[11]是指向同一个字符。
字符串截取
比如,从“hello,wor ld”里面取出“llo”。可以这样操作
>>> a[2:5] 'llo'
- 注意: 截取a[n,m],其中n<m,得到的字符是从a[n]开始到a[m-1]
注意:所截取部分的第一个字符(l)对应的编号是(2),从这里开始;结束的字符是(o),对应编号是(4),但是结束的编号要增加1,不能是4,而是5.这样截取到的就是上面所要求的了。
特殊的
>>> a[:] #表示截取全部 'Hello,wor ld' >>> a[3:] #表示从a[3]开始,一直到字符串的最后 'lo,wor ld' >>> a[:4] #表示从字符串开头一直到a[4]前结束 'Hell'
去掉字符串两头的空格
- S.strip() 去掉字符串的左右空格
- S.lstrip() 去掉字符串的左边空格
- S.rstrip() 去掉字符串的右边空格
例子:
>>> b=" hello " >>> b ' hello ' >>> b.strip() 'hello' >>> b ' hello ' >>> b.lstrip() 'hello ' >>> b.rstrip() ' hello'
扩展raw_input()
下面共同做一个练习:输入用户名,计算机自动向这个用户打招呼。代码如下:
#coding:utf-8 print "please write your name:" name=raw_input() print "Hello,%s"%name
raw_input()的含义,就是要用户输入内容,所输入的内容是一个字符串。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
[雪峰磁针石博客]python opencv3实例(对象识别和增强现实)1-图像几何转换
原书代码地址 在本章中,我们将学习如何应用酷的几何效果到图像。 知识点 如何安装OpenCV-Python 如何读取,显示和保存图像 如何转换到多个颜色空间 如何应用几何变换,例如平移,旋转,和缩放 如何使用仿射和投影变换来应用几何效果 本书英文版本:OpenCV 3.x with Python By Example 2nd 2018.pdf 更多opencv相关书籍:最佳人工智能图像处理工具OpenCV书籍下载 安装OpenCV-Python 安装 本教程基于python3,ubuntu 16,在windows环境可能可以运行。 Linux #!python pip3 install opencv-python Windows #!python pip install opencv-python 文档: [官网](http://docs.opencv.org/) [opencv-python官方文档](http://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_tutorials.html) 读取显示和...
- 下一篇
Sublimne text3配置python3和robot开发环境
安装Sublime Package Control 1、打开Preferences菜单,并选择 Browse Packages… 2、系统会打开Sublime Text 2的Packages文件夹,回到上一级菜单,然后打开Installed Packages文件夹; 3、下载并将下载的Package Control.sublime-package到 Installed Packages文件夹(注意此处是Installed Packages,不是Packages文件夹); 4、重启Sublime Text 3; 使用Ctrl+Shift+P打开命令行模式,在里面输入Install Package(或IP)即可搜索需要的Package。一般使用“ConvertToUTF8”和“GBK upport”即可正常读取中文字符; 配置Python3编译环境+Robot插件 点击Tools->Build System->new Build System 修改配置文件: { "cmd": ["C:/python37/python.exe", "-u", "$file"], "file_re...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果