前面已经介绍过字符串,经过单引号或者双引号表示的一种数据类型。下面就再来进一步的细说一下字符串。字符串是不可变的,当你定义好之后就不能改变它了,能够进一步的说,字符串是一种特殊的元组,元组没有讲到,后面会介绍,这里只是提一下概念,总之,字符串是不可变的。python
在字符串中有一些特殊字符,好比换行\n,制表符\t,回车\r,反斜杠\\等,对于这些特殊字符须要经过“\”反斜杠进行转义,在字符串还涉及一个原始字符串操做符”r”和“R”,这是什么意思呢?看下面代码:git
a = r'abc\nabc\ta'
b = 'abc\nabc\ta'
print(a)
print(b)复制代码
运行结果以下:
api
Python在内置函数中有dir这样一个方法,它的做用就是查看对象全部的属性和方法,好比如今查看一下字符串涉及有哪些方法?bash
print(dir(str))复制代码
经过print将所涉及的方法打印出来。结果我就不给你们展现了,不少不少方法。后面会挑一些经常使用的给你们介绍。微信
len()这个内置函数,就是用来计算长度的。举例以下:app
a = "abc"
print("长度是:",len(a))复制代码
最后输出结果:“长度是: 3”。使用很简单再也不赘述。函数
对于enumerate()这个函数用于遍历序列中的元素以及它们的位置下标,直接看例子:学习
a = "abc"
for n, i in enumerate(a):
print(n,i)复制代码
结果以下:优化
a.capitalize() 将字符串的首字母变为大写,其他的都为小写,例子:this
a = "green"
print(a.capitalize())复制代码
结果本身验证一下,看看“green”是否变为了“Green”
b.title() 每一个单词首字母大写,例子:
a = "this is a apple"
print(a.title())复制代码
结果:“This Is A Apple”
c.lower()和upper() 将字符串变为所有小写和大写,例子:
a = "this is a apple"
print(a.upper())复制代码
结果就不演示了,本身试一下。
d. swapcase() 反转大小写,用法跟上面都是同样的,自行感觉一下
e.这里面还有一波is判断的方法:isnumeric()、isalpha()、isspace()、isalnum()、isdigit()、isdecimal()、islower()、istitle()、isprintable()、isupper()
选其中一个给你们举个例子:
a = "1234"
print(a.isnumeric())复制代码
运行结果:“True”说明字符串a都是由数字组成的,不然为Flase。这些方法就是用来判断的,返回的都是布尔类型。其余方法根据函数名本身试一下。
f.count()用来统计字符串中某个子字符串出现的位置,而且能够选开始和结束的位置。例子:
a = "lajdfljalsjfoiwejfsalfk"
print(a.count("al", 0, len(a)))复制代码
结果为:2,说明“al”字符串在a中出现了2次,在count中有三个参数,第一个参数是要统计的子字符串,第二个参数是开始统计的起始位置,默认为0,从头开始。第三个参数是统计的结束位置,不写默认一直到最后。上面其实能够改成:
a = "lajdfljalsjfoiwejfsalfk"
print(a.count("al"))复制代码
结果是同样的。
g.find()和rfind() 用来查找字符串中是否包含子字符串,若是包含,返回查找到第一个子字符串的位置,若是没有查找到,返回-1,例子:
a = "lajdfljalsjfoiwejfsalfk"
print(a.find("al", 0, len(a)))复制代码
结果为:7,字符串“al”第一次出现的位置索引为7。其中find的参数用法和count是同样的。你们能够本身改写一下。rfind的用法和find差很少,他是查找子字符串出现的最后一次的位置。上面例子能够之间将find变为rfind试一下,看看结果有什么不一样。
h.index()和rindex() 用来查找字符串中是否包含子字符串,若是包含,返回查找到第一个子字符串的位置,若是没有找到,抛出异常。index的用法和find是同样的,惟一的不一样是当没有查找到的时候返回的结果是不同的。剩下用法彻底同样,本身能够经过上面的例子试一下。rindex和rfind()是对应的。
i. endswith() 和startswith()用来判断字符串是否以指定的后缀结尾,若是以指定的后缀结尾返回True,不然返回False。例子:
a = "lajdfljalsjfoiwejfsalfk"
print(a.endswith("fk", 0, len(a)))复制代码
返回结果:“True”说明字符串a是以“fk”结尾的,endswith()三个参数,后面两个参数的用法跟count和find都是同样的,再也不赘述了。startswith()固然就是用来判断以什么开头的了。
j.replace() 将字符串中的某些字符替换为另外字符,变成另外一个新的字符串(由于原字符串不可变)。例子:
a = "aljdfljalsjfoiwejfsalfk"
print(a.replace("al", "ZZZ", 2))复制代码
结果以下:“ZZZjdfljZZZsjfoiwejfsalfk”。细心的同窗可能发现最后的“al”没替换,只替换了两个,这个时候第三个参数就发挥做用了,第三个参数就是用来限定被替换的次数的。例子中的第三个参数2表示最多替换2次。
k.strip(),lstrip()和rstrip() 用来清除字符串左右两边指定的字符(默认为空格)。lstrip()只清除最左边的,rstrip()只清除最右边的。以strip()为例:
a = "aaaabcdaaaaa"
print(a.strip("a"))复制代码
运行结果为:”bcd”。字符串a中的左右两边的字符“a”。
l.splite()和rsplite() 经过指定分隔符对字符串进行分隔,并返回一个分割后的列表。例子:
a = "lajdfljalsjfoiwejfsalfk"
print(a.split("al"))
print(a.split("al",1))复制代码
运行结果:
a = "lajdfljalsjfoiwejfsalfk"
print(a.rsplit("al"))
print(a.rsplit("al",1))复制代码
运行结果:
# -*- coding: <encoding name> -*-复制代码
这样一句话,用来声明文档的编码格式的(其中encoding name是代码所须要的编码格式,它能够是任意一种Python支持的格式,通常都会使用utf-8的编码格式),跟python中默认编码是两回事,要区分开。基础很差的同窗可能对文中的各个编码格式都不太了解,这里我就不一一解释,你们能够本身学习,网上材料不少。这里对编码的问题的描述也不是很详细,也就给你们大概的描述了一下,脑海里留个印象知道有这么个东西,毕竟在python3对字符编解码方面的设计优化的很好了。
对于基础的学习不必一会儿说的太深太细,反而事倍功半,随着往后的学习一点点深刻,天天学习一点点,生活美好一点点。
福利:关注微信公众号,回复 python书,可得到目前python学习的一些承认度比较高的电子书
Tips:上面涉及到的代码。初学者必定要认认真真的本身敲一下,全部的运行的结果我也都在文章中给出来了,千万不要眼高手低。初学者大忌,不少时候本身实现的结果和想象的是不同的。
特此说明:做者的内容均为原创,转载代表出处。因为本人的能力水平有限,若有发现错误和纰漏请联系做者,拜谢!
若是软件安装使用python等内容还有写不明白的同窗能够加入qq群:476581018交流,或者关注微信公众号(快扫下图(●’◡’●))系列文章会在公众号最新发布,欢迎你们持续关注,获取最新更新内容,而且有更多福利等你哦!