函数的返回值
>>> def say():print('好耶!')
>>> say()
好耶!
>>> print(say())
好耶!
None
>>>
为什么直接调用没有None?
print有什么神奇功效嘛?
谢谢~ 函数不写return,默认返回None。
单独执行say(), 没有谁接收返回值None,所以没有输出。
执行print(say()),实际是先执行了一遍say(),然后say函数的返回值被print函数接到了,它打印了返回值。 直接调用也有None,只是没有打印。函数本身如果没有返回值,默认返回None
不是 print 神奇~ ,是 Python 的机制:若函数没有设置返回值(return) 则默认返回空即 None
print 函数只是将返回值打印到屏幕上而已,当你在交互窗口调用一个函数时候,会自动打印除 None 的返回值
但是如果在编辑器内调用函数没有执行 print 那么就不会自动打印到屏幕上 Twilight6 发表于 2021-5-11 20:36
不是 print 神奇~ ,是 Python 的机制:若函数没有设置返回值(return) 则默认返回空即 None
print...
那False, 0, [], {} 这样的不是跟None一样嘛,为什么他们可以直接返回? qq1151985918 发表于 2021-5-11 20:35
直接调用也有None,只是没有打印。函数本身如果没有返回值,默认返回None
可是它不是就返回了一行嘛,None是不是要再空一行什么的 suchocolate 发表于 2021-5-11 20:34
函数不写return,默认返回None。
单独执行say(), 没有谁接收返回值None,所以没有输出。
执行print(say() ...
谢谢你~{:10_275:} 柿子饼同学 发表于 2021-5-11 20:46
那False, 0, [], {} 这样的不是跟None一样嘛,为什么他们可以直接返回?
返回值和print是两个概念,话不多说
你也不是新人 本帖最后由 柿子饼同学 于 2021-5-11 21:33 编辑
wp231957 发表于 2021-5-11 21:11
返回值和print是两个概念,话不多说
你也不是新人
那None和False之类不是都是假嘛,有什么区别呐? 函数不写return,默认返回None。
单独执行say(), 没有谁接收返回值None,所以没有输出。
执行print(say()),实际是先执行了一遍say(),然后say函数的返回值被print函数接到了,它打印了返回值。 xyangt 发表于 2021-5-11 21:38
函数不写return,默认返回None。
单独执行say(), 没有谁接收返回值None,所以没有输出。
执行print(say() ...
谢谢~{:10_275:} 柿子饼同学 发表于 2021-5-11 20:48
谢谢你~
不一样哈,数据类型都不一样
None 是 Python 特殊的一个数据对象,数据类型为 NoneType,而且 NoneType 类中仅有 None 这一个对象
我们不能创建除 None 以外为 NoneType 的对象
而 False 属于 布尔类型数值,[] 表示空列表 list 类型数据 ,{} 表示空字典,dict 类型数据
但是 空列表、空字典、空字符串 以及 None 都可以视为布尔类型值的 False,(这里的视为不是指等于哈,是指逻辑的真假)
具体为什么只有 None 不打印,应该就需要去看底层代码了,但是这个对象确实是一个特殊的数据类型哈 Twilight6 发表于 2021-5-11 23:00
不一样哈,数据类型都不一样
None 是 Python 特殊的一个数据对象,数据类型为 NoneType,而且 N ...
学到了,谢谢~{:10_297:}{:10_275:} 柿子饼同学 发表于 2021-5-11 23:05
学到了,谢谢~
客气~{:10_278:}
Twilight6 发表于 2021-5-11 23:06
客气~
{:10_256:} 学习学习了{:5_107:}
页:
[1]