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

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
  • 参与学习       758620    人
  • 解答问题       8667    个

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

进入课程

PyCharm结果疑问

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信