小白求助,print()返回值是None么
本帖最后由 李二蛋 于 2021-9-15 17:10 编辑>>> a = 1
>>> b = 2
>>> a < b and print("A") or print("B")
A
B
请问为什么返回的是这样,不应该是A嘛?
这和
if a < b :
print("A")
else:
print("B")
有什么区别呐?
>>> a = 2
>>> b = 1
>>> a < b and print("A") or print("B")
B
如果没有区别,那么这个为什么就对腻?
小甲鱼老师说print()返回值是None,如果是None,
为啥a < b and print("A")可以输出A腻?
>>> a < b and print("A")
A
求求各位前辈,求求各位前辈,求求各位前辈 print()是个执行函数,作用是打印,返回值是None
a < b and print("A") or print("B")
等价于
True and None or None
返回的是个None
print()会执行打印
所以就出现了打印A打印B
这里并没有返回结果,而是打印 本帖最后由 傻眼貓咪 于 2021-9-15 17:29 编辑
a < b and print("A") or print("B") 這行除了判斷語句真假之外,另外執行了函數 print()(同一行代碼做 2 件事)
def func():
print("Hello World")
return 13
# 當函數有括號 () 和沒有 () 的區別
A = func # A 指向和 func 一樣的對象,但沒有執行函數 (做 1 件事)
B = func() # 賦值 B = 13,同時執行函數 (做 2 件事)Hello Worldprint() 函數本身用意為打印,不會返回任何東西(也就是返回類型 None 值),布林值是 False print的返回值是none,你的这句话整个返回的是none,但是打印依旧在执行,所以最后输出的是A B
if……else语句是判断嘛,你问这两个有什么区别我觉得你是把and和or的理解有点偏差
你最后的这个问题输出A也是第一个的问题,你可以尝试and前面换成0你就能发现后面就不在执行了 本帖最后由 Angelina_Jolie 于 2021-9-15 18:26 编辑
>>> a = 1
>>> b = 2
>>> a < b and print("A") or print("B") #and 和 or 在一起使用是按顺序执行的属于同一级《=》 ((a < b) and print("A") )or (print("B")) 这里导致你输出二个结果的原因是print函数 --》 a<b为真而and的判断是同时为真返回第二个即 <=>print('A')orprint('B')
A
B
请问为什么返回的是这样,不应该是A嘛?
这和
if a < b :
print("A")
else:
print("B")
有什么区别呐?#这个就比较好理解
>>> a = 2
>>> b = 1
>>> a < b and print("A") or print("B")#a<b为假而and的判断是有假 则返回假 <=>Falseorprint('B')
B
如果没有区别,那么这个为什么就对腻?
#你这种用法看起来比较绕建议少用 傻眼貓咪 发表于 2021-9-15 17:24
a < b and print("A") or print("B") 這行除了判斷語句真假之外,另外執行了函數 print()(同一行代碼做 2...
谢谢您的帮忙,您是我前进路上的星辰{:9_228:} Angelina_Jolie 发表于 2021-9-15 18:20
>>> a = 1
>>> b = 2
>>> a < b and print("A") or print("B") #and 和 or 在一起使用是按顺序执行的属 ...
谢谢您的帮忙,您是我前进路上的星辰{:9_228:} 2242253525 发表于 2021-9-15 17:34
print的返回值是none,你的这句话整个返回的是none,但是打印依旧在执行,所以最后输出的是A B
if……el ...
谢谢您的帮忙,您是我前进路上的星辰{:9_228:}
页:
[1]