python的def函数没有输出

def fun():
print('hdjkskdnbd')
fun()

源代码,运行没有输出

代码是

def fun():
    print('hdjkskdnbd')
    fun()

还是

def fun():
    print('hdjkskdnbd')
fun()

如果是上面的,运行文件确实不会有输出,因为缩进的原因,fun()没有被调用

def fun():
print('hdjkskdnbd')
fun()
第3行的调用写进函数体内了,这样调用结果:递归到超过最大深度报错退出:

Traceback (most recent call last):
File "<pyshell#3>", line 1, in
fun()
File "<pyshell#1>", line 3, in fun
fun()
File "<pyshell#1>", line 3, in fun
fun()
File "<pyshell#1>", line 3, in fun
fun()
[Previous line repeated 979 more times]
File "<pyshell#1>", line 2, in fun
print('hdjkskdnbd')
RecursionError: maximum recursion depth exceeded while pickling an object

正确的如下:
def fun():
print('hdjkskdnbd')
fun()

因为你没有在主函数中调用

def fun():
    print("aaa")

if __name__ == '__main__':
    fun()

这样就可以了,求采纳!

把fun()缩进去掉

这篇文章讲的很详细,请看:python中def函数的使用