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'