1、python字符串输出有很多种。a='''name:{0},age:{1},sex:{2}'''.format(name,age,sex)第一种

name="lijiaxiang"

age=12

sex="male"

a='''name:{_name},age:{_age},sex:{_sex}'''.format(_name=name,_age=age,_sex=sex)第二种

字符串还有一种+号拼接。这种是最不推荐的。因为上面的两种都是在内存中开辟特定的内存,但是+号是开很多段内存。所以这一点是最不推荐的。所以忘记这种拼接方式

2、深复制与浅复制区别:之前学习java也看过深复制和浅复制,但是当时一直也没有搞明白到底什么是深复制,什么是浅复制,昨天听老男孩课程,alex老师讲了一个例子,我觉得特别容易理解。所谓浅复制,就是只复制了最外一层。而深复制,可以说是整个内容的完全复制(这才是我们想象中的复制)。那么什么叫复制最外一层呢?举个简单例子:

#encoding:utf-8

import copy

a=["kalson",[15,25],"male"]

b=copy.copy(a)

print a

print b

a[0]="kangkang"

a[1][0]=18

b[0]="mike"

print a

print b

===========================结果如下===========

['kalson', [15, 25], 'male']

['kalson', [15, 25], 'male']

['kangkang', [18, 25], 'male']

['mike', [18, 25], 'male']

大家看到,对于最外层,复制后各自不相关,a中kalson-->kangkang,b中kalson-->mike.但是只在a中修改了15-->18,b中却也是修改了。这就是说对于[18,25],因为这已经不是基本数据类型了,实际上a中是存储了[15,25]的地址。所以这已经算是另外一层了。而这一层,用简单的copy浅复制已经不行了。


一下图片不知道是否可以让大家更好的理解?反正对我来说是比较明确的理解了。第一次写博文,有表述不清楚的还请各位朋友见谅。





wKiom1lzXRSw8gXlAAAMVJ0M2D4192.png-wh_50