基本使用:拼接、提取、切片等
s1=‘hello’
s2=‘world’
#连接
print(s1+s2)
print(s1[0])#提取一个字符
print(s1[1:3])#切片,s[起始:结束:步长]包括开始的下标,不包括结束的下标
print(s1 * 3)# 将指定字符串重复若干次
print(len(s1))# 统计字符个数
print(s2[1:])#从第二个开始打印
print(s2[:1])#打印第二个之前的
print(s2[:-1])
print(s2[-1:])
print(s2[:])#打印全部
print(s2[::2])#步长默认为1,而此时步长设置为2
print(s2[1:-2])
print(s2[::-1])# 逆序,步长为负时倒序提取
print(s2[-1:2:-1])#-1为起始坐标,逆序取的时候还有字符可以取
print(‘xxx’, s2[1:-1:-1])#2为起始坐标,逆序的时候没有字符可以取
print(ord(‘h’))#获取字符的ASCII码
print(chr(100))#获取对应ASCII码的字符
格式化:就是将不同的变量拼接成一个字符串
- 通用方案:使用%进行占位
- 特有方案:使用字符串的format方法
name=‘zhangsan’
age=18
print(“我的名字 %s,今年 %d” %(name,age))#通用
print(“我的名字 {},今年 {}”.format(name,age))#推荐使用,不设置指定位置,按默认顺序
print(“我的名字 {1},今年 {0}”.format(name,age))#根据序号进行排序
print(“我的名字 {n},今年 {a}”.format(a=age,n=name))#设置参数
执行结果:
字符串函数:
s=‘nice to meet you’
print(s.split())#默认按照空格进行切割,返回的是一个列表
print(s.split(sep=‘t’))#指定切割内容,如果切割内容不存在,就返回原内容
print(s.split(maxsplit=1))#指定切割次数
print(s.rsplit(maxsplit=1))#从右边开始切割
s1=‘hello\nworld\nnfjb’
print(s1.splitlines())#按照\n进行切割
lt=[‘hello’,‘world’]
print(’’.join(lt))#拼接
print(’’.join(list(s)[:3]))
print(s.find(‘t’)#默认从左开始查找,返回的是第一个匹配的值的下标,如果查找的值不存在就返回-1
print(s.rfind(‘m’))#从右边开始查找,找到返回下标,找不到返回-1
print(s.count(‘m’)#统计出现次数,如果不存在就返回0
print(s.startswitch(‘nice’))#是否以指定内容开头,是就返回True
print(s.endswitch(’!))#是否以指定内容结尾,不是返回False
print(s.upper())#全大写
print(s.lower())#全小写
print(s.swapcase())#大小写转换,大写转小写,小写转大写
print(s.capitalize())#第一个单词首字母大写
print(s,title())#每个单词的首字母大写
print(s.replace(‘t’,‘T’))#替换
print(‘abhjb’.isupper())#判断是否是大写,是返回True
print(‘uigb’.islower())#判断是否是小写
print(s.istitle())#判断每个单词首字母是否大写,是返回True
print(‘bdj’.isedcimal())#判断是否是十进制
print(‘nvsjkh’.isalpha())#判断是否是字母
print(‘bdh’.isalnum())#判断是否全是字母或者数字
print(‘viug’.isidentifier())#判断是否是正确的标识符
print(‘hudhf’.ljust(10)+‘hgy’)#左对齐,默认填充空格
print(‘jfdb’.rjust(5))#右对齐
print(‘bhd’.center(9,’#’))#居中对齐
print(’#’+’ bjdb\n’.strip()+’’)#去掉两边的内容
print(‘bjkfdb’.strip(‘bf’))#去掉指定内容,如果有多个就去掉第一个匹配的值
print(’&’+’ uigfu’+’&’.lstrip())#去掉左边的
print(’&’+’ uigfu’+’*&’.rstrip())#去掉右边的
#拷贝,深浅拷贝是针对可变元素而言的,不可变元素不存在深浅拷贝的问题
import copy
#不可变类型
d=6525
d1=d
d3=copy.copy(d)
d4=copy.deepcopy(d)
print(d1)
print(d3)
print(d4)#d1、d3、d4的值一样
#可变类型(引用类型)
s=[12,3,2,[8,6,4]]
s2=s
s3=copy.copy(s)#浅拷贝,只拷贝对象本身,内部元素只拷贝引用
s4=copy.deepcopy(s)#深拷贝,不但拷贝对象还会拷贝内部元素
print(s is s2)
print(s is s3)
print(s is s4)
s[0]=50
s[3][2]=100
print(s2)
print(s3)
print(s4)
s5=s.copy()#浅拷贝
print(s is s5)
s[2]=40
s[3][1]=103
print(s5)