aironeng 发表于 2021-3-18 16:19:16

请问为什么会有一个输出为none

源码见下:

count = 5

def myfun():
    count = 10
    print(count)

print(myfun())
print(count)

输出结果见下:
10
None
5

aironeng 发表于 2021-3-18 16:20:59

查了下资料,解释如下,和各位分享


是因为python函数使用return返回值,如果不用
return, 而用print输出值,这个函数默认还有一个返回值为None

逃兵 发表于 2021-3-18 16:31:50

print()是打印,不是返回,他的作用就是打印一下

函数默认返回的是None

return关键字是用来定义返回内容的

count = 5

def myfun():
    count = 10
    return count

print(myfun())
print(count)

昨非 发表于 2021-3-18 16:32:30

aironeng 发表于 2021-3-18 16:20
查了下资料,解释如下,和各位分享




count = 5

def myfun():
    count = 10
    return count#把这里print改成return就好了

print(myfun())
print(count)

昨非 发表于 2021-3-18 16:35:04

因为print(myfun())本质上是:
1、执行myfun()函数
2、把它的返回值交给print进行打印
在1过程中,已经print出了count
函数没有return返回值,默认为None(也就是空),所以在2过程中,返回值none就交给了print打印

页: [1]
查看完整版本: 请问为什么会有一个输出为none