zoukankan      html  css  js  c++  java
  • Python 装饰器

    #装饰器目的:是在执行原函数之前或之后做点其他的事

    #
    装饰器(前) def outer(func): def inner(): print("hello") print("hello") print("hello") return func() return inner @outer def f1(): print("F1") f1()

    #装饰器(后)
    def outer(func):
        def inner():
            print("hello")
            print("hello")
            print("hello")
            r= func()
            print('CCC')
            print('CCC')
            print('CCC')
            return r
        return inner
    
    @outer
    def f1():
        print("F1")
    
    f1()

    #1、执行outer函数,并且将其下面的函数名当做参数

    #2、将outer的返回值重新赋值给f1=outer的返回值

    #新f1函数 = inner

    上面是没有参数的,来两个有参数的

    #装饰器(后)
    def outer(func):
        def inner(a1,a2):
            print("hello")
            print("hello")
            print("hello")
            r= func(a1,a2)
            print('CCC')
            print('CCC')
            print('CCC')
            return r
        return inner
    
    @outer
    def f1(a1,a2):
        print("F1")
        return a1+a2
    print(f1(1,2))

  • 相关阅读:
    155. 最小栈
    160. 相交链表
    PAT 1057 Stack
    PAT 1026 Table Tennis
    PAT 1017 Queueing at Bank
    PAT 1014 Waiting in Line
    PAT 1029 Median
    PAT 1016 Phone Bills
    PAT 1010 Radix
    PAT 1122 Hamiltonian Cycle
  • 原文地址:https://www.cnblogs.com/youmingkuang/p/7533486.html
Copyright © 2011-2022 走看看