、
# python 基础系列14-picke,函数闭包,装饰器
# 引入sys库
import sys
import copy
from functools import reduce
import os
import pickle
def func(num):
def func1(num1):
print(num + num1)
return func1
# 定义func_01
def func_01(func):
def add_func():
print('这是我要添加的功能')
return func() # 返回传入的函数调用
return add_func # 返回函数名
# 普通装饰器
@func_01
def func_02():
print('hello world')
def test01(func):
def infunc(a,b):
print('内部函数')
a = 1
b = 2
return func(a,b)
return infunc
@test01
def test02(x, y):
print('被装饰的函数02')
print(x+y)
if __name__ == '__main__':
# picke 做持久化
# print(dir(pickle))
# 存储为二进制
# list = [1,2,3]
# pick_obj = pickle.dumps(list)
# 使用
# str = pickle.loads(pick_obj)
# print(str)
# 直接写入到文件中 b 代表二进制文件
# myfile = open('C:\\Users\\Administrator\\Desktop\\111\\1.txt','wb+')
# pickle.dump(list,myfile)
# myfile.close()
# 读取文件
# myfile2 = open('C:\\Users\\Administrator\\Desktop\\111\\1.txt','rb')
# rs2 = pickle.load(myfile2)
# print(rs2)
# 函数闭包 ,调用一个函数,返回的是一个函数,内部函数就是闭包函数
# var = func(10)
# var(20)
# 装饰器 func_01是装饰器函数 func_02是被装饰的
# func_02() # 先执行func_01函数 后执行func_02函数
# 比较复杂的装饰器函数
test02(10,20)
#装饰器函数带参数
装饰器函数:
# python 基础系列14-正则 # 引入sys库 import sys import copy from functools import reduce import os import pickle import re if __name__ == '__main__': regex = re.compile('^a') rs = re.match(regex,'abcd') print(rs) #<_sre.SRE_Match object; span=(0, 1), match='a'> print(rs.group()) # a