一、字符串拼接

1.采用 +号的形式

a = 'hello'

b = 'world'

c = a + ' ' + b

print(c)

#显示结果

hello world

2.采用格式化的形式

a = 'hello'

b = 'world'

c = '%s %s' % (a,b)

print(c)

#显示结果

hello world

二、字符串下标操作

1.正数,0代表字符串第一个字符

username = 'feiniu002'

a = username[0]

print(a)

#显示结果

f

2.负数,-1代表字符串最后一个字符

username = 'feiniu002'

b = username[-1]

print(b)

#显示结果

2

三、字符串切片

规则:string[开始位置:结束位置+1:步长]

注意:[ ]的第二个参数是结束位置+1

1.从起始位到指定位置

numbers = 'feiniu002'

#方式一

temp = numbers[0:3]

print(temp)

#结果显示

fei

numbers = 'feiniu002'

#方式二

#省略代表字符串起始位

temp = numbers[:3]

print(temp)

#结果显示

fei

2.从指定位置到结束位置

numbers = 'feiniu002'

#从倒数第四个到结束

temp = numbers[-4:]

print(temp)

#结果显示

u002

numbers = 'feiniu002'

#从倒数第四个到最后一个字符(最后一个字符不包含在内)

temp = numbers[-4:-1]

print(temp)

#结果显示

u00

3.从指定位置到指定位置

numbers = 'feiniu002'

#从第二个字符到倒数第二个字符(倒数第二个字符不包含在内)

temp = numbers[1:-2]

print(temp)

#结果显示

einiu0

4.步长的使用(没有填写步长,则默认为1)

当步长为正数时,string[ : : 2],

第一个空格代表字符串起始位置,

第二个空格代表字符串结束位置

当步长为负数时,string[ : : -2],

第一个空格代表字符串结束位置,

第二个空格代表字符串起始位置

#正数步长

numbers = 'feiniu002'

temp = numbers[0::2]

print(temp)

#结果显示

fii02

#负数步长 -1

numbers = 'feiniu002'

#代表从字符串的末尾到字符串的开头

temp = numbers[-1::-1]

print(temp)

#结果显示

200uinief

#负数步长 -2

numbers = 'feiniu002'

#代表从字符串的末尾到字符串的开头

temp = numbers[-1::-2]

print(temp)

#结果显示

20iif

四、字符串常用方法

1.find:返回查找字符串的下标位置。如果返回的是-1,代表的是没有查找到该字符串

username = 'feiniu002'

index = username.find('niu')

if index >= 0:

print(index)

else:

print('您要找的字符串不存在')

#结果显示

3

2.index:返回查找字符串的下标位置。如果查找不到该字符串,则抛出一个异常

username = 'feiniu002'

index = username.index('niu')

print(index)

#结果显示

3

username = 'feiniu002'

index = username.index('ni2u')

print(index)

#结果显示

ValueError: substring not found

3.len:获取字符串字符的长度

username = 'feiniu002'

length= len(username )

print(length)

#结果显示

9

4.count:用来获取子字符串在原来字符串中出现的次数

username = 'feiniu002 feiniu003 feiniu004'

temp = username.count('feiniu')

print(temp)

#结果显示

3

5.replace:新创建一个字符串,把原来字符串中的某个字符串替换为你想要的字符串

username = 'feiniu002 feiniu003 feiniu004'

new_username = username.replace('feiniu','hello')

print(new_username)

#结果显示

hello002 hello003 hello004

#通过replace将字符串中的所有空格去除

username = 'feiniu002 feiniu003 feiniu004'

new_username = username.replace(' ','')

print(new_username)

#结果显示

feiniu002feiniu003feiniu004

6.split:按照给定的字符串进行分割,返回的是一个列表

username = 'feiniu002 feiniu003 feiniu004'

username_list = username.split(' ')

print(username_list)

#结果显示

['feiniu002', 'feiniu003', 'feiniu004']

7.startswith:判断一个字符串是否以某个字符串开始

username = 'feiniu002'

result = username.startswith('feiniu')

print(result)

