It is called a ternary operator . expr ? a : breturns aif exprtrue b, if false. exprcan be a boolean expression (e.g. x > 3), a boolean literal / variable, or any that can be written in a boolean (e.g. int).
int ret = expr ? a : b :
int ret;
if (expr) ret = a;
else ret = b;
, , , , . , , ret = (expr ? a : b) > 0;
Python >= 2.6 : a if expr else b.