为了账号安全,请及时绑定邮箱和手机立即绑定

PyCharm结果疑问

def greet(x='World'):
   print 'Hello,' + x + '.'
print greet()
print greet('Bart')


通过pycharm(Python 2.7)执行打印结果如下:

Hello,World.
None
Hello,Bart.
None

请问None为啥会出现呢?

正在回答

3 回答

greet()方法里面没有显式的写return,则该方法默认返回None。

你在greet()前面加了print,自然就打印出来了。


1、你可以去除print:

def greet(x='World'):
   print 'Hello,' + x + '.'
greet()
greet('Bart')

2、把方法体内的打印改成返回值,由外部调用进行打印。

def greet(x='World'):
   return ('Hello,' + x + '.')
print (greet())
print (greet('Bart'))


0 回复 有任何疑惑可以回复我~
#1

放学路上的小学生

说明一下:2中的print后面加了括号,Python3.X要加括号,Python2.7不用加括号。
2017-05-01 回复 有任何疑惑可以回复我~

试了 还是不行

0 回复 有任何疑惑可以回复我~

+x+后面没有加逗号,

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758278    人
  • 解答问题       8967    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

PyCharm结果疑问

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号