有许多python初学者,当他们刚刚学完函数,准备大展身手的时候总是会莫名出现一些错误,然而更奇葩的是竟然没有报错!抓耳挠腮很久也没能解决问题。今天我就为大家解释一下函数中出现的print()与return混用的问题。(代码运行软件pycharm)
请看下面代码:
deffunc():
print("yes")
func()
#运行结果是:
yes
Processfinishedwithexitcode0
大家都知道print()是打印函数,会打印括号内的值,且没有返回值。代码中只要执行到这一步,输出结果中总会打印出括号内的内容和表达式的值。但是当我们将print()换成return结果会如何呢?
deffunc():
return"yes"
func()
#运行结果是:
Processfinishedwithexitcode0
没错!你没看错哦,运行结果是没有输出结果。这是为什么呢?
return用在函数内部表示当调用该函数时,返回值给被调用者。也就是说当函数func()被调用时,会有一个返回值,但是却没有承接返回值的变量,所以就没有输出。那么我们来修改一下代码:
deffunc():
return"yes"
f=func()
print(f)
#运行结果是:
yes
Processfinishedwithexitcode0
OK,结果终于出来了。为了让大家能够更好地了解print()与return的功能,下面我为大家举了个例子,希望对大家有所帮助。
(如果函数中没有任何执行语句,函数执行完毕后也会返回结果,只是结果为None。)
deffunc():
print("yes")
deffunc2():
return"not"
deffunc3():
pass
func()
print('**********')
func2()
print('**********')
f=func()
print(f)
print('**********')
f2=func2()
print(f2)
print('**********')
f3=func3()
print(f3)
print('**********')
#运行结果:
yes#func()的运行结果
**********
**********#func2()的运行结果
yes#print(f)的运行结果
None
**********
not#print(f2)的运行结果
**********
None#print(f3)的运行结果
**********
最后想要了解更多关于Python发展前景趋势,请关注扣丁学堂python培训官网、微信等平台,扣丁学堂IT职业在线学习教育平台为您提供最新的Python视频教程系统,通过千锋扣丁学堂金牌讲师在线录制的Python视频教程课程,让你快速掌握Python从入门到精通开发实战技能。扣丁学堂Python技术交流群:816572891。