一、集合数据类型(set):无序不重复的集合,交集、并集等功能
二、三元运算符
三、深浅拷贝
1)字符串和数字:深浅内存地址都一样
2)其他:浅拷贝:仅复制最外面第一层
- 深拷贝:除了最内层其他均拷贝
四、函数:
1)创建:def 函数名(参数)
2)返回值
- return 返回值,如果不指定return则默认返回None
- 一旦遇到return后面的代码不再执行
3)参数
- 形参、实参
- 普通参数数量要一致并且一一对应
- 指定参数,执行参数的时候指定形参=实参
- 指定参数的默认值,默认值一定要放在参数的尾部
- 动态参数 *args **args,调用的时候可以使用*实参列表,这样相当于循环实参加入元组,**字典,可以直接传输字典不需要(key1=123,key2=456)
def f1(*args): print(args)f1(11,22,33)#打印:(11, 22, 33)
def f1(**kwargs): print(kwargs)f1(k1=11,k2=22)#打印输出:{'k1': 11, 'k2': 22}
def f1(*args,**kwargs): print(args,kwargs)f1(11,22,33,k1=11,k2=22)#打印输出:(11, 22, 33) {'k1': 11, 'k2': 22}
def f1(n,*args,**kwargs): print(n,args,kwargs)f1(11,22,33,k1=11,k2=22)#打印输出:11 (22, 33) {'k1': 11, 'k2': 22}
def f1(*args): print(args)n = [11,22,33]f1(n)#打印输出:([11, 22, 33],)f1(*n)#打印输出:(11, 22, 33)
def f1(**kwargs): print(kwargs)n = { "k1":11,"k2":22}#f1(n)#报错f1(**n)#打印输出:{'k1': 11, 'k2': 22}
4)在python中传参数时,对列表、元组、字典类型传输的是引用
1 def func1(args):2 args.append(123)3 4 li = [11,22,33]5 func1(li)6 print(li) #输出[11, 22, 33, 123]
五、局部变量和全部变量
1)全局变量用大写,局部变量用小写
2)全局变量在函数内部可以使用,但不能修改,如果要修改,那么要加global 变量名
name='张三'def f1(): name="李四" #不会修改全局变量,会在函数内部新建一个变量 return(name)def f2(): return ("我的名字是" + name) #可以使用全局变量def f3(): global name #加上global之后下面可以修改全局变量的值 name = "王五" return nameprint(f1()) #李四print(f2()) #我的名字是张三print(f3()) #王五
六、判断是某个实例属于哪个类
st = 'abdc'#第二个参数可以是元组,例如判断st是字符串或字典或列表,#则可以写为:bol = isinstance(st,(str,dict,list) bol = isinstance(st,str) print(bol) #返回True,说明st是字符串类型