支离疏哈哈哈 发表于 2020-5-7 19:22:05

return疑惑

A

def odd(x):
    if x%2 :
         return x

odd(5)

B
def odd(x):
    if x%2 :
         return x




为什么B在shell里面输入 odd(5)就能直接return出来 ,A不行,这是为什么

qiuyouzhi 发表于 2020-5-7 19:23:41

return不是print,不会输出返回的值,你得另加print
(在shell中不需要)

wp231957 发表于 2020-5-7 19:24:03

不要在shell里玩

支离疏哈哈哈 发表于 2020-5-7 19:25:54

qiuyouzhi 发表于 2020-5-7 19:23
return不是print,不会输出返回的值,你得另加print
(在shell中不需要)

我知道啊,为什么shell中不需要

qiuyouzhi 发表于 2020-5-7 19:26:51

支离疏哈哈哈 发表于 2020-5-7 19:25
我知道啊,为什么shell中不需要

shell的特性

wp231957 发表于 2020-5-7 19:31:48

支离疏哈哈哈 发表于 2020-5-7 19:25
我知道啊,为什么shell中不需要

shell中应该是封装了输出流

永恒的蓝色梦想 发表于 2020-5-7 19:35:01

支离疏哈哈哈 发表于 2020-5-7 19:25
我知道啊,为什么shell中不需要

shell 中没有使用的非 None 的返回值都会被捕获,然后打印出他的 __repr__ 方法的返回值

zltzlt 发表于 2020-5-7 19:40:21

在 shell 中输入一个表达式,它会自动帮你计算并打印最后的结果:

>>> 1 + 2
3

而你如果写程序中单独写:

1 + 2

就什么结果都没有。

可以加一个 print() :

print(1 + 2)
print(odd(5))

zltzlt 发表于 2020-5-7 19:40:40

支离疏哈哈哈 发表于 2020-5-7 19:25
我知道啊,为什么shell中不需要

Shell 交互模式就是这样的
页: [1]
查看完整版本: return疑惑