为什么代码输出结果是:<class 'NoneType'>,谢谢
def f(): passtype(f())
a = type(f())
print(a) None是值,Nonetype是类型;
数字1是值,int是类型;
在python中是没有Null的,取而代之的是None。 wideband 发表于 2021-10-23 07:15
None是值,Nonetype是类型;
数字1是值,int是类型;
啥玩意,乱七八糟的
你想测试啥 你函数么有返回值,所以看你需求
是否添加括号的问题 https://www.cnblogs.com/chaojiyingxiong/p/9744274.html def f():
pass
a = type(f()) # f() 有括号,表示执行函数,如有 return,则返回值,否则返回 None(None 类型就是 NoneType)
b = type(f) # f 没有括号,表示不执行函数,返回内存地址,类型是函数 function
print(a)
print(b) 在python里,函数本身也可以是对象,所以你定义的所谓的“f"也是一个对象,他的类型是:<class 'function'>。而f()就不同了,它是一个函数返回值,是你调用f之后才会产生,而f的定义中并未返回任何值,所以在python中默认是<class 'NoneType'>。
页:
[1]