请问是否有一种方法可以在一个函数中打印和返回值而不需要将输出赋值给变量?
考虑以下代码:
def secret_number(secret_number_range):
return random.randrange(1, secret_number_range + 1)
有没有办法引用存储为返回语句目的的那个变量?
请问是否有一种方法可以在一个函数中打印和返回值而不需要将输出赋值给变量?
考虑以下代码:
def secret_number(secret_number_range):
return random.randrange(1, secret_number_range + 1)
我认为没有任何直接或“简单”的方法可以实现这一点。然而,一种方法是定义一个装饰器来打印这个内容。例如:
import random
def print_return(func):
def func_wrapper(param):
rv = func(param)
print("Return value: {0}".format(rv))
return rv
return func_wrapper
@print_return
def secret_number(secret_number_range):
return random.randrange(1, secret_number_range + 1)
# with this, this call would result in "Return value: 3" being printed.
c=secret_number(4)