python 基础系列14-picke,函数闭包,装饰器

# 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
    

猜你喜欢

转载自blog.csdn.net/qq_31866793/article/details/104403727