python--3、字符串的拼接和深浅复制

字符串的拼接和格式化

1、 str1+str2+str3

>>> a='我'
>>> b='在武汉'
>>> c='等你'
>>> a+b+c
'我在武汉等你'
>>> r1=a+b+c
>>> r1
'我在武汉等你'

2、’’%s’’%变量名

​ “%s%s%s”%(str1,str2,str3)

​ %s 字符串; %d 数字 %a.bf 浮点数(默认小数6位); %c Ascall码 ;%o 八进制数字;%x 十六进制数字;%e 科学计数法

>>> '%s--%s--%s--%s'%(a,b,c,d)
'我--在武汉--等你--玩泥巴'
>>> '%f'%12
'12.000000'
>>> '%5.2f'%23.366
'23.37'
>>> '%3.5f'%23.366
'23.36600'
>>> '%+3.f'%13.336
'+13'
>>> 'pi=%-10.3f'%3.1415926   #-左对齐  10  空间   .3 保留								三位小数  +显示正负
'pi=3.142     '

3、 ’ '.join( ) 间隔中填充的字符,join(list、tuple、str)【可得带对象】

>>> li=[]
>>> li=[a,b,c,d]
>>> li
['我', '在武汉', '等你', '玩泥巴']
>>> '0.0'.join(li)
'我0.0在武汉0.0等你0.0玩泥巴'

4、’’{}{}’’.format( ) ’{:<用于填充的字符><对齐方式(<、>、=)><宽度><,千位分隔符><.浮点数小数精度或字符串最大输出长度><类型 f,d…>}’.format()

>>> '{}{}{}{}'.format(a,b,c,d)
'我在武汉等你玩泥巴
>>> '{}❤{}❤{}❤{}'.format(a,b,c,d)
'我❤在武汉❤等你❤玩泥巴'
>>> '{2}{1}{0}'.format(a,b,c)  #大括号里面的数字指定的是变量									放置的位置
'等你在武汉我'
>>> '{:.2f}'.format(12.2333)
'12.23'
>>> '{a:.2f}'.format(a=12.2333)
'12.23'

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C7J7yDd1-1578213009623)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20191228104201785.png)]

深浅复制

1、赋值:数据的完全共享; = 在内存中指的是同一个对象;对于=赋值,数据指的是同一个地址。

>>> li=[1,2,[3,4]]
>>> li
[1, 2, [3, 4]]
>>> a=(1,2,3)
>>> b=a
>>> a=(1,2)
>>> a
(1, 2)
>>> b
(1, 2, 3)
>>> a=[1,2,3]
>>> b=a
>>> a=[1,2]
>>> b
[1, 2, 3]
>>> a
[1, 2]
>>> a.append(4)
>>> a
[1, 2, 4]
>>> b
[1, 2, 3]
>>> b=a
>>> b
[1, 2, 4]
>>> a[1]=5
>>> a
[1, 5, 4]
>>> b
[1, 5, 4]

2、浅复制:数据的恶一个半共享。只复制外层列表,内层还是共享的。第一层不会受到原来列表影响,内层会被影响。

>>> import copy
>>> li=[1,2,[4,5]]
>>> li2=copy.copy(li)
>>> li
[1, 2, [4, 5]]
>>> li2
[1, 2, [4, 5]]
>>> id(li)
308515008000
>>> id(li2)
308472792192
>>> id(li[1])
140731683096256
>>> id(li2[1])
140731683096256
>>> id(li[2])
308518499584
>>> id(li2[2])
308518499584

3、深复制:数据的不共享。对于深复制列表,元组,字典。他里面有多少层,就会拷贝多少层,但是底层的数字和字符串地址不变。

li3=copy.deepcopy(li)
>>> li
[1, 2, [4, 5]]
>>> li3
[1, 2, [4, 5]]

bytes和bytearray

bytes为不可变的字节序列
bytearray为可变的字节序列,可以称为字节数组
py.deepcopy(li)

li
[1, 2, [4, 5]]

li3
[1, 2, [4, 5]]




## bytes和bytearray

bytes为不可变的字节序列 
bytearray为可变的字节序列,可以称为字节数组 
与字符串的区别时字符串时字符组成的有序序列,字符可以使用编码来理解
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值