(三元运算、深浅拷贝、动态参数、全局变量与局部变量、set数据类型 )
set 数据类型--无序,不重复的集合
一.三元运算、三木运算--减少代码量
name=“X1”if 条件 else “x2”
例子:name =" alsx" if 1==1 else "e"
二.深拷贝与浅拷贝:深拷贝拷贝所有的东西,浅拷贝拷贝最外面一层。
三、面向函数的编程(先前都是面向过程的编程)
生成函数>-执行函数>-返回执行的结果
def email(): #定义一个函数
if True:
return True
else:
return False
ret=email() #执行一个函数
if ret: #返回执行的结果
print("很酷")
else:
print("辣鸡")
#写一个发送邮件的函数:(p 为形式参数,传一个参数,接受一个参数) #形式参数可以传入多个
#传入多个形式参数
#函数编程:
1、def 函数名(形参):
函数体
return “123”
(返回值return 一旦执行return,return下面的代码将不再执行)
2、函数名(实际参数)
3、形参、实参(默认按照顺序)(可以指定形式参数来传入实际参数,可以实现不按照向形式参数的顺序)
4、函数可以有默认参数
5、#动态参数一
def fun(*a):
print(a,type(a))
fun(123,2456,{"he":123})
#动态参数二
def fun(**a):
print(a,type(a))
fun(k1=123,k2=2456,k3={12:"name","je":23})
#万能参数
def fun(p,*a,**aa):
print(p,type(p))
print(a,type(a))
print(aa,type(aa))
fun(11,22,k1=123,k2=234)
第一种:
def fun(*args):
print(args,type(args))
#为动态函数传入参数
li=[11,22,33]
fun(li)
fun(*li)
输出结果:(注意两者区别)
第二种:
def fun(**kwargs):
print(kwargs,type(kwargs))
dic={"k1":"name"}
fun(k1=dic)
fun(**dic)
7、全局变量与局部变量:(局部变量p在赋值给p的时候并未改变原来的P,相当于创建了一个新的p,若要改变改变p的值,需要在p前加上global,如图第二张图所示)