#结果显示

True

8.endswith:判断一个字符串是否以某个字符串结束

username = 'feiniu002'

result = username.endswith('002')

print(result)

#结果显示

True

9.lower:将字符串全部改成小写

username = 'FEINIU002'

username_lower = username.lower()

print(username)

print(username_lower)

#结果显示

FEINIU002

feiniu002

10.upper:将字符串全部改成大写

username = 'feiniu002'

username_lower = username.upper()

print(username)

print(username_lower)

#结果显示

feiniu002

FEINIU002

11.strip:将字符串左右的空格全部去掉

username = ' feiniu002 '

print(len(username))

username = username.strip()

print(len(username))

#结果显示

11

9

12.lstrip:删除字符串左边的空格

username = ' feiniu002 '

print(len(username))

username = username.lstrip()

print(len(username))

#结果显示

11

10

13.rstrip:删除字符串右边的空格

username = ' feiniu002 '

print(len(username))

username = username.rstrip()

print(len(username))

#结果显示

11

10

14.partition:从'str'出现的第一个位置起,把字符串'string'分成一个3元素的元组'(string_pre_str,str,string_post_str)',如果string中不包含'str',则'string_pre_str == string'

username = 'python feiniu002 python'

username_tupe = username.partition('feiniu002')

print(username_tupe)

#结果显示

('python ', 'feiniu002', ' python')

15.isalnum:如果string至少有一个字符并且所有字符都是字母或者数字则返回True,否则返回False

username = 'feiniu002'

result = username.isalnum()

print(result)

#结果显示

True

16.isalpha:如果string至少有一个字符并且所有字符都是字母则返回True,否则返回False

username = 'feiniu002'

result = username.isalpha()

print(result)

#结果显示

False

17.isdigit:如果string只包含数字则返回True,否则返回False

username = 'feiniu002'

result = username.isdigit()

print(result)

#结果显示

False

18.isspace:如果string只包含空格则返回True,否则返回False

username = 'feiniu002'

result = username.isspace()

print(result)

#结果显示

False

19.format:

#1.format函数最简单的使用方式

name = 'feiniu002'

age = 18

greet = 'my name is {},my age is {}'.format(name,age)

print(greet)

#结果显示

my name is feiniu002,my age is 18

#2.format函数使用位置i参数的方式

name = 'feiniu002'

age = 18

greet = 'my name is {0},my username is {0},my age is {1}'.format(name,age)

print(greet)

#结果显示

my name is feiniu002,my username is feiniu002,my age is 18

3.关键字参数

name = 'feiniu002'

age = 18

greet = 'my name is {username },my username is {username },my age is {userage }'.format(username = name,userage = age)

print(greet)

#结果显示

my name is feiniu002,my username is feiniu002,my age is 18

五、常见转移字符

1. \在行尾:续行符

temp1 = 'feiniu002feiniu003feiniu004feiniu005feiniu006'

temp2 = 'feiniu002\

feiniu003\

feiniu004\

feiniu005\

feiniu006'

print(temp1)

print(temp2)

#结果显示

feiniu002feiniu003feiniu004feiniu005feiniu006

feiniu002feiniu003feiniu004feiniu005feiniu006

2. \n:换行符

temp = 'feiniu002\nfeiniu003'

print(temp)

#结果显示

feiniu002

feiniu003

3. \ ':单引号及\ '':双引导

temp = 'i\'m \"feiniu002\"'

print(temp)

#结果显示

i'm "feiniu002"

4. \t:制表符(即tab键)

temp = 'feiniu002\tfeiniu003'

print(temp)

#结果显示

feiniu002 feiniu003

5. \ \:反斜杠

temp = 'feiniu002\\feiniu003'

print(temp)

#结果显示

feiniu002\feiniu003

六、原生字符串

原始字符串不会对字符串中任何字符进行转义,你写了什么东西,这个字符串就是什么东西,达到一种所见即所得的效果,语法:r'xxx'

temp = r'feiniu002\\n\'\"\t\\'

print(temp)

#结果显示

feiniu002\\n\'\"\t\\