python :: python과 C의 삼항연산
FILTER = ''.join ([(len (repr (chr (x))) == 3) and chr (x) or '.' \
for x in range (256)])
for c in xrange (0, self.__len, 16):
chars = src[c:c+16]
self.__ascii.append (''.join(["%s" % (FILTER[ord (x)]) for x in chars]))
위 코드에서 첫 줄의 FILTER 를 구하는 코드가 삼항연산에 해당됩니다. 대괄호 사이의 코드를 보면,
A and B or C
구문을 볼 수 있습니다. 이것을 C 언어의 삼항연산과 비교해서 보면,
A ? B : C
가 되지요. 즉 A 가 참이면, B 를 아니면 C 를 연산하라는 의미입니다.