今天在看别人的C++程序的时候遇到了一组用条件运算符 ? : 写成的代码,想改成python 发现 python中 没有 条件运算符。
查了一下原来python中是使用条件表达式也就是三元预算符来实现下面是代码
uchar p2 = (i == 0) ? 0 : *(p - dst.step + j);
c++的? : 运算符通用格式如下:
expression1 ? expressions : expression3
如果 expreesion1为true 则整个条件表达式的值为expression的值,否则 整个条件表达式的值为expression3的值。
5>3?10:12 //5>3是true,所以表达式 的值 为 10
python 中 条件运算符 是 三元运算符
语法: 语句1 if 条件表达式 else 语句2
条件运算符在执行时,会先对条件表达式进行求值判断
如果判断结果为True,则执行语句1,并返回执行结果
如果判断结果为False,则执行语句2,并返回执行结果
a = 30
b = 50
# print('a的值比较大!') if a > b else print('b的值比较大!')
# 获取a和b之间的较大值
max = a if a > b else b
print(max)
所以最初的语句用python实现就是
p2=0 if i==0 else dst[j-1,i]