Python 返回前打印值

Python 返回前打印值,python,python-2.7,syntax,Python,Python 2.7,Syntax,我有一个python函数 def foo(): ''' some code ''' return handle.fetch_some_result() 我想实现这个目标: def foo(): ''' some code ''' value = handle.fetch_some_result() print value return value 因此,我如何实现这一点,但不使用上述代码(有点难看)是否有

我有一个python函数

def foo():
    '''
     some code
    '''

    return handle.fetch_some_result()
我想实现这个目标:

def foo():
    '''
     some code
    '''

    value = handle.fetch_some_result()
    print value
    return value
因此,我如何实现这一点,但不使用上述代码(有点难看)
是否有一些优雅的方法可以做到这一点,但不使用中间变量(
value
),或者在python中是否可以


谢谢

您可以轻松编写一个帮助器函数来实现这一点,我不知道任何内置函数:

def print_return(value):
    print value
    return value

你做这件事的方式没有问题。如果您不喜欢函数中的打印,您可以一直打印返回值

def foo():
    '''
     some code
    '''

    return handle.fetch_some_result()

result = foo()
print result

你的实际问题是什么?是否要打印并返回值?然后你只有很少的选择,只能再次调用这个方法或者使用一个局部变量。它并不丑陋(如果丑陋被定义为非语言化,如果它被定义为遵循pep8和Python的禅宗)。除了使用变量或调用该方法两次之外,我知道没有其他方法。在这两种方式之间,我个人更喜欢你已经在做的事情。