我也不知道这是什么,nonetype吗
def a():def b():
print('nmsl')
return b
第一个问题,这时输入a()
出来<function a.<locals>.b at 0x03575028>,可是这个类型却是函数。
第二个问题,输入a()(),可以出来 ‘nmsl’,明明是字符串,类型为啥是nonetype 本帖最后由 liuzhengyuan 于 2020-5-2 13:23 编辑
①这是因为你 return b 调用是没加括号
②nonetype 是因为你是用了一个 print() 函数输出,不是用 return 返回的
由此可见↓,print没有返回值(None)
>>> print(print())
None print函数没有返回值,你可以把print括号里的东西拿出来return掉。 liuzhengyuan 发表于 2020-5-2 12:38
这是因为你 return b 调用是没加括号
nonetype 是因为你是用了一个 print() 函数输出,不是用 return 返回 ...
nonetype是针对返回值而言的是吗 支离疏哈哈哈 发表于 2020-5-2 13:20
nonetype是针对返回值而言的是吗
这里是的 1. a() 返回的是内部的 b 函数。
2. a()() 不仅执行 b,还打印 b 的返回值。由于 b 没有返回值,所以 b 的返回值为 None,打印出了 None 。
zltzlt 发表于 2020-5-2 13:37
1. a() 返回的是内部的 b 函数。
2. a()() 不仅执行 b,还打印 b 的返回值。由于 b 没有返回值,所以 b...
print('nmsl')为啥叫做打印b的返回值?,这不是只是执行一个打印字符串的操作吗,返回值不是 return后面的才叫返回值吗 支离疏哈哈哈 发表于 2020-5-2 13:58
print('nmsl')为啥叫做打印b的返回值?,这不是只是执行一个打印字符串的操作吗,返回值不是 return后面 ...
print('nmsl') 是属于执行 b,由于 b 并没有返回值,所以返回 None 。 zltzlt 发表于 2020-5-2 13:59
print('nmsl') 是属于执行 b,由于 b 并没有返回值,所以返回 None 。
哦哦了解了谢谢 <function a.<locals>.b at 0x03575028>
难道它的类型不应该是
页:
[1]