想问一下这两个为什么不一样且有什么含义吗(语言-python)

当我把最后两行都注释掉的时候,则正常显示后就没有了。
当我把倒数第二行注释掉的时候,就会多出现如图的一行function.

img

当我把最后一行注释掉的时候就会多出一行none如图所示。

img

我想请问一下为什么这两种情况都会比正常调用函数多出一行且为什么还是不一样的两行?多出现的两行有什么特殊含义吗

第一个print的是函数名,输出的就是函数地址
第二个print的是函数调用后的返回值,由于函数没有返回值,所以输出None

加括号是调用,不加括号就是输出的函数对象在内存中的地址,调用函数没有显示的返回值的时候,默认返回None

该回答引用GPTᴼᴾᴱᴺᴬᴵ
在第一个例子中,您在调用repeator (' wa', 3)之后,又尝试打印repeator函数本身,这导致Python打印函数对象的字符串表示形式。这是因为函数是一种对象,可以像其他对象一样被打印或引用。<function repeator at 0x000001997D7D2200>是函数的字符串表示形式,其中0x000001997D7D2200是函数在内存中的地址。
·
在第二个例子中,您注释掉了打印函数的代码,但没有返回任何值,因此Python在函数完成后打印了None。这是Python中的默认返回值,表示函数没有返回任何值。
·
请注意,在第一个例子中,即使您注释掉了打印函数对象的代码,Python仍会打印函数的返回值,即wawawa。这是因为函数在执行时已经计算了返回值,即使您没有引用它,Python仍会打印它。

repeator 是一个定义好的方法,没有返回值

在有圆括号的时候,就会运行,如果没有圆括号的时候,返回定义本身

print(repeator) -> 输出方法本身
repeator('wa',3) -- > 调用方法,方法自身输出
print(repeator('wa',3)) -- > 调用方法,方法自身输出结果, print 未接收到返回值,输出一个 None