一、字典(Dictionary)
1.使用键值(key-value)存储形式,有极快的查找速度,是无序的。
key的特性:必须唯一、不可变对象。
例如创建一个字典:dict = {“Tom”:70,"Jack":80}
2.元素的访问:dict[key],获取key的内容。
也可以 dict.get("内容"),没有返回None,否则会显示。
3.元素添加:dict["键值"]=内容,若键值(key)存在时,继续添加会覆盖。
4.元素删除:dict.pop("key"),删除键值是key的元素
5.遍历:for key in dict:
操作
也可以用元素值查找 ,用dict.values()。
二、装饰器(是一个闭包,把一个函数当参数返回)
1.一个简单的装饰器:
def f1():
print("Hello")
def outer():
print("***")
f1()
outer()
对f1()函数进行装饰
2.复杂一点的装饰器:
对say()函数进行装饰,年龄不合法的时候,将年龄设置为0,使用@应用到函数中。def outer(func):
def inner(age):
if age<0:
age=0
func(age)
return inner
# 使用@符号将装饰器应用到函数
@outer
def say(age):
print("XiaoMing is %d years old"%age)
say(-10)
3.通用装饰器:
*args和**kwargs可以设置装饰的函数内的参数不唯一,可以传入多个参数。def outer(func):
def inner(*args,**kwargs):
print("*****")
func(*args,**kwargs)
return inner
# 使用@符号将装饰器应用到函数
@outer
def ss(name,age):
print("%s is %d years old"%(name,age))
ss("XiaoMing",35)