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 person
True
>>> 'Lee' not in person
False

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'