>  기사  >  백엔드 개발  >  Python 삼항계산기 사용법과 단락논리법 소개

Python 삼항계산기 사용법과 단락논리법 소개

高洛峰
高洛峰원래의
2017-03-20 10:16:041544검색

오늘 남의 코드를 보다가 이런 글을 보니까 정말 들어가기 쉬운 함정이라는 생각이 들어서 메모를 했습니다.

짧게 -회로 논리

Python에서 논리 연산을 수행할 때 기본적으로 단락 논리라는 연산 규칙이 사용됩니다.

print True and 1
# 1
print True or 1
# True
print False and 1
# False
print False or 1
# 1

를 보면 1은 부울 값 계산으로 간주되지만 수식 전체의 계산 결과가 반드시 부울 값은 아니고 수식에 따라 달라지는 것을 알 수 있습니다. 위 표현식의 다른 결과는 단락 논리를 사용합니다. 즉, Python이 전체 표현식이 True인지 False인지 결정할 수 있으면 후속 계산은 수행되지 않습니다. 즉, 논리는 단락되고 후속 표현식은 수행되지 않습니다.

예를 들어 True or 1의 결과는 True입니다. or 다음에 어떤 값이 나오더라도 전체 수식의 결과는 True여야 하므로 Python에서 True를 볼 때 or은 다음 1을 무시하고 1은 단락됩니다. True도 마찬가지입니다. 전체 수식의 결과는 False and 1이어야 하므로 1은 단락되어 False을 반환합니다.andFalse 그에 따라 False가 1을 반환하는 이유는

이 결정할 수 없기 때문입니다. 수식의 결과는 False or 1의 다음 부분에 따라 결정되므로 Python은 전체 수식을 읽어야 하므로 1을 반환합니다.Falseor단락 논리가 무엇인지 이해한 후, or삼항 연산자

삼항 연산자

삼항 연산자 연산자 Java에 익숙한 학생들은 그 형식이

과 같다는 것을 알 수 있습니다. 이 표현식의 경우

이면 표현식의 결과는 이고, b?x:yb 표현식의 결과는 True입니다. 이는 xifb 문보다 훨씬 간단한 작성 방법입니다. 그러나 삼항 연산자가 없습니다. Python 초기에 작성한 방식과 유사하므로 False, y를 사용하여 삼항 연산자 작성을 시뮬레이션하는

A = X and 'table' or False
. 이 코드는 삼항 연산자를 시뮬레이션하기 위해

이면

and 값이 할당됩니다. or에는

의 값이 할당됩니다.

X는 언뜻 보기에는 좋아 보이지만, 이 코드에는 함정이 있습니다. True

True and 0 or 1
A. 방금 작성한 방식을 삼항 연산자로 사용하면 조건문은 'table'이고 표현식은 우리가 기대하는 결과인 X을 반환해야 하지만 실제로 이 표현식은 Flase을 반환합니다. A의 값은 False이고, 전체 표현식의 값은

뒤의 값에 따라 결정되므로 Python은 판단을 수행하여

을 반환하므로

을 쓰는 이유는 다음과 같습니다. 메소드에는 함정이 있습니다

True올바른 작성 방법01파이썬에서 삼항 연산자를 사용하려면 if...<a href="http://www.%20php.cn/wiki/111.html" target="_blank">else<code>True and 0가 작성되었습니다. 코드를 참조하세요True

# <为真时的结果> if <判定条件> else <为假时的结果>0 if True else 1
or1 작성 방식을 사용하면 결과는 다음과 같습니다. 조건이 and...or이면 이전 값이 반환되고, 조건이

이면 후속 값이 반환되므로, 그냥 순서대로 적어주시면 됩니다. 조건과 반환값이 자바의 삼항 연산자와 다르니 실수하지 마세요

위 내용은 Python 삼항계산기 사용법과 단락논리법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.