#...............字符串的用法................
#1.............字符串的声明...............
#方法一:
string1='abc'
print(string1)
#方法二:
string2="abc"
#方法三:该方法保留其格式
string3='''
1.猜猜看
2.就不猜
3.猜不猜
4.不猜揍你
5.拜拜
'''
print(string3)
string4="""
1......
2......
3......
"""
print(string4)
print([string4])
# r''原样字符串,不会将字符串中的转义字符进行转义,会原样输出
print(r'1\n2')
#2............字符串的拼接.....................
#方法一:使用占位符拼接字符串
#%d整数占位符,在字符串中,如果只有一个占位符,不需要在后面指定占位变量的时候加(),只需要%变量名,如果有两个或者两个以上的占位符,就需要将变量放在()中%(a,b,c)
a=100
b=200
string5='a的值为:%d,b的值为:%d'%(a,b)
print(string5)
#%f小数类型的占位符,%.2f保留小数点后两位,同时进行四舍五入
c=1.1111
d=2.2222
string6='c的值为:%.2f,d的值为:%f'%(c,d)
print(string6)
#%s通用占位符:字符串,整数,小数,字典,元组,列表。。。。都可以使用这个占位符
list1=['张三',22,555]
print('列表的内容为:%s'%list1)
#方法二:使用+号,拼接字符串
name='张三'
age='22'
phone='888'
result='姓名:'+ name +'\n'+'年龄:'+age+'\n'+'电话:'+phone
print(result)
#字符串的乘法运算:name输出10遍
name=name*10
print(name)
#方法三:使用format()函数,拼接字符串
string7='再过{0}天该放假了!'.format('8')
print(string7)
#大括号内若不填索引,默认索引从0开始,依着顺序从format内取值;若指定顺序,则依着指定的顺序进行取值
string8='今天是周{2},明天是周{0},后天是周{1}'.format('一','二','三')
print(string8)
#大括号中是后面format中变量的索引,默认从零开始,依次加一,也可以在大括号中指定取出数据的数据索引
string9='姓名:{2} 年龄:{0} 性别:{1} 电话:{3}'.format('22','男','张三','110')
print(string9)
#3.............字符串和数字之间的转换........
string10='123456789'
#使用int()把一个纯数字的字符串转化为数字,若字符串中存在其他类型的字符(包括里面字符为小数类型的),则无法进行转换,会报错
number1=int(string10)
print(number1)
#转换为小数类型的,也必须是纯数字的
string11='3.1415'
number2=float(string11)
print(type(number2))
#把float/int转化为字符串
string12=str(number2)
print(string12)
print(type(string12))
#\t制表符,按了一个tab键一样
print('\t你好啊!')
#\n 换行符 相当于按了一个回车
print('\n你好啊!')
#\r回车
print('好呀\r你好啊!')
string13\
='anfjsjfhiwfcbdqwerjeuwreubcngidhkuqwerfemsfjdfbqwer'
#找出qwer的位置,使用find(sub,start,end)函数,如果找到了返回的是小字符串开始的位置,如果没有找到返回的就是-1
#sub 要查找位置的字符串,start开始查找的位置 end结束查找的位置
index=string13.find('qwer')
print(index)
#print(string13[5])
#........自己写一个find函数,拥有find函数的功能.......
def FIND(string,sub,start=0,stop=-1):
if stop==-1:
stop=len(string)
'''
1.for循环遍历字符串,根据小字符串的长度对大字符串进行截取,并且截取出的字符串必须跟小字符串长度一致
2.如果截取的字符串和小字符串长度一致,判断两个字符串是否一致,如果一致说明该字符就是要查找的字符串,直接return x的值(开始位置)
3.如果for循环执行完毕,没有返回一个结果,直接返回-1,表示没有找到
'''
for x in range(0,len(string)):
#x可以作为截取字符串的开始位置,end=x+4作为结束位置
end=x+len(sub)
#截取字符串
sub_string=string[x:end]
#判断长度是否一致
if len(sub_string)==len(sub):
#如果截取的字符串等于小字符串,说明找到了
if sub_string==sub:
print('找到{}的位置为{}'.format(sub,x))
#返回位置
return x
else:
break
#没有找到字符串,返回-1
return -1
FIND(string13,'qwer')
print(FIND(string13,'qwer'))
string13\
='anfjsjfhiwfcbdqwerjeuwreubcngidhkuqwerfemsfjdfbqwer'
#字符串中每一个字符都是有索引的,第一个字符索引为0,第二个为1.....以此类推
content=string13[2]
print(content)
#字符串切片,注意开始位置<结束位置
rs=string13[ :4]
print(rs)
#..............字符串中常用函数.....................
#1.find(sub,start,end)查找第一个匹配到的子字符串的起始位置,sub 要查找位置的字符串,start开始查找的位置 end结束查找的位置
#如果找到返回位置,找不到返回-1
index=string13.find('a')
print(index)
#2.index()函数,
# 查找子字符串在大字符串中的位置,如果找到返回位置信息;如果子字符串不在大字符串中,则会报错
index=string13.index('a')
#3.count(x,start,end)函数 统计某个字符串在大字符串中出现的次数
count=string13.count('b')
print(count)
#4.转换大小写,利用upper()函数:把字符串全部转换为大写,返回转换之后的字符串
upper_str=string13.upper()
print(upper_str)
#5.大写字符全部转化为小写
lower_str=upper_str.lower()
print(lower_str)
#6.strip(char)剔除字符串首尾两端的特殊字符,不指定默认去除空格,中间特殊字符无法去除 char 要去除的字符
string0=' 5 '
strip_str=string0.strip()
print(strip_str)
#7.replace(old,new,count)函数 将字符串中任意位置的字符进行替换
#old要替换的字符串 new替换后的字符串 count 替换的次数
string='\n张\n三\n'
strip_str=string.strip('\n')
print(strip_str)
replace_str=string.replace('\n','==')
print(replace_str)
replace_str=strip_str.replace('\n','==')
print(replace_str)
#8.split(seq,maxsplit)函数 通过某些特定的字符分割字符串,分割之后返回一个列表 seq 指定的分割字符 maxsplit最大分割次数 不指定就是全部分割
string14='1;2;3;4;5;6;7;8;9'
rs=string14.split(';')
print(rs)
#9.join()函数 通过某些特殊字符串拼接,括号内可以放字符串
#iterable 可迭代对象
string=' *'.join(rs)
print(string)
#10.startswith()函数 判断某个字符串是否以某个字符串开头
#如果以某个字符串开头,返回true,否则返回false
print(string.startswith('1'))
#11.endswith()函数 判断某个字符串是否以某个字符结束
print(string.endswith('2'))
#。。。。。。。。。tuple元组的用法。。。。。。。。。
#可以认为元组就是一个不可变的列表,元组中的数据一旦确定就不可更改,不能进行添加、删除、修改的操作;元组也是Python中内置的一个容器类
#声明元组,若只有一个元素,Python2中后面必须在元素后添加一个逗号,但是Python3中可加可不加
tuple_1=(3.14,'hello','world')
#声明元组时,可以把小括号省略,
tuple_2=1,2,5,3,6,4,'hello'
print(tuple_2)
print(type(tuple_2))
#取出元组中的数据
#根据索引取出元组中的数据
num=tuple_1[0]
print(num)
#元组也支持切片操作
num=tuple_2[0:3]
print(num)
#元组支持for循环遍历
#方法一:
for x in range(0,len(tuple_2)):
content=tuple_2[x]
print(content)
#方法二:
for content in tuple_2:
print(content)
#使用枚举,枚举对象
rs=enumerate(tuple_2)
print(rs)
#for循环遍历枚举对象
#方法一:item结果为元组,(索引,数据)
for item in rs:
print(item)
#方法二:还可以:
for index,value in rs:
#index就是小元组中的索引,value就是小元组中的数据
print(index,value)
#列表嵌套元组
list1=[['张三',11,110],['李四',22,111],(1,2,3),(2,3,5)]
#元组嵌套列表:元组不可修改,但是元组中的列表可以进行修改
tuple1=(1,2,['张三',4,5],(4,5,6))
#修改列表中值
tuple1[2][0]='李四'
print(tuple1)
#列表和元组之间可以相互转换
list2=[1,2,3,4]
#把列表转换为元组
tuple2=tuple(list2)
print(type(tuple2))
#元组转化为列表
list2=list(tuple2)
print(type(list2))
tuple3=(1,2,3,4,5,6)
#index(object)查找某个元素在列表中的位置
index=tuple3.index(5)
print(index)
#index(x,start,stop)查找某个元素在列表中的位置
#x 要查找的元素 start开始查找的位置 stop 结束查找的位置;指定位置从开始位置开始,到结束位置,但是不包含结束位置
#查找位置如果不指定,从开始查找到末尾
#count(x)统计某个元素在元组中出现的次数
count=tuple2.count(1)
print(count)