Python学习(字符串操作)

来源:互联网 发布:自学武术软件 编辑:程序博客网 时间:2024/05/18 03:46

1.几种输入字符串的方式:

1.1.双引号的使用:字符串一般依照单引号的开始与结尾来判断,当单引号里面又包含单引号时,就不能区分了,所以此时应用双引号。

>>> person = "my name is 'Lee'.">>> person"my name is 'Lee'."
1.2.转义字符:在字符串中既需要使用单引号又需要使用双引号时,就要使用转义字符,使用转义字符\'和\"可以让你在字符串中加入单引号和双引号。

>>> person = 'my name is \'Lee\''>>> person"my name is 'Lee'"
\'单引号;\"双引号;\t制表符;\n换行符;\\倒斜杠。

当输入的字符串较长时,可以这样来美观一些,输出时无换行效果,与\n不同。

>>> print('my name' + \           'is \'Lee\'')my nameis 'Lee'
1.3.原始字符串:会忽略所有的转义字符,全部输出。以后说正则表达式的时候用的到。

>>> print(r'that is lee\'s cat')that is lee\'s cat
1.4.三重引号的多行字符串:多行字符串的起止是3个单引号或3个双引号。“三重引号”之间的所有引号、制表符或换行,都被认为是字符串的一部分。

>>> print('''my name    is    Lee.''')my name    is    Lee.
1.5.多行注释:一行注释用#,多行注释用三个"。

1.6.字符串下标和切片:字符串与列表相似,可以查找下标和切片。

>>> person = 'my name is Lee'>>> person[3]'n'>>> person[0:3]'my '
person[0:3]将包含0-2的全部内容,不包括下标3处的内容。

1.7.字符串的in和not in操作符:

>>> person = 'my name is Lee'>>> 'Lee' in personTrue>>> 'Lee' not in personFalse
2.有用的字符串方法:
2.1.将含有字母的字符串统一变成大写或者小写字符:upper()、lower(),或者判断含有字母的字符串中的字母是否都是大写或小写:isupper()和islower()类似isxxx()的方法还有很多。

isalpha():返回True,如果字符串只包含字母,并且非空;

isalnum():返回True,如果字符串只包含字母和数字,并且非空;

isdecimal():返回True,如果字符串只包含数字字符,并且非空;

isspace():返回True,如果字符串只包含空格、制表符和换行,并且非空;

istitle():返回True,如果字符串仅包含以大写字母开头、后面都是小写字母的单词

这些东西可以用在判断用户输入的账户、密码是否符合要求等方面。

2.2.startswith()和endswith():

>>> person = 'my name is Lee'>>> person.startswith('my')True
2.3.join()和split():join()针对一个字符串调用,并传入一个列表值split()针对一个字符串调用,返回一个字符串列表。

如果有一个字符串列表,需要将它们连接起来,组成一个单独的字符串,就用到join()方法了。前面的','是指中间用逗号隔开,你可以换成你想用的分隔符。

>>> ','.join(['Lee','Tony','Bob'])'Lee,Tony,Bob'

split()方法默认按照各种空白字符来分割,比如空格、制表符或换行符等,也可以自己在split(‘ ’)中定义在什么地方分割。

>>> 'my name is Lee'.split()['my', 'name', 'is', 'Lee']>>> 'my name is Lee'.split('s')['my name i', ' Lee]
2.4.用rjust()、ljust()和center()方法对齐文本:第一个参数是一个整数长度,用于对齐字符串,第二个参数为空白处的填充字符。如代码所示,是将'name'放在一个长度为6的字符串中,'name'4个字符,所以在其左边会加上2个空格,最终得到一个一共6个字符的字符串, 实现右对齐。

>>> 'name'.rjust(6)'  name'>>> 'name'.rjust(6,'*')'**name'>>> 'name'.center(10,'*')'***name***'
2.5.用strip()、rstrip()和lstrip()删除空白字符
>>> say = ' Hello World '>>> say.strip()'Hello World'>>> say.lstrip()'Hello World '>>> say.rstrip()' Hello World'

也可以加参数,但要保证两边要去掉的部分相同。

>>> say = 'ABCDCBA'>>> say.strip('AB')'CDC'