鱼C论坛

 找回密码
 立即注册
查看: 2366|回复: 9

[已解决]我也不知道这是什么,nonetype吗

[复制链接]
发表于 2020-5-2 12:31:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
def a():
   def b():
      print('nmsl')
   return b
第一个问题,这时输入a()
出来<function a.<locals>.b at 0x03575028>,可是这个类型却是函数。

第二个问题,输入a()(),可以出来 ‘nmsl’,明明是字符串,类型为啥是nonetype
最佳答案
2020-5-2 13:37:58
1. a() 返回的是内部的 b 函数。

2. a()() 不仅执行 b,还打印 b 的返回值。由于 b 没有返回值,所以 b 的返回值为 None,打印出了 None 。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-2 12:38:33 | 显示全部楼层
本帖最后由 liuzhengyuan 于 2020-5-2 13:23 编辑

①这是因为你 return b 调用是没加括号
②nonetype 是因为你是用了一个 print() 函数输出,不是用 return 返回的

由此可见↓,print没有返回值(None)
>>> print(print())

None
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-2 12:43:23 | 显示全部楼层
print函数没有返回值,你可以把print括号里的东西拿出来return掉。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-2 13:20:50 | 显示全部楼层
liuzhengyuan 发表于 2020-5-2 12:38
这是因为你 return b 调用是没加括号
nonetype 是因为你是用了一个 print() 函数输出,不是用 return 返回 ...

nonetype是针对返回值而言的是吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-2 13:21:44 | 显示全部楼层
支离疏哈哈哈 发表于 2020-5-2 13:20
nonetype是针对返回值而言的是吗


这里是的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-2 13:37:58 | 显示全部楼层    本楼为最佳答案   
1. a() 返回的是内部的 b 函数。

2. a()() 不仅执行 b,还打印 b 的返回值。由于 b 没有返回值,所以 b 的返回值为 None,打印出了 None 。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-2 13:58:41 | 显示全部楼层
zltzlt 发表于 2020-5-2 13:37
1. a() 返回的是内部的 b 函数。

2. a()() 不仅执行 b,还打印 b 的返回值。由于 b 没有返回值,所以 b  ...

print('nmsl')为啥叫做打印b的返回值?,这不是只是执行一个打印字符串的操作吗,返回值不是 return后面的才叫返回值吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-2 13:59:25 | 显示全部楼层
支离疏哈哈哈 发表于 2020-5-2 13:58
print('nmsl')为啥叫做打印b的返回值?,这不是只是执行一个打印字符串的操作吗,返回值不是 return后面 ...

print('nmsl') 是属于执行 b,由于 b 并没有返回值,所以返回 None 。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-2 14:10:01 | 显示全部楼层
zltzlt 发表于 2020-5-2 13:59
print('nmsl') 是属于执行 b,由于 b 并没有返回值,所以返回 None 。

哦哦了解了谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-2 14:59:12 | 显示全部楼层
<function a.<locals>.b at 0x03575028>
难道它的类型不应该是
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-11 18:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表