Python 函数中发生了什么?

Python 函数中发生了什么?,python,function,Python,Function,这应该是在另一个函数中调用函数的正确方法: def function1(): print("Hello!") def function2(): function1() function2() 这里它应该给出一个None,因为我没有返回任何值。为什么输出中没有 你好! 我试过这个: print(function2()) 当我在print()函数中调用函数时,为什么它给我的结果是无 你好! 没有一个 但当我这样做的时候,为什么它会给我同样的结果呢 de

这应该是在另一个函数中调用函数的正确方法:

def function1():
    print("Hello!")

def function2():
    function1()

function2()
这里它应该给出一个None,因为我没有返回任何值。为什么输出中没有

你好!
我试过这个:

print(function2())
当我在
print()
函数中调用函数时,为什么它给我的结果是无

你好!
没有一个
但当我这样做的时候,为什么它会给我同样的结果呢

def function1():
    print("Hello!")

function2 = function1

function2()
这里我刚刚将
function1
分配给
function2
。我没有做任何
function2()
。但是,当我调用
function2()
时,为什么它会给出
function1()
的结果

你好!

看看前面的问题,我建议您学习一些关于Python的基本课程,而不是问这些类型的问题

当您没有给出明确的return语句时,任何函数都将返回None。打印函数时,打印其返回值<代码>返回和打印不一样

因此
print(function2())
function2
调用
function1
function1
打印Hello,
function1
返回
None
(但由于未分配该值,因此未使用该值),
function2
然后向打印None的打印函数返回None。首先,代码打印Hello,然后是None

在上一个示例中,您从未打印
function2
,因此您将永远不会打印任何内容。但是,如果要使用
print(function2())
,则会打印None,因为随后会打印该函数的返回值(隐式地)None


如果您的误解更深,并且您不理解print和return之间的区别,那么我再次建议您学习Python初学者课程。

如果您使用print语句时没有可打印的内容,它将不会打印任何内容。比如打印一个不返回任何内容的函数

这很好,因为print获得要打印的字符串:

print('hello') 
这是因为print仍然得到一个要打印的字符串,并且在调用function1之后调用它

def function1():
  print('hello')

function1()
它首先调用function1,从而在其中运行print语句,然后继续打印函数的返回值,因为它没有返回值,所以不会打印:

def function1():
  print('hello')

print(function1())
要实现此功能,必须使函数返回一个字符串,以便外部打印使用:

def function1():
  return 'hello'

print(function1())

如果不打印返回值(即
None
),您将看不到它。您的问题是为什么
function2
返回
None
?您的编辑使现有答案无效。我已经把它卷回去了。如果你想问一个新问题,那就发一个新问题。