zoukankan      html  css  js  c++  java
  • 学习Python第十一天

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-

    # 开放封闭原则
    # def outer(func):
    # # func 原来的f1函数
    # def inner1():
    # print('start')
    # print('start')
    # print('start')
    # r = func() # r = none
    # print('end')
    # return r
    # return inner1
    # # return lambda :123
    #
    #
    # @outer
    # def f1():
    # print('f1')
    # return '000'
    #
    # a = f1()
    # print(a)

    # 1、执行outer函数,并且将其下面的函数名,当成参数传递进去
    # 2、将outer的返回值重新赋值给 F1 = outer的返回值

    def outer(index):

    def inner(*args, **kwargs):
    print('123')
    a = index(*args, **kwargs)
    print("456")
    return a

    return inner

    def outer1(index):
    def inner(*args, **kwargs):
    print('第二')
    a = index(*args, **kwargs)
    return a
    return inner


    #
    # ####################
    # a = index(1, 2)
    #
    # print(a)
    @outer1 #谁在上面先执行谁
    @outer
    def aa(a1):
    print(a1)
    b = aa(11)
    print(b)


    # index()
    # a = index()
    # print(a)
    # 只要函数应用装饰器,那么函数就被重新定义,重新定义为:装饰器的内层函数
    # aaa
    # 1、执行outer函数,将index座位参数传递
    # 2、将outer的返回值,重新复制给index

    # 一个函数上面可以应用多个装饰器
  • 相关阅读:
    transform:translate -50%解释
    无缝滚动条
    css二维画面练习-扑克牌
    css二维动画
    ORM了解
    socket总结
    2016/9/23总结电脑内容
    winform控件跨线程委托
    HttpRequestMessage
    vue设置每个页面的头部title
  • 原文地址:https://www.cnblogs.com/tornados/p/7902852.html
Copyright © 2011-2022 走看看