设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 9791|回复: 4
打印 上一主题 下一主题

第十九课(函数)的问题

[复制链接]

2

主题

1

好友

30

积分

新手上路

Rank: 1

跳转到指定楼层
楼主
发表于 2018-5-30 21:55:08 |只看该作者 |倒序浏览
代码:
-----------------------------------------------------------------------------
def sayHello():     #定义函数sayHello
    print ("Hello world!")      #函数体

sayHello()      #调用函数sayHello
sayHello()      #可以重复调用
print (sayHello())      #自己尝试加的,最后为什么会出来多一个None呢?


以下是运行的数据结果:
-----------------------------------------------------------------------------
Hello world!
Hello world!
Hello world!
None


想请教各位的问题:
最后为什么会出来多一个None呢?

罪人亲往犯法,止于梦者便为善人!
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

沙发
发表于 2018-5-31 00:23:06 |只看该作者
函数你不加return,默认返回值是None
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

2

主题

1

好友

30

积分

新手上路

Rank: 1

板凳
发表于 2018-5-31 01:11:18 |只看该作者
crossin先生 发表于 2018-5-31 00:23
函数你不加return,默认返回值是None

感谢坛主,理解默认返回值是None了。

想补充请教的是:
前面调用的两个函数sayHello(),它们直接执行的是print ("Hello world!")这条语句;
而最后print (sayHello())这条命令,除了执行了print ("Hello world!")这条语句之外,print()还打印出sayHello()这个函数的默认返回值;
因此,最后这条命令最后显示None,而前两条sayHello()函数的调用,仅仅只输出了“Hello world!”

为了验证我以上的理解,修改代码为:
-----------------------------------------------------------
def sayHello():     #定义函数sayHello
     print ("Hello world!")      #函数体
     return True

sayHello()      #调用函数sayHello
sayHello()      #可以重复调用
print (sayHello())      #最后应该输出True


代码输出为:
-----------------------------------------------------------
Hello world!
Hello world!
Hello world!
True
罪人亲往犯法,止于梦者便为善人!
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

地板
发表于 2018-5-31 15:32:31 |只看该作者
xiaophedap 发表于 2018-5-31 01:11
感谢坛主,理解默认返回值是None了。

想补充请教的是:

最后因为加了print,返回值被作为参数传给了print函数
前两个的返回值因为没有使用,不产生任何效果
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

2

主题

1

好友

30

积分

新手上路

Rank: 1

5#
发表于 2018-6-2 00:15:09 |只看该作者
crossin先生 发表于 2018-5-31 15:32
最后因为加了print,返回值被作为参数传给了print函数
前两个的返回值因为没有使用,不产生任何效果 ...

理解了。解释得清晰明了。谢谢!
罪人亲往犯法,止于梦者便为善人!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-6-24 03:21 , Processed in 0.023621 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部