设为首页收藏本站

Crossin的编程教室

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

请问,为什么print会返回一个none

[复制链接]

2

主题

0

好友

22

积分

新手上路

Rank: 1

跳转到指定楼层
楼主
发表于 2019-1-10 09:23:55 |显示全部楼层 |倒序浏览
本帖最后由 欲之 于 2019-1-10 09:33 编辑
  1. def sayHello(someone):
  2.     print(someone+' hello world')
  3. isinstance(sayHello('lin'),str)
  4. print(sayHello('lin'))
复制代码
控制台:
lin hello world
lin hello world
None

两个问题:
一是 为什么print 会返回一个none,sayHello('lin')得出的不是一个字符串了吗?
二是 为什么用检测sayHello('lin') 会直接输出字符串呢,不应该是true或false吗?或者我type(sayHello) 什么都不输出呢?
回复

使用道具 举报

2

主题

0

好友

22

积分

新手上路

Rank: 1

沙发
发表于 2019-1-10 11:25:14 |显示全部楼层
crossin先生 发表于 2019-1-10 10:29
sayHello这个函数没有return,默认返回值是None。不要把print和return搞混了。print是往控制台输出内容,和 ...

明白了!还有那个为什么type(sayHello)什么都不输出呢?
回复

使用道具 举报

2

主题

0

好友

22

积分

新手上路

Rank: 1

板凳
发表于 2019-1-11 15:12:12 |显示全部楼层
crossin先生 发表于 2019-1-11 12:29
函数名后面没加括号就没有调用函数
  1. def sayHello(someone):
  2.     print(someone+' hello world')
  3.     return 123
  4. type(sayHello('lin'))
  5. print(sayHello('lin'))
复制代码
输出:
lin hello world
lin hello world
123

您看,上次您回答我的那个问题之后,我给函数加了个返回值,然后type(sayHello('lin'))跟type(123)是不一样的吗?那应该输出int 不是吗?
回复

使用道具 举报

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

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

GMT+8, 2024-5-3 04:21 , Processed in 0.016859 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部