访问字符串的时候,常常会访问字符串某个位置或者字符串的子集(回想下数学中子集的概念),标准方法如下:
variable_name[idx]
variable_name[索引开始:索引结束+1]
注意:上述中括号中的冒号前指的是字符串开始的索引,冒号后指的是字符串结束的索引+1
例如,字符串"www.cvtutorials.com"
中,如果我们想访问"cvtutorials"
,那么输入如下代码:
cvtutorials = "www.cvtutorials.com"
cvtutorials[4:15]
c的索引是4(注意索引是从0开始),s的索引是14,所以需要加1,变为15。运行结果如下:
>>> cvtutorials = "www.cvtutorials.com"
>>> cvtutorials[4:15]
'cvtutorials'
字符串拼接就是将两个字符串连接起来,如字符串"cvtutorials"
和".com"
两个字符串连接起来就是"cvtutorials.com"
,最简单的实现方式就是直接相加,代码如下所示:
"cvtutorials" + ".com"
运行结果如下所示:
>>> "cvtutorials" + ".com"
'cvtutorials.com'
python也内置了一个东西,.join()用来拼接字符串,代码如下所示:
>>> domain_ele = ["cvtutorials", ".com"]
>>> "".join(domain_ele)
'cvtutorials.com'
a.join(b)表示将b中的每个元素之间用a连接起来,上面代码中,a即是“”,b即是domain_ele
在打印字符串的时候,有时候我们会碰到一种情况,比如输出一个字符串:“My domain name is “www.cvtutorials.com””
如果直接输入并运行,会报错:
>>> "My domain name is "cvtutorials.com""
File "<stdin>", line 1
"My domain name is "cvtutorials.com""
^
SyntaxError: invalid syntax
其实,我们是想输出一个双引号的,可是双引号在python语法中也有表示字符串开始和结束的意思,编译器无法智能判断你的意思,所以我们需要告诉编译器哪个是我们想输出的双引号,我们可以通过转义字符\来实现。
转义字符就是用反斜杠将某些字符转换成其他的意思,比如前面的目的就可以这样来实现:
>>> "My domain name is \"cvtutorials.com\""
'My domain name is "cvtutorials.com"'
这种和转义字符搭配使用的方法,常见的还有:\'(转义为原始单引号), \n(转义为换行符), \t(转义为横向制表符)
python中内置了很多字符串处理方法,可以方便我们快速对字符串进行一些操作。这些字符串处理方法大致可以分为判断类、大小写类、处理类、查询类等。不过,在此之前,让我们先来看看一个最为基本的字符串方法len(),len是length的简写,可以用来获取字符串的长度:
>>> a = "cvtutorials.com"
>>> len(a)
15
string.isalnum():isalnum是is alpha or number的简写,判断是否全为字母或数字
>>> "cvtutorials23com".isalnum()
True
>>> "cvtutorials.com".isalnum()
False
string.isalpha():判断字符串是否全字母
>>> "cvtutorialscom".isalpha()
True
>>> "cvtutorials.com".isalpha()
False
string.isnum():判断字符串是否全数字
>>> "123342".isdigit()
True
>>> "cvtutorials.com".isdigit()
False
string.islower():判断字符串是否全小写
>>> "cvtutorials.com".islower()
True
>>> "cvtutorials.COM".islower()
False
string.isupper():判断字符串是否全大写
>>> "CVTUTORIALS.COM".isupper()
True
>>> "cvtutorials.COM".isupper()
False
string.startwith():判断字符串是否以某个字符开头
>>> "cvtutorials".startswith("cv")
True
string.endwith():判断字符串是否以某个字符结束
>>> "cvtutorials".endswith("tutorials")
True
string.capitalize():capitalize这个方法将字符串首字母变成大写
>>> "cvtutorials.com".capitalize()
'Cvtutorials.com'
string.title():将字符串首字母变成大写
>>> "cvtutorials.com".title()
'Cvtutorials.Com'
capitalize()方法只有第一个单词的字母大写,而title()会将每个单词大写。
string.upper():这个方法将字符串字母变成大写
>>> "cvtutorials".upper()
'CVTUTORIALS'
string.lower():这个方法将字符串字母变成小写
>>> "cvtutoRIALS".lower()
'cvtutorials'
string.swapcase():这个方法将字符串大小写字母翻转
>>> "cvtutorials.COM".swapcase()
'CVTUTORIALS.com'
string.lstrip():删去字符串左边空格lstrip
>>> " cvtutorials ".lstrip()
'cvtutorials '
string.rstrip():删去字符串右边空格rstrip
>>> " cvtutorials ".rstrip()
' cvtutorials'
string.strip():字符串去掉两边空格strip
>>> " cvtutorials ".strip()
'cvtutorials'
string.split():字符串分割方法,通过指定分隔符对字符串进行分割,也可以指定分割为几个子字符串,如:
>>> "www.cvtutorials.com".split(".", 2)
['www', 'cvtutorials', 'com']
>>> "www.cvtutorials.com".split(".", 1)
['www', 'cvtutorials.com']
小括号中的“”里面是分隔符,这里是点。小括号里面有个数字,可以理解为分割的次数。第一行代码的意思就是使用分隔符.将"www.cvtutorials.com"这个字符串分割2次,下一行就是分割后的结果
string.zfill(width):如果string的长度大于等于width,那么返回string本身,如果string长度小于width,这个方法会返回指定长度width的字符串,并且前面填充为0,如:
>>> "cvtutorials".zfill(20)
'000000000cvtutorials'
>>> "cvtutorials".zfill(3)
'cvtutorials'
string.find(sub_string):从string中找到sub_string的开始的索引
>>> "cvtutorials".find("tutorials")
2
python中索引下标值从0开始
string.index:返回子字符串的开始索引
>>> "cvtutorials".index("tutorials")
2
string.count:返回字符串
>>> "cvtutorials".count("t")
2不断
在本章中,我们在运行代码的时候,常常要输入长长的字符串,而且每次都一样,用掉了大量时间,效率有点低下:p,这时候我们突然想起前面的前面的变量,哦吼。
>>> a = "cvtutorials.com"
>>> a.isalnum()
False
>>> a.isdigit()
False
只需要输入一个a就达到同样的效果,是不是舒服很多:p