写在前面:笔记全部是跟着老师一起敲的代码,最近电脑瓦特了,所以只能用老爷机的日记本记下老师上课讲的东西,但我运行不了
特别感谢的是xx学院的的刘老师,我都是边看他的课,边学他一起敲代码,然后晚上自己看,自己理解,感谢老师。
传值和传址的区别
-对于简单的数值,采用传值操作,即在函数内对参数的操作,不影响外面的变量
-对于复杂变量,包括list、set、dict等,采用传址操作,将会改变此外面的变量
def b(n): n += 100 print(n) return None bn = 9 print(bn) b(bn) print(bn)
关于列表的函数
a = ["a","b","woaizhangsiqi",33,100] #append 插入一个内容,在末尾追加 a.append(100) #insert 指定位置插入 a.insert(位置,data) #del 删除 #pop(常用),从对位拿出一个元素,即把最后一个元素取出来 last_ele = a.pop() print(last_ele)取出 #remove: 在列表中删除指定的元素,如果删除的值在list中没有,则报错 #即,删除指定的值应该使用try excepty语句,或者先行判断 if x in list: list.remove(x) a.remove(data)#删除后的list还是原来的位置,可用id验证 #clear:清空 a.clear()#删除后的list还是原来的位置,可用id验证 #reverse:翻转 a.reverse()#翻转后的list还是原来的位置,可用id验证 #extend:扩展列表,两个列表,把一个拼接到另一个上 a.extend(b) #count:查找列表中指定值或者元素的个数 a.count(data)
-copy:拷贝,浅拷贝
-列表类型变量赋值操作示例,
a = [1,4,7,4,88] b = a #list类型简单赋值,属于传址 b[3] = 2354 print(a) 此时打印出来的a也会改变 print(b) 为了解决以上问题,可以使用copy b = a.copy()
深拷贝跟浅拷贝的区别
-浅拷贝,只拷贝第一层内容,嵌套的内容并没有拷贝
-深拷贝需要特定工具,后期老师会讲
bb = [2,5,3,[2,7,5]] cc = bb.copy() print(id(bb[3])) print(id(cc[3]))
元组-tuple
-特性:有序,数据值可以访问,但内容不能修改,数据可以是任意类型,元组可以看成是一个不可更改的list
-特性:也具有list各种特点,包括索引,切片,运算等(这些操作会重新创建一个新的对象),此处不再写
#创建元组 t = () print(type(t)) #创建只有一个值的元组 t = (1,)此逗号必须带,不带是int print(1) t = 1, 也表示元组 #创建多个值的元组 t = (2,4,6,8,4) t = 2,4,6,8,4 #list转换成元组 l = [1,4,6,3] t = tuple(l) #元组的遍历,一般采用for 循环 #双层元组遍历 t = ((2,5,8),(2,4,3),(3,6,8)) for i in t: print(i) for k,m,n in t: print(k,"....",m,".....",n)