ww185912 发表于 2023-1-8 18:26:26

为啥装饰器和小鱼儿讲的不一样啊,求助大佬

本帖最后由 ww185912 于 2023-1-8 20:14 编辑

def trim_function_1(content):
    def square_function(function):
      def compute_function():
            print(f"函数开始运行,进行{content}运算")
            num = function()
            num = num * num
            print(f"函数运行完成")
            return num
      return compute_function
    return square_function

def trim_function_2(content):
    def cubic_function(function):
      def compute_function():
            print(f"函数开始运行,进行{content}运算")
            num = function()
            num = num * num * num
            print(f"函数运行完成")
            return num
      return compute_function
    return cubic_function

@trim_function_2(content="立方")
@trim_function_1(content="平方")
def num_function():
    return 3

print(num_function())


不知道为啥和小鱼儿讲的顺序不一样啊!,大佬们给指点一下迷津
运行后不应该是先平方再立方吗???

但我运行完后是这样的:
函数开始运行,进行立方运算
函数开始运行,进行平方运算
函数运行完成
函数运行完成
729

狐狼 发表于 2023-1-9 07:08:36

23行立方和24行平方倒一下试试{:10_256:}
页: [1]
查看完整版本: 为啥装饰器和小鱼儿讲的不一样啊,求助大佬