转义字符
- \n 换行
- \t 水平制表符(可以视为四个空格)
- \取消转义
a = 'hello\nChina'
print(a)#hello
#China
b = 'I\tLOVE\tYOU'
print(b)#I LOVE YOU #注意每个字符间大概四个空格!
c =' D:\\nmyheart\\myhead\\you mean the world to me'
print(c)#D:\nmyheart\myhead\you mean the world to me
字符串前面加上r,可以将整个字符串取消转义,例:
D=r' D:\nmyheart\bmyhead\tyou mean the world to me'
print(D)#D:\nmyheart\bmyhead\tyou mean the world to me
编码编码(encode) 解码(decode)
encode('编码格式') utf-8万国码 gbk中国
d = ‘还有多远'.encode('gbk')
print(d)# b'\xbb\xb9\xd3\xd0\xb6\xe0\xd4\xb6'
e = d.decode('gbk')
print(e)#还有多远
字符串的拼接 (+ %s join format)
通过+号形式直接连接字符串
f = ‘刮风这天'+‘雨渐渐'
print(f)#刮风这天雨渐渐
通过%s的方式拼接 注意这里的%s是指定是格式描述字符,还有% f d c 等等。
A = input('请输入名称:')
B = input('请输入另一个名称:')
g = ‘亲爱的%s,欢迎来到%s的世界' %(A, B)#
print(g)#亲爱的A,欢迎来到B的世界
join格式:('(代替的符号)'.join('字符串'))
- 第一点 join传的值必须是序列类型(list tuple)
- 第二点 join还规定了序列类型里面的元素一定要是字符串
my_join = [‘我试过握着你手',‘但偏偏风渐渐',‘大到我看你不见']
print(','.join(my_join))#我试过握着你手,但偏偏风渐渐,大到我看你不见
注意format有几个大括号就必须有几个元素,有坑必埋!{}里加占位符
C=‘亲爱的{}先生\女士,您预约的{}将在5天内过期'.format('张','美食卷')
print(C)#亲爱的张先生\女士,您预约的美食卷将在5天内过期
也可以通过f 的形式 但是不是适用于所有情况 相较于format 适用范围小
C=f‘亲爱的{a}先生\女士,您预约的{b}将在5天内过期'
print(C)#亲爱的a先生\女士,您预约的美食卷将在b天内过期
复制 = copy deepcopy
= 进行复制 例如:
a=[1,2,3,4,5,6,7]
a=b
print(id(a))
print(id(b)) #此时id a = id b
copy 是浅拷贝
deep 是深度拷贝 相当于独立的一个
import copy
a = [1, 2, 3, 4, ['a', 'b']]
b = a #赋值,传对象的引用
c = copy.copy(a) #浅拷贝,对象拷贝
d = copy.deepcopy(a) #深拷贝,对象拷贝
a.append(5) #修改对象a,列表末尾添加数字5
a[4].append('c') #修改对象a中的列表['a', 'b'] 这是一个可变元素
print 'a= ', a
print 'b= ', b
print 'c= ', c
print 'd= ', d
输出结果:
a = [1, 2, 3, 4, ['a', 'b', 'c'], 5] #修改了原始对象,变为修改后的列表
b = [1, 2, 3, 4, ['a', 'b', 'c'], 5] #对象的引用,对象的任何值变化都随着变化
c = [1, 2, 3, 4, ['a', 'b', 'c']] #浅拷贝,不可变元素不能改变,可变元素随着原始对的变化而变化了
d = [1, 2, 3, 4, ['a', 'b']] #深拷贝,原始对象的值发生任何变化,深拷贝新的对象内存地址不会发生任何变化