python(十)与java的异"/>
python(十)与java的异
python没有 n++
python没有三目运算符 :?
但是可以用这种方式来代替
a = 2
b = 4
r = "yes" if a > b else "no"
s = a > b and "yse" or "no"
print(r) # no
print(s) # no
第二种方法“x and y or z”的工作原理是:
运行时,python虚拟机会对 “x and y or z” 这个布尔表达式求值,并返回最后一个被运算的值。
为什么是“最后一个被分析到的”而不是表达式中“最后一个”呢?
因为布尔表达式有一个短路效应,比如 x and y,若 x 为真,那么 y 也要被运算。所以 x=True 时就返回 y 了
当 x and y 为 False 时(其实只要 x 为False, x and y 就都是False了),为了判断整个 “x and y or z” 表达式的布尔值,就必须要运算 z 了。所以 x=False 时就返回 z 了
更多推荐
python(十)与java的异
发布评论