Чтобы ответить на ваш вопрос о закорачивании кода оператора if, который вы предоставили, и об отсутствии альтернативного решения для получения того же результата, что и ваш оператор if.
def rgb_8bit_trunc(r,g,b):
print("Input: r:{}, g:{}, b:{}".format(r,g,b))
r = 0 if r < 0 else r if r < 255 else 255
g = 0 if g < 0 else g if g < 255 else 255
b = 0 if b < 0 else b if b < 255 else 255
print("Output: r:{}, g:{}, b:{}".format(r,g,b))
rgb_8bit_trunc(256,256,256)
rgb_8bit_trunc(-1,-1,-1)
Каждый троичный условный оператор эквивалентен оператору if код ниже, где 'value' может быть любой из ваших переменных RGB.
if value < 255:
if value < 0:
value = 0
else:
value
else:
value = 255