二.字典
1.格式:变量名={key1:value,key2:value}
2.特点:有序,不可重复,可变,任意类型,性能不好
3.根据键访问
1.z={key1:value,key2:value}
print(z["key"])
2.z={key1:value,key2:value}
print(z.get("name"))
4.修改
1.有对应的key
z["key"]="value"
print(z)
2.没有对应的key是新增数据到末尾
5.添加
z["key"]="value"
6.删除
1.del
del z["key"]
print(z)
2.clear:清空字典里的内容
z.clear()
print(z)
7.长度
print(len(z))
8.字典循环
1.取出key
for i in z.keys():
print(i)
2.取出value
for i in z.values():
print(i)
3.取出key和value方法一
for i,j in z.items():
print(i,j,sep=":")
4.取出key和value方法二
for i in z.keys():
print(i,z[i],sep=":")
5.扩充的
for i,j in enumerate(z):
print(i,j,z[j])
十二单元 集合和函数
一、集合
1.集合的特点:无序、唯一、去重
2.格式:j={元素,元素}
3.添加:
1.j.add(元素)
2.
j={1,"vfd",5,2,"vedfbrgb"}
i=["小何","真美",48]
j.update(i)
4.删除
1.remove:删除集合中的元素 如果有直接删除 如果没有程序报错
j.remove(元素)
2.pop:都是数字,删最小的,其余升序排序;
都是非数字,随机删,其余随机排序;
数字和非数字,随机删,删数字的话就是最小的,删非数字的话,随机删
注意:如果集合中没有元素,则报错
j.pop()
3.discard:如果元素存在直接删除 如果元素不存在不做任何操作
j.discard(元素)
5.交集
连接多个集合,输出相同的元素(set可用)
j={1,"vfd",5,2,"vedfbrgb"}
• i={5,2,"小","美",48}
• a=j&i
• print(a) #{5,2}
6.并集
去重,得到全部集合中全部的元素
j={1,"vfd",5,2,"vedfbrgb"}
• i={5,2,"小","美",48}
• a=j|i
• print(a) #{1, 2, 5, 48, '真', '小', 'vfd', 'vedfbrgb'}
7.公共方法
1.加(列表和元祖可用)
j=(1,"vfd",5,)
i=(5,48)
print(j+i) #(1, 'vfd', 5, 5, 48)
2.乘(列表和元祖可用)
j=(1,"vfd",5,)
i=(5,48)
print(j*2) #(1, 'vfd', 5, 1, 'vfd', 5)
3.包含(in)(列表和元祖和字典可用)
j=(1,"vfd",5,)
print(1 in (j)) #True
j=(1,"vfd",5,)
print(6 in (j)) #False
4.不包含(no in)(列表和元祖和字典可用)
j=(1,"vfd",5,)
print(1 not in (j)) #False
j=(1,"vfd",5,)
print(6 not in (j)) #True
8.内置函数
长度:print(len(变量名))
最大值:print(max(变量名))
最小值:print(min(变量名))
del:第一种:del 变量名
第二种:del(变量名)
二、函数
1.什么是函数
其实就是方法、功能
2.函数的定义和调用
格式:
def函数名():
执行语句
函数名()
3.函数参数
1.正常的
defadd2num():
a=11
b=22
c=a+b
printc
2.位置参数
def函数名(参数1,参数2):
代码块
函数名(值1,值2)
3.关键字参数
def函数名(参数1,参数2):
代码块
函数名(参数1=值1,参数2=值2)
案例:deffun(a,b):
print("a:",a)
print("b:",b)
fun(a=2,b=3)
案例二:deffun(a,b):
print("a:",a)
print("b:",b)
fun(3,b=2)
注意:位置参数一定要在关键字参数之前
4.缺省参数(默认参数)
案例一:
defprintinfo(name,age=20):
print("name:",name)
print("age:",age)
printinfo(name="anfly")
#name: anfly
#age: 20
案例二:
defprintinfo(name,age=20):
print("name:",name)
print("age:",age)
printinfo(name="anfly",age=10)
#name: anfly
#age: 10
注意:缺省参数一定要位于位置参数的最后面
5.不定时参数
*args:为元组
**kwargs:为字典
defprintinfo(*args,**kwargs):
print("args:",args)
print("kwargs:",kwargs)
printinfo(1,2,3,a=5,b=6)
#args:1,2,3
#kwargs:a=5,b=6
6.参数位置顺序
deffun(位置参数,*args,缺省参数,**kwargs):
代码块
fun(参数值)
案例:
deffun(a,b,*args,c=6,**kwargs):
print("a=",a)
print("b=",b)
print("args=",args)
print("c=",c)
print("kwargs=",kwargs)
fun(1,2,3,4,5,9,c=1000,f=45,cf=65)
#a= 1
#b= 2
#args= (3, 4, 5, 9)
#c= 1000 如果下面的fun不给c=1000的话下面输出的c的值就为6
#kwargs= {'f': 45, 'cf': 65}
4.函数返回值
def fan(a,b):
return a+b
print(fan(1,2)) #3
5.函数类型
1. 无参数,无返回值
2. 无参数,有返回值
3. 有参数,无返回值
4. 有参数,有返回值
6.匿名函数
lambda函数也叫匿名函数,即函数没有具体的名称
案例一:
sum=lambda a,b:a+b
print(sum(1,2)) #3
案例二:
sum=lambda a,b:100
print(sum(1,2)) #100
三、变量
1.局部变量
# 局部变量
def jv():
a=3
print(a)
def jv1():
a=99
print(a)
jv() #3
jv1() #99
2.全局变量(就近原则)
a="全局变量"
def jv():
print(a)
def jv1():
a=99
print(a)
jv() #全局变量
jv1() #99
3.局部变量升成全局变量
def jv():
a=3
global b
b="我也是全局变量"
print(a)
def jv1():
a=99
print(a)
print(b)
jv() #3
jv1() #99 #“我也是全局变量”