列表索引for循环改内容大写

s = ["张无忌","武则天","刘备","abc","cba"]
for lst in range(len(s)):
x = s[lst].upper()
s[lst] = x
print(s)

闭包

利用闭包来保护变量,以防程序交接时被误用

# 闭包
def a() :
a = 10
def b() :
nonlocal a
a+=1
print(a)
return a
return b
c = a()
# c1 = c()
# print(c1)
# c2 = c()
# print(c2)
c()
c()

闭包延伸装饰器

z在取被修饰的函数的返回值时会运行一次

# 闭包延伸:装饰器
"""
通用装饰器的写法:
def wrapper(fn): wrapper: 装饰器, fn: 目标函数
def inner(*args, **kwargs):
# 在目标函数执行之前.....
ret = fn(*args, **kwargs) # 执行目标函数
# 在目标函数执行之后.....
return ret
return inner 千万别加()
"""
def 装饰器(fn):
def 内部(*args,**kwargs):
print("进入")
z = fn(*args,**kwargs)
print("退出")
return z
return 内部

@装饰器 #相当于 被装饰 = 装饰器(被装饰)
def 被装饰(a,b,c,d):
print(a,b,c,d)
return 0
被装饰("1","2","3","4")

Python学习经历_学习