D14 集合set 函数def

 

把 字符串  元祖 变成集合的方法   因为列表是可变的所以不能变为集合

 # s=set('hello')
# print(s)
#
# s=set(['alex','alex','sb'])
# print(s)

# s={1,2,3,4,5,6}

#添加
# s.add('s')
# s.add('3')
# s.add(3)
# print(s)

# s.clear()
# print(s)

# s1=s.copy()

s={'sb',1,2,3,4,5,6}
#随机删
# s.pop()

#指定删除
# s.remove('sb')
# s.remove('hellol') #删除元素不存在会报错
# s.discard('sbbbb')#删除元素不存在不会报错
# print(s)


# python_l=['lcg','szw','zjw','lcg']
# linux_l=['lcg','szw','sb']
# p_s=set(python_l)
# l_s=set(linux_l)
# #求交集
# print(p_s,l_s)
# print(p_s.intersection(l_s))
# print(p_s&l_s)
# #求并集
# print(p_s.union(l_s))
# print(p_s|l_s)
# #差集
# print('差集',p_s-l_s)
# print(p_s.difference(l_s))
# print('差集',l_s-p_s)
# print(l_s.difference(p_s))

 

 

#交叉补集
# print('交叉补集',p_s.symmetric_difference(l_s))
# print('交叉补集',p_s^l_s)

python_l=['lcg','szw','zjw','lcg']
linux_l=['lcg','szw','sb']
p_s=set(python_l)
l_s=set(linux_l)
print(p_s,l_s)
# print('差集',p_s-l_s)
# p_s=p_s-l_s
p_s.difference_update(l_s)
print(p_s)

# s1={1,2}
# s2={2,3,5}
# print(s1.isdisjoint(s2))

s1={1,2}
s2={1,2,3}
print(s1.issubset(s2))#s1 是s2 的子集
print(s2.issubset(s1))#False

print(s2.issuperset(s1))#s1 是s2 的父集

s1={1,2}
s2={1,2,3}
# s1.update(s2) #更新多个值

# s1.add(1,2,3,4) #更新一个值
# s1.union(s2) #不更新

print(s1)

 函数def

def  函数的格式

test  函数的名称

def text(x, y, z):
    y = x * 2 + 1
    z = 8 + y
    x = z + 9
    print(x,y,z)
    return (x,y,z)


text(4,3,2)


text(y=10,x = 3,z=2)

a = text(2,4,5)
print(a)

函数由于 自变量不同而导致因变量不同的正确姿势

 

 

#位置参数,必须一一对应,缺一不行多一也不行
# test(1,2,3)

#关键字参数,无须一一对应,缺一不行多一也不行
# test(y=1,x=3,z=4)

#位置参数必须在关键字参数左边
# test(1,y=2,3)#报错
# test(1,3,y=2)#报错
# test(1,3,z=2)
# test(1,3,z=2,y=4)#报错
# test(z=2,1,3)#报错

 

 

def handle(x, type='mysql'):
    print(x)
    print(type)
#上面是函数的过程  也叫做形参
#下面的会占内存空间  也叫实参
handle(
'hello')#这个是给函数提供自变量 handle('hello', type='sqlite') # 此时更改了函数

函数的参数组

参数组:**字典 *列表

1   *列表

def test(x,*args):
    print(x)
    print(args)


test(1)
test(1,2,3,4,5)
test(1,{'name':'alex'})
test(1,['x','y','z'])
test(1,*['x','y','z'])   #前面加了*
test(1,*('x','y','z'))   #前面加了*

输出的结果

1
()
1
(2, 3, 4, 5)
1
({'name': 'alex'},)
1
(['x', 'y', 'z'],)
1
('x', 'y', 'z')
1
('x', 'y', 'z')

 

 

 

 

2字典

def test(x, **kwargs):
    print(x)
    print(kwargs)


test(1, y=2, z=3)  # test(1,1,2,2,2,2,2,y=2,z=3)
#test(1, y=2, z=3, z=3)  # 会报错 :一个参数不能传两个值

 

posted @ 2018-07-14 09:46  Mr喃先森  阅读(235)  评论(0编辑  收藏  举报