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 를 연산하라는 의미입니다.

Similar Posts

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다