#闭包的形成条件:1、嵌套的函数 2、外层函数必须返回内层函数的函数值
#3、内层函数必须使用外层函数的变量
'''def hanshu(b):
#闭包
a=6
def nb(c):
d=a*b-c
return d
return nb
x=hanshu(5)
print(x(4))
print(x(6))'''
#装饰器是对@以下的部分进行封装,修饰的函数
''''def wb(fz):
def nb(n):
print("@@@@@@@@@@@@@@@@@")
fz(n)
print("@@@@@@@@@@@@@@@@@")
return nb
def dd(nz):
def bw(x):
print("#################")
nz(x)
print("#################")
return bw
@dd
@wb
def ych(name):
print(name,"买了否冷")
ych("蒋博文")'''
'''f=open("a.txt","r")
a=f.readline()
if len(a)>0:
for d in eval(a):
if d%5==0 or d%7==0:
print(d)
c=f.readline()
f.close()
for x in range(0,len(a),2):
b=int(x)'''
f=open("a.txt","r",encoding="utf-8")
d=eval(f.readline())
print(d,type(d))
print(d['score'],type(d['score']))
d=eval(f.readline())
print(d,type(d))
d=eval(f.readline())
print(d,type(d))
d=eval(f.readline())
print(d,type(d))
f.close()
'''class Student():
ID=0
name=""
adress=""
def say(self):
print(self.ID,self.name,self.adress)
zs=Student()
zs.ID=12345
zs.name="张三"
zs.adress="上海"
zs.say()
lis=Student()
lis.ID=14444
lis.name="李四"
lis.adress="北京"
lis.say()'''
'''class Student():
count=0
def __init__(self,name,age):
self.name=name
self.age=age
self.xg="小狗"
self.zhu="猪"
s1=Student("张三",18)
s2=Student("李四",20)
print(s1.name,s1.age,s1.xg,s1.zhu)
print(s2.name,s2.age,s1.zhu)
Student.count+=1
print(Student.count)'''
'''class Student():
def __init__(self,name):
self.name=name
def say(self):
print(self.name,self.sex)
zs=Student("张三")
zs.sex="男"
zs.say()'''
'''class Student():
def hehe(self,name):
self.name=name
def haha(self):
self.hh=10012
def p(self):
print(self.zhu)
zs=Student()
zs.zhu="猪头"
zs.hehe("张三")
print(zs.name)
zs.p()'''
'''class Student():
count=0
def __init__(self,name,age,sex):
self.name=name
self.age=age
self.sex=sex
Student.count+=1
def say(self):
print(self.name,self.age,self.sex)
zs=Student("张三",18,"男")
ls=Student("李四",20,"男")
zs.say()
ls.say()
zs.count=10
delattr(zs,'count')
print(Student.count)
print(zs.count)
print(ls.count)'''
'''class Student():
count=1
def __init__(self,name):
self.name=name
@classmethod
def say(cls):
print(cls.count)
def do(self):
print(self.name)
zs=Student("张三")
Student.say()
zs.do()'''
'''class Student():
count=5
def __init__(self,name):
self.name=name
@staticmethod
def jt():
print("我只是一个方法,和类与对象没有一点关系")
s1=Student("张三")
s1.jt()'''
'''class Student():
count=5
def __init__(self,name):
self.name=name
@staticmethod
def jt(j1,j2):
print(j1*j2)
@classmethod
def lf(cls,cls1,cls2):
print(cls1*cls2*cls.count)
def cy(self,n):
print(self.name*n)
s1=Student("张三")
Student.jt(4,5)
Student.lf(3,5)
s1.cy(3)'''