六、字符串操作

1、处理字符串

1)单引号和双引号的区别

>>> print('hello'world')
      
SyntaxError: invalid syntax
>>> print("hello'world")
hello'world
>>>

2)转义字符

转义字符

打印为

\’

单引号

\"

双引号

\t

制表符

\n

换行符

\\

倒斜杠

3)原始字符串

作用:忽略所有的转义字符,使转义字符作为文本输出。
放置位置:在字符串的第一个引号之前加上r
>>> print(r'\t')
\t

4)多行字符串使用:三重单/双引号

print(''' 自我介绍
sum:"my name is Sum."
sum:"How are you?"
I:"I'm fine"
\'你好
***\t***
\\
结束
''')
print('-----------------------------------------------')
print(""" 自我介绍
sum:"my name is Sum."
sum:"How are you?"
I:"I'm fine"
\'你好
***\t***
\\
结束
""")

结果如图:

Python字符串多行输入转换成列表 python一行输入多个字符串_字符串

5)多行注释同样使用:三重单/双引号

用法如下:

'''使用
单引号进行多行注释
print()方法中,单引号包围的值
'''
print(''' 自我
介绍
''')
print('-----------------------------------------------')
"""使用
单引号进行多行注释
print()方法中,单引号包围的值
"""
print(""" 自我
介绍
""")

结果如图:

Python字符串多行输入转换成列表 python一行输入多个字符串_Python字符串多行输入转换成列表_02

可见:不在print方法内;但被三重引号包围;没有显示在输出窗口中。

6)字符串下标和切片

>>> str="ABDEF"
>>> str[0]
'A'
>>> str[4]
'F'
>>> str[2:3]
'D'
>>> str[2:]
'DEF'
>>> str[:3]
'ABD'
>>> nstr=str[:3]
>>> nstr
'ABD'
>>>

7)字符串中in和not in 操作符

>>> str="ABCDE"
>>> 'A' in str
True
>>> 'a' in str
False
>>> 'a' not in str
True

2、常用的字符串方法

1)大小写转换:upper()、lower()

>>> str='Abc'
>>> str.upper()
'ABC'
>>> str
'Abc'
>>> str.lower()
'abc'
>>> str
'Abc'
>>> lowerStr=str.lower()
>>> lowerStr
'abc'
>>>

2)大小写的判断:isupper()、islower()

条件:

一个字符串;至少有一个字母;所有的字母都是大写或小写;

>>> str='A666'
>>> str.isupper()
True
>>> str='a666'
>>> str.islower()
True
>>> str='a@@6'
>>> str.islower()
True
>>>
补充:isalpha()、isalnum()、isdecimal()、isspace()、istitle()
isalpha():如果字符串只包含字母,并且非空,返回True
>>> 'Abc'.isalpha()
True
>>> '12A'.isalpha()
False
>>> '&&A'.isalpha()
False
>>>
isalnum():如果字符串只包含字母和数字,并且非空,返回True
>>> 'A12'.isalnum()
True
>>> 'A'.isalnum()
True
>>> '12'.isalnum()
True
>>> '&&A1'.isalnum()
False
isdecimal():如果字符串只包含数字字符,并且非空,返回True
>>> '1234'.isdecimal()
True
>>> 'a'.isdecimal()
False
>>> 'a123'.isdecimal()
False
isspace():如果字符串只包含空格、制表符和换行,并且非空,返回True
>>> ' '.isspace()
True
>>> '\t'.isspace()
True
>>> '\tabc'.isspace()
False
istitle():如果字符串仅包含以大写字母开头、后面都是小写字母的字符串,返回True
>>> 'Abc'.istitle()
True
>>> 'abc'.istitle()
False
>>> 'Abc123'.istitle()
True
>>> '123Abc'.istitle()
True
>>> '&&12Abc'.istitle()
True
>>> '&&12abc'.istitle()
False
>>>

3)startswith()和endswith()

字符串.startswith(子串)和字符串.endswith(子串) ,如果方法内子串等于该字符串的开始或结束部分,方法返回True

>>> 'Hi,How are you?'.startswith('Hi')
True
>>> 'Hi,How are you?'.startswith('Hi,How are you?')
True
>>> 'Hi,How are you?'.endswith('Hi,How are you?')
True
>>> 'Hi,How are you?'.endswith('are you?')
True
>>> 'Hi,How are you>'.endswith('are')
False

4)join()和split()

连接符.join([字符串A,字符串B]) : 将字符串列表[字符串A,字符串B]中的字符串通过连接符,组成一个新的字符串。

>>> ' '.join(['How','are','you?'])
'How are you?'

字符串.split(分割符)

>>> 'How are you?'.split()
['How', 'are', 'you?']
>>> 'How are you?'.split(' ')
['How', 'are', 'you?']
>>> 'How,are,you?'.split(',')
['How', 'are', 'you?']
>>>

5)对齐文本

右对齐:rjust()

>>> '右对齐'.rjust(30)
'                           右对齐'
>>> '右对齐'.rjust(30,'*')
'***************************右对齐'

左对齐:ljust()

>>> '左对齐'.ljust(30)
'左对齐                           '
>>> '左对齐'.ljust(30,'*')
'左对齐***************************'

居中对齐center()

>>> '居中'.center(30)
'              居中              '
>>> '居中'.center(30,'*')
'**************居中**************'

6)删除两边或其中一边的某些字符串

删除两边字符串strip()

>>> '    帅    '.strip()
'帅'
>>> 'abc帅bac'.strip('abc')
'帅'
>>> 'abc帅bac'.strip('acb')
'帅'

删除右边字符串rstrip()

>>> '帅    '.rstrip()
'帅'
>>> '帅abccba'.rstrip('abc')

删除左边字符串lstrip()

>>> '    帅'.lstrip()
'帅'
>>> 'abccb帅'.lstrip('abc')
'帅'
>>> 'abccb帅'.lstrip('bc')
'abccb帅'
注意:传入strip(),rstrip(),lstrip()方法的字符串,字符的顺序不重要!