Set集合

Set简介:

无序,不重复序列

使用{}创建

li=[11,22,11,22]
se1=set(li)   #将列表转换成集合

 

功能



se={"zhang",'tie'}   创建集合 print(type(se))   查看类型 li=[11,22,11,22]   创建列表 se1=set(li)   #将列表转换成集合 se1.add(123)   添加



取差集



s1={11,22,33} s2={22,33,44} s3=s1.difference(s2)   取出来的s3值是,在s1中存在,在s2中不存在的 print(s3)



{11}



 



s4=s1.symmetric_difference(s2)   s1和s2中互为不存在的 print(s4)



{11, 44}



 



s1.difference_update(s2)   将s1中存在,s2中不存在的更新到s1中 print(s1)



{11}



 



s={11,22,33,44} s.discard(11)   移除指定元素,不存在不报错 print(s)



{33, 44, 22}



 



s.remove(11)   移除指定元素,不存在报错



 



s={11,22,33,44} s5=s.pop()   #随机移除,将移除的内容赋值 print(s) print(s5)



{11, 44, 22}



33



 



s1={11,22,33} s2={22,33,44} s3=s1.intersection(s2)   #取交集 print(s3)



 



 



s1={11,22,33} s2={22,33,44} s1.intersection_update(s2)   #取交集后,重新赋值给交集 print(s1)



 



s1={11,22,33} s2={22,33,44} s3=s1.union(s2)   #取并集 print(s3)



 



s1={11,22,33} s2=[33,44,55] s1.update(s2)    批量添加,s2是可以迭代的对象(可以被for循环的) print(s1)



  



函数

1、  关键字def

2、  函数名

3、  ()

4、  函数体(具体的内容)

5、  返回值

 

在函数中,一但执行了return,函数的执行过程立即终止



def f2():
    print(123)
    return "111"
    print(234)   #不会执行
r=f2()
print(r)



返回值需要我们赋值给一个变量

在行数中,如果我们没有return,会有默认的返回值

 

函数参数

 

形式参数



def f(xx):
    pass

f("zhang")
#我们在定义函数时,括号中的xx就是形式参数,在函数中可以调用,在调用函数时,括号中的”zhangtie“就是实际参数



默认参数:



def send(xx,cc,zz="ok"):
    print(xx,cc,zz)
send(11,22)
send(11,22,33)

输出:

11 22 ok

11 22 33



上面中的zz就是默认参数,我们给了一个默认值”ok”,当我们在传参数时,如果给了值就用我们给的,如果没有就用默认的

 

指定参数



def send(xx,cc):
    print(xx,cc)
send(cc=11,xx=22)



1、  普通参数

2、  默认参数(放在最后)

3、  指定参数

 

动态参数



def send(*xxcc):
    print(xxcc)
send(22,33,44)

(22, 33, 44)

xxcc带*号,动态的接收传参,我们可以传多个参数,会以元祖的形式输出,每一个参数,变成元祖的一个元素。

我们还可以给他传列表,在列表名家*号列表中的每个元素会变成元祖中的元素,不加*,整个列表会成为元祖中的一个元素。



两个*



def send(**xxcc):     print(xxcc) send(zzz=33)



我们在传参数时,需要以指定参数的形式传,在函数中会成为一个字典,我们在往里面传字典的时候,可以加两个*,字典中的元素,会变成形式参数中字典的元素

 

                       

 



Python在传值的时候,传的是引用,而不是值



全局变量,在所有的作用域都能读,如果想在函数中,修改全局变量,需要加关键字global



 

三元运算



#三元运算
if 1 == 1:
    name = "zhangtie"
else:
    name="SB"



name= "zhangtie" if 1 == 1 else "sb"

简写的if

lambda 表达式



 

def f1(a1):
    return a1 + 100
ret =f1(100)
print(ret)
f2 = lambda a1: a1 + 100
ret2=f2(100)
print(ret2)



 

内置函数

 



#内置函数 #abs  取绝对值 ''' n = abs(-1) print(n) '''



n= all([1,2,3,0]) #所有为真则为真 print(n) False



 



#any只要有一个为真,就为真 n = any([0,1]) print(n)



True

 

 



#bin() 十进制换二进制 print(bin(12))



 



#oct()  十进制转八进制 #hex()  十进制转十六进制



 



#字符串转换成字节 s = "张铁" n=bytes(s,encoding="utf-8") print(n)



b'\xe5\xbc\xa0\xe9\x93\x81'