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

    # 一个函数上面可以应用多个装饰器
  • 相关阅读:
    PyQt4信号与槽
    Amazon Redshift数据库
    NoSQL数据库的认识
    如何划分子网
    VPC见解
    Linux之添加交换分区
    MySQL基础之 标准模式通配符
    MySQL基础之 LIKE操作符
    MySQL基础之 AND和OR运算符
    MySQL基础之 索引
  • 原文地址:https://www.cnblogs.com/tornados/p/7902852.html
Copyright © 2011-2022 走看看