Python学习-----字符串
2018-06-26 本文已影响0人
一入风云
Python学习-----字符串
今天我们来说说python中的字符串。通过怎样的表达方式来表示字符串。
一对单引号或一对双引号:
>>> "python"
>>> 'python'
一对三单引号或三双引号:
>>> """python"""
>>> '''python'''
其中一对单引号或一对双引号只能表示单行字符串,而一对三单引号或三双引号能表示多行字符串。
如果说你想在字符串中使用双引号,以及同时使用单、双引号,那么python也给出了解决方法:若字符串中要使用双引号,则在两侧加单引号;若字符串中要使用单、双引号,则在两侧加3单引号。
字符串的提取和切片
字符串的排序是从左到右为:0,1,2,3....;从右到左为:-1,-2,-3...
所以当我们把字符串赋值给某个变量如t时,t[0]代表字符串的第一个值。
>>> t="python"
>>> t[0]
'p'
切片:它的意思是取字符串的一段。
表达形式为:<字符串>[M:N:K]
M代表你要开始的取值位置,N代表你要结束的取值位置,k代表步长,k可以为正也可以为负。
[M:N:K]:从字符串的M处开始取到N(不含)处,以k为步长进行取值。其中M,N,K都可以缺失,M缺失表示至开头,即从开头取;N缺失表示至末尾,即取到末尾。
>>> "python"[0:4]
'pyth'
>>> "python"[:4]
'pyth'
>>> "python"[1:]
'ython'
>>> "python"[1:4:2]
'yh'
>>> "python"[::-2]
'nhy'
>>> "python"[-1:-4:-2]
'nh'
字符串中的操作符
操作符 | 含义 |
---|---|
x+y | 链接两个字符串x和y |
n*x | 复制n次字符串x |
x in s | 如果x是s的子串,则返回True,否则返回False |
>>> "a"in "python"
False
>>> "p"in "python"
True
>>> "py"+"thon"
'python'
>>> 3*"Hi"
'HiHiHi'
字符串处理函数
len(x) | 返回字符串的长度 |
---|---|
str(x) | 任意类型的x都可以对应的字符串形式 |
hex(x) | 整数x的十六进制小写字符串 |
oct(x) | 整数x的八进制小写字符串 |
chr(x) | x为unicode编码,返回其对应的字符 |
ord(x) | x为字符,返回其对应的unicode编码 |
字符串处理方法
方法在编程中是一个专有名词。它特指<a>.<b>风格中的<b>,方法本身也是个函数,但与<a>有关。
str.lower/str.upper | 返回字符串副本的全部小写/大写 |
---|---|
str.count(sub) | 返回子串sub在str中出现的次数 |
str.split(sep=None) | 返回一个列表,由str根据sep被分隔的部分组成 |
str.replace(old,new) | 返回字符串中的副本,所有旧的字符都由新的字符代替 |
str.center(width,fillchar) | 字符串中的str根据width居中,空余部分由fillchar填充(fillchar可以为空) |
str.strip(chars) | 去掉str中chars列出的字符 |
str.join(iter) | 在iter变量中,除最后一个变量外,每个变量后增加一个str |
>>> "hello".count("l")
2
>>> "hello".replace("ll","oo")
'heooo'
>>> "hello".center(20,"=")
'=======hello========'
>>> ",".join("hello")
'h,e,l,l,o'
>>> "h,e,llo".split(",")
['h', 'e', 'llo']