IT

if / else를 한 줄로 압축하는 방법은 무엇입니까?

lottoking 2020. 8. 21. 08:07
반응형

if / else를 한 줄로 압축하는 방법은 무엇입니까? [복제]


가능성 가능성 :
기능 삼항 연산자
간단한 if-then 문을 한 줄에 넣기

어디에서 if/ else문을 한 줄로 압축하는 방법이 있습니까?
나는 종종 모든 종류의 지름길을보고 여기에도 여러 가지가 있다고 생각합니다.


"삼항"표현식을 수행하는 Python 방식의 예 :

i = 5 if a > 7 else 0

로 번역

if a > 7:
   i = 5
else:
   i = 0

이것은 실제로 목록 이해력을 사용할 때 또는 반환 문에서 유용합니다. 언어는 읽을 수있는 코드를 만드는 데 그다지 도움이되지 않습니다.

가독성 문제는 python에서 if-else 문을 사용하는 것보다 최근의 SO 질문에서 더 나은 방법으로 자세히 논의합니다 .

또한 동일한 작업을 수행하기위한 다양한 다른 영리한 (다소 그리고 난독 화 된 ) 방법 도 계명 포함되어 있습니다 . 해당 게시물을 기반으로 읽을 가치가 있습니다.


사용 가능한 if삼항 연산자 로 사용할 수 있습니다 .

>>> 'true' if True else 'false'
'true'
>>> 'true' if False else 'false'
'false'

값으로 만 사용 :

x = 3 if a==2 else 0

또는

return 3 if a==2 else 0

조건식이 있습니다.

a if cond else b

그러나

문에서 경우 if(또는 elif또는 else)는 블록이 다음과 같은 경우 블록 본문과 같은 줄에 쓸 수 있습니다 .

if something: somefunc()
else: otherfunc()

그러나 이것은 형식화 스타일의 문제로 권장되지 않습니다.

참고 URL : https://stackoverflow.com/questions/11529273/how-to-condense-if-else-into-one-line-in-python

반응형