好奇是否有办法在一个函数中打印和返回而不将输出分配给变量?
考虑以下代码:
def secret_number(secret_number_range):
return random.randrange(1, secret_number_range + 1)
有没有办法引用为return语句而存储的变量?
答案 0 :(得分:5)
我认为没有任何直接或“简单”的方法。但是,一种方法是定义一个打印它的装饰器。例如:
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)