本节内容: 1.深浅拷贝 2.三目运算 3.迭代器和生成器 4.装饰器 1.深浅拷贝 拷贝意味着对数据重新复制一份,深浅拷贝的含义就是:对于修改复制的数据是否会影响到源数据,拷贝操作对于基本数据结构需要分两类进行考虑,一类是字符串和数字,另一类是列表.字典等.如果要进行拷贝的操作话,要import copy. 1.数字和字符串 对于数字和字符串而言,深拷贝,浅拷贝没有什么区别,因为对于数字数字和字符串一旦创建便不能被修改,假如对于字符串进行替代操作,只会在内存中重新生产一个字符串,而对于原字符串…
1. pass break continue # ### pass break continue # (1) pass 过 """如果代码块当中,什么也不写,用pass来进行站位""" def func(): pass if 5 == 5: pass # while 5>3: # pass # (2) break 终止当前循环 (只能在循环当中使用) # 打印1~10 如果遇到5就终止循环 i = 1 while i<=10: pri…
深浅拷贝 :值拷贝 :ls = [,,] res = ls 则print(res)就是[,,] 浅拷贝 :ls.copy() 深拷贝:ls3 = deepcopy(ls) # 新开辟列表空间,ls列表中的不可变类型的地址直接拿过来,但是可变类型的地址一定重新开辟空间 # ls内部的所有类型的值发生改变,ls3都不会随之变化 可变对象 指 可以在原处修改,而不用创建新的对象(包括列表,字典,集合):不可变对象指 不支持在原处修改,只能通过表达式创建新的对象,然后把结果分配给变量(包括 数字,字符串…
一.深浅拷贝 如果希望将列表复制一份,通过列表的内置方法copy就可以实现: s = [[1,2],3,4] s1 = s.copy() print(s) print(s1) 拷贝出的列表s1与原列表s完全一致. [[1, 2], 3, 4] [[1, 2], 3, 4] 对s1修改: s = [[1,2],3,4] s1 = s.copy() s1[1] = 'oliver' s1[0][1] = 'hello' print('列表s:',s) print('列表s1:',s1) 输出:把列表…
一.先看一个简单的赋值语句 lst1 = ['France', 'Belgium', 'England'] lst2 = lst1 # lst1.append('Uruguay') lst2.append('Uruguay') print(lst1, lst2) # 猜测一下lst1, lst2的结果:lst2变化是否对lst1产生影响,lst1变化是否对lst2产生影响 输出结果: ['France', 'Belgium', 'England', 'Uruguay'] ['France', '…
基本数据类型补充 set set集合,是一个无序且不重复的元素集合 #创建 s = {11,22,33,44}#类似字典 s = set() #转换 l = (11,22,33,44) s1 = set(l) #iterable print(s1) l = [11,22,33,44] s1 = set(l) #iterable print(s1) l = "1234" s1 = set(l) #iterable print(s1) {33, 11, 44, 22} {33, 11, 4…
python中的对象和类型 在python中,认为系统中的每一个"东西"都是一个对象,在python中,"对象"有着特殊的意义,python中的对象有: 一个标识 一些属性 零个或多个名称 当python创建对象时,它接收到一个标识号,可以使用id函数,查找它的ID号,python用这个数字将一个对象和其他对象区分开.除了ID号,对象还有一个或者多个名字,名字不是对象ID的一部分,使用名字是为了提高对象的可读性.python使用命名空间(每当创建新变量时,它被放入列…
列表复制 浅拷贝:简单类型元素全复制,引用类型元素只复制引用 L1 = [3,2,1,[4,5,6],8,'abc'] L1 [3, 2, 1, [4, 5, 6], 8, 'abc'] L2 = L1.copy() L2 [3, 2, 1, [4, 5, 6], 8, 'abc'] L1[3][1] = 10 #修改L1中的元素L2也随之变化 L1 [3, 2, 1, [4, 10, 6], 8, 'abc'] L2 [3, 2, 1, [4, 10, 6], 8, 'abc'] 深拷贝:co…
目录: 1.基础数据类型补充 2.set集合 3.深浅拷贝 一,基础数据类型补充 字符串的基本操作 li = ["李李嘉诚", "麻花藤", "⻩黄海海峰", "刘嘉玲"] s = "_".join(li) print(s) li = "⻩黄花⼤大闺⼥女女" s = "_".join(li) print(s) 列表: 循环删除列表总的每一个元素 li = [11, 2…
对于数字.字符串深浅拷贝: import copy num = 0 copy_num = copy.copy(num) print("These are normal copy").center(60,'*') print(num,id(num)) print(copy_num,id(copy_num)) print("These are deep copy").center(60,'*') deep_copy_num = copy.deepcopy(num) pr…