为什么 result.upper() 函数在装饰器上不起作用

问题描述 投票:0回答:1

为什么 result.upper 不起作用。它应该返回大写的早上好,但它没有返回。

def upper_function(original_function):
    def wrapper_function(original_function):
        result=original_function()
        result.upper()
        return
    return wrapper_function


def inner_function(original_function):
    def wrapper_function():
        return
    return


@upper_function
def greet(a):
    print(a)
    

greet("good morning")
function methods python-decorators
1个回答
0
投票

因为您在包装函数内传递了original_function参数,并且upper方法尝试将函数转换为大写,这是不可能的。所以,请尝试这个:

def upper_function(original_function):
    def wrapper_function(val):
        return val.upper()
    return wrapper_function

@upper_function
def greet(a):
    print(a)

greet("good morning")
© www.soinside.com 2019 - 2024. All rights reserved.