Python学习2——使用字符串(完整版)
"""
在C语言入门的时候字符串没有好好学习,导致后期语言根本没有入门,
更导致之后大量的codeing时间浪费,效率低下。
因此,借助这次Python入门,好好地将字符串这一节学一学,弥补一下。
"""
1、字符串基本操作
前边已经说过,所有标准序列操作都适用于字符串,但字符串是不可变的,因此,所有元素的赋值和切片赋值操作都是非法的。
2、设置字符串的格式(完整版)
字符串设置方法很多,在这里主要是调用方法format,并提供要设置其格式的值。
3、字符串方法 center find join lower replace split strip translate is开头的方法
#center 通过在两边添加填充字符(默认为空格)让字符串居中
>>> "The middle by Jimmy Eat World".center(39)
' The middle by Jimmy Eat World '
>>> "The middle by Jimmy Eat World".center(39,"*")
'*****The middle by Jimmy Eat World*****' #find 在字符串中寻找子串 ,如果找到,返回子串的第一字符的索引,否则返回-1
>>> sentence="jiameng is a very cool boy"#空格也是字符串的一部分
>>> sentence.find("is")
8
>>> sentence.find("world")
-1
>>> sentence.find("cool")
18
>>> sentence.find("cool",0,6)#指定了搜索的起点和终点
-1 #join 非常重要的字符串方法,其作用与split相反,用于合并序列的元素。
#所合并序列的元素都必须是字符串
>>> list1=[1,2,3,4,5]
>>> str="+++"
>>> list2=['','','','','']
>>> str.join(list1)
Traceback (most recent call last):
File "<pyshell#177>", line 1, in <module>
str.join(list1)
TypeError: sequence item 0: expected str instance, int found
>>> str.join(list2)
'1+++2+++3+++4+++5' #lower 返回字符串的小写版本
#可用于检查列表中是否存在某个元素,但又不想区分大小写的时候比较有用
>>> str="The World is Very Beautiful ! @17801231733.COM"
>>> str.lower()
'the world is very beautiful ! @17801231733.com' #replace 将指定子串都替换为另一个字符串,并返回替换后的结果。可用于批量查找替换
'the world is very beautiful ! @17801231733.com'
>>> str="jiameng is so cool ! I like jiameng!"
>>> str.replace("jiameng","beiyou")
'beiyou is so cool ! I like beiyou!' #split 是一个非常重要的字符串方法,作用与join相反,用于将字符串拆分为序列
>>> '1+2+3+4+5'.split("+")
['', '', '', '', '']
>>> "C:home/file/homeworks/math".split("/")
['C:home', 'file', 'homeworks', 'math']
>>> "Jiameng is very beautiful !".split()#如果没有指定分隔符,将会在单个或者连续的空白字符(空格、制表符、换行符号等)处进行拆分
['Jiameng', 'is', 'very', 'beautiful', '!'] #strip 将字符串开头和结尾的空白(不包含中间的空白)删除,并返回删除后的结果
#这个方法也很有用,就像lower一样,如果用户不小心多输入了空格,你仍然能够找到对应的元素
>>> str=" good! good! very good! "
>>> str.strip()
'good! good! very good!'
>>> str="**** googd! good ** very good! ***"
>>> str.strip("*")
' googd! good ** very good! ' #translate 与replace一样替换字符串中的指定部分,但是不同的是,replace只能替换单字符,但是translate可以同时替换多个字符,因此效率比replace高。
#但是使用translate 之前,必须创建一个转换表。这个转换表指出了不同Unicode码点之间的转换关系。
要创建转换表,可对字符串str调用方法maketrans ,这个方法接收两个参数:两个长度相同的字符串,他们指定要将第一个字符串中的字符都替换为第二个字符串中相应位置的字符。
>>> table=str.maketrans("ac","bd"," ")#还可以添加第三个参数,指定要将哪些字母删除
>>> str="aaa ccc OK!"
>>> table
{97: 98, 99: 100, 32: None}#table 里是Unicode码点之间的映射
>>> str.translate(table)
'bbbdddOK!'
本章新介绍的函数:
函数 | 描述 |
string.capwords(s[ ,sep) | 使用spilt根据sep拆分s,将每一项的首字母大写,再以空格为分隔符将它们合并起来 |
ascii(obj) | 创建指定对象的ASCII表示 |
未完待续......
Python学习2——使用字符串(完整版)的更多相关文章
- Python学习-第二天-字符串和常用数据结构
Python学习-第二天-字符串和常用数据结构 字符串的基本操作 def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1 ...
- 国内某Python大神自创完整版,系统性学习Python
很多小伙伴纠结于这个一百天的时间,我觉得完全没有必要,也违背了我最初放这个大纲上来的初衷,我是觉得这个学习大纲还不错,自学按照这个来也能相对系统的学习知识,而不是零散细碎的知识最后无法整合,每个人的基 ...
- Python分布式爬虫打造搜索引擎完整版-基于Scrapy、Redis、elasticsearch和django打造一个完整的搜索引擎网站
Python分布式爬虫打造搜索引擎 基于Scrapy.Redis.elasticsearch和django打造一个完整的搜索引擎网站 https://github.com/mtianyan/Artic ...
- Python学习杂记_3_字符串操作的常用方法
字符串操作 字符串是可以通过下标来进行取值的,但是由于字符串是不可变变量,不能通过下标来修改它的值(形式如 字符串[下标]),下标从0开始,最大下标值是字符串长度减1,即len(string)-1 P ...
- python学习笔记(字符串操作、字典操作、三级菜单实例)
字符串操作 name = "alex" print(name.capitalize()) #首字母大写 name = "my name is alex" pri ...
- Python实现简单的Web完整版(一)
在拖了一周之后,今天终于在一个小时之内将一个迷你的Web写出来了,最近改其它项目的bug头好大,但是好喜欢这样的状态. 黑色的12月,所有的任务都聚集在了12月,然后期末考试也顾不上好好复习了,但是但 ...
- Python学习笔记3—字符串
原始字符串 使用\转义或者r,这种方法在网站设置网站目录结构的时候非常管用. >>> dos="c:\news" >>> print dos c ...
- 【Python学习笔记】字符串操作
字符串的表示 python中的字符串是一个常量,可以使用单引号'',双引号""或三引号""" """来创建一个字符串常量 ...
- python学习之初识字符串
刚接触一门语言时,字符串是很容易遇到的, 例如要从读入或者写出, 字符串与数字间的转换等. 由于字符串, 列表和元组等类型具有一定的共性(由对象组成的序列,如字符串是字符序列), 在Python中统称 ...
随机推荐
- leveldb源码分析之Slice
转自:http://luodw.cc/2015/10/15/leveldb-02/ leveldb和redis这样的优秀开源框架都没有使用C++自带的字符串string,redis自己写了个sds,l ...
- TCP首部的TimeStamp时间戳选项 转载
TCP应该是以太网协议族中被应用最为广泛的协议之中的一个,这里就聊一聊TCP协议中的TimeStamp选项.这个选项是由RFC 1323引入的,该C建议提交于1992年.到今天已经足足有20个年头.只 ...
- include指令与jsp:include动作标识的区别
include指令: 文件包含指令include是jsp的另一条指令标识.通过该指令可以在一个jsp页面中包含另一个jsp页面.不过该指令是静态包含,也就是说被包含文件中所有内容会被原样包含到jsp页 ...
- elasticsearch _source
默认地,Elasticsearch 在 _source 字段存储代表文档体的JSON字符串.和所有被存储的字段一样, _source 字段在被写入磁盘之前先会被压缩.这个字段的存储几乎总是我们想要的, ...
- Flask-login Question
1 未登录访问鉴权页面如何处理? 如果未登录访问了一个作了 login_required 限制的 view,那么 Flask-Login 会默认 flash一条消息,并且将重定向到login_view ...
- 第11组 Beta冲刺(1/5)
第11组 Beta冲刺(1/5) 队名 不知道叫什么团队 组长博客 https://www.cnblogs.com/xxylac/p/11913626.html 作业博客 https://www. ...
- arcpy.UpdateCursor和arcpy.da.UpdateCursor计算面积时间的比较
arcpy.UpdateCursor ####################### import arcpy from arcpy import env import os import sys f ...
- Kotlin入门-文件读写操作
转 https://blog.csdn.net/aqi00/article/details/83241762 Java的文件处理用到了io库java.io,该库虽然功能强大,但是与文件内容的交互还得通 ...
- RotateDrawable
用来对Drawable进行旋转,也是通过setLevel来控制旋转的,最大值也是:10000 相关属性如下: fromDegrees:起始的角度,,对应最低的level值,默认为0 toDegrees ...
- 009-DNS域名解析系统
一.概述 DNS是域名系统(DomainNameSystem)的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务.域名是由圆点分开一串单词或缩写组成的,每一个域名都对应一个惟一的IP地址,在I ...