15 集合与函数

数字 字符串 元组
集合的定义: 1.不同元素组成 2.无序 3.集合中元素必须是不可变类型

不可变:数字 字符串 元组
可变:列表 字典

访问顺序:
直接访问:数字 顺序访问:字符串 列表 元组 映射:字典

存放元素个数:
容器类型:俩表 元组 字典
原子类型:数字 字符串

集合创建方式:

s = {1,2,3,4}
set_test=set('hello')
{'h','e','l','o'}




内置方法:

s.add('s')    #添加元素
s.clear()    #清空元素
sl = s.copy()    #拷贝
s.pop()    #随意删除一个元素
s.remove('x')    #删除指定元素x    如不存在 报错
s.dicard('x')    #删除指定 如不存在 不报错

p_s l_s    #两个集合
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 .difference l_s)
print (p_s ^ l_s)    #交叉补集 两者合并出去交集
print (p_s .symetric_difference l_s)
print (p_s .isdisjoint l_s)    #二者交集为空 返回TRUE
print (p_s .issubset(l_s))    #前者是后者的子集 返回TRUE
print (p_s .issupset(l_s))    #前者是后者的父集 返回TRUE
#以s1 s2代指
s1.add(s2)    #更新多个值 也可以插入元组

s = frozenset('hello')    #大部分集合是可变类型,这种是不可变集合


百分号字符串连接

msg = 'i am %s my hobby is %s' %('lhf','alex') 
#%s 可以接受一切    %d 仅仅数字
#%f    默认保留六位    %.2f    保留二位    浮点数
mas = " i am %(name)s age"    %{'name':'alex'}    #name取K值的value

print ('a','x','v','n',sep=':')    


常用格式化

mas="i am {} age {} {} ".farmat("alex",12,"hello")
mas="i am {2} age {1} {0} ".farmat("alex",12,"hello")
#按照索引取值
mas="i am {name} age {age} {name} ".farmat(name= “seven”,age=18)
#字典形式取值,如果后面写标准字典形式,前加**
mas="i am {:s} age {:d} {:f} ".farmat("alex",12,13.12)


函数
定义方法:
def test(x) #test函数名 x形参
"the function definitions" #文字描述 非必要 但最好有
x+=1 #泛指程序处理逻辑
return x #定义返回值

使用函数的好处:1.代码重用
2.保持一致性 易维护
3.可扩展性
过程: 没有返回值的函数
返回多个值 打印一个元组
若果无返回值 返回None

函数参数:形参和实参 未知参数 默认参数 参数组
1: 只有在调用时才分配内存 调用结束 释放所分配内存
2: 可以是常量 表达式 变量 函数等
3. 位置参数 必须一一对应 缺一不可

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


5.

def test (x,*args)    #*列表 **字典
  print(x)
  print(args)
test (1,2,3,5,6,8) 

def test(x,*args,**kwargs):
  print(x)
  print(args,args[-1])
  print(kwargs,kwargs.get('y'))
test(1,*[1,2,3],**{"y":1})














猜你喜欢

转载自www.cnblogs.com/louzhiyuan/p/10385890.html