求教python的这种功能能否实现

我想有一个函数,当这个函数被单独执行时会输出,但当被其他函数调用时会返回输出的内容,但不输出
比如当被直接执行时类似下面的代码:
def foo:

print 111

但当被其他函数调用时就会执行:
def foo:

return 111

意思大概就是这样,不太会表达, 说白了就是一个输出的函数,但被其他函数调用时只给调用函数返回内容不输出

阅读 1.4k
2 个回答

被其他调用是个怎么调用法?

class foo:
    def __str__(self):
        return '我是print时触发'

    def __call__(self, *args, **kwargs):
        print('111111')
a = foo()
a()
print(a)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题