No.028 [Python] 여러 비교 연산자에 대한 연결 설명
5058 단어 Pythonprogramming
여러 비교 연산자에 대한 링크 설명을 작성합니다.
I'll write about "Consolidated description in python"on this page.
■ 연결 설명을 통해 비교 연산자를 사용하는 비교
You can describe values by linking comparisons with comparison operator.
■ 여러 비교가 연결된 경우 포함/'a<x<b'는'and'로 연결된'a<xandx<b'와 동일
>>> # 例①
>>> x = 20
>>>
>>> print(10 < x < 30)
True
>>>
>>> print(10 < x and x < 30)
True
>>>
>>> x = 0
>>>
>>> print(10 < x < 20)
False
>>>
>>> print(10 < x and x < 20)
>>> # 例②
>>> x = 15
>>>
>>> y = 25
>>>
>>> print(10 < x < 20 < y < 30)
True
>>>
>>> print(10 < x and x < 20 and 20 < y and y < 30)
True
>>>
>>> x = 20
>>>
>>> y = 45
>>>
>>> print(10 < x < 30 < y < 40)
False
>>>
>>> print(10 < x and x < 30 and 30 < y and y < 40)
False
■ 연결과 다른 점
• 묘사를 결합한 상황에서도 기본적으로 한 번만 평가한다. If the fomula were linked with others, each fomula only evaluate once를 포함한다.
>>> def test(x):
print('function is called')
return(x)
>>> print(test(10))
function is called
10
>>> print(5 < test(10) < 20)
function is called
True
>>>
>>> #ただし、andを使った場合、当該関数は、二度呼ばれる
>>>
>>> print(5 < test(10) and test(10) < 20)
function is called
function is called
True
>>>
>>> # X and Yでは、Xが偽(False)だとYは評価されないため、連結の有無問わず当該関数は一度しか呼ばれない
>>> print(10 < test(0) < 30)
function is called
False
>>>
>>> print(10 < test(0) and test(0) < 30)
function is called
False
>>>
>>> #上記結果は、前回の記事で紹介した短絡評価である
■ 참조례 ① 수치의 범위 (The range of numberical values)
・수치 범위를 조건으로 할 때 비교적 쉽게 연결할 수 있다.
Linking comparisons is convenient in case the condition is the range of numeric vaule.
>>> x = 20
>>>
>>> if 5 < x < 10:
print("result: 5 < x < 10")
else:
print("result: x <= 5 or 10 <= x")
result: x <= 5 or 10 <= x
■ 참조례 ② 여러 변수나 식이 동일한지 여부를 판정하는 Judge whether all multiple variables or equations are equal.
• 여러 변수, 공식이 모두 같은지 판단하기 편할 때
It is useful to judge whether all multiple variables or equations are equal.
>>> a = 5
>>>
>>> b = 5
>>>
>>> c = 5
>>>
>>> if a == b == c:
print('all equal')
else:
print('not all equal')
all equal
>>>
>>> #一つでも値が異なる場合は、偽(False)となる
>>> a = 5
>>>
>>> b = 1
>>>
>>> c = 5
>>>
>>> if a == b == c:
print('all equal')
else:
print('not all equal')
not all equal
>>> # 値が等価でないときに、Trueを返す比較演算子「!=」を使うときは上記と異なる
>>>
>>> a = 5
>>>
>>> b = 10
>>>
>>> c = 15
>>>
>>> print (a != b != c)
True
>>>
>>> a = 5
>>>
>>> b = 5
>>>
>>> c = 1
>>>
>>> print(a != b != c)
False
>>>
>>> a = 5
>>>
>>> b = 1
>>>
>>> c = 5
>>>
>>> print(a != b != c)
True
>>> # 順番によっては、真(True)が返される
・ 값의 비교는 "== 또는 33=="을 사용하고, 대상의 동일성을 비교하려면 "is or isnot"를 사용합니다.
Value comparison is used "=="or "!=", and also object identification is done "is"or "isnot"
>>> i = 5
>>>
>>> print(type(i))
<class 'int'>
>>>
>>> f = 10.0
>>>
>>> print(type(f))
<class 'float'>
>>>
>>> print(i == f)
False
>>>
>>> print(i is f)
False
>>> # 値が等価の場合、==はTrueを返すが、オブジェクトは異なるため、isはFalseを返す
• 상기 두 판정(수치의 범위 또는 여러 값의 등가 판단) 이외에 비교의 연결을 사용하면 코드를 읽기 어렵다
It might be difficult to read codes if you use the comparison for others except the range of numeric values and the equal judgement of multiple values.
어때요?
How was my post?
본 보도는 수시로 업데이트될 것이니 정기적으로 구독해 주십시오.
I'll update my blogs at all times.
So, please subscribe my blogs from now on.
본 보도에 관하여 만약 무슨 요구가 있으면 마음대로 메시지를 남겨 주십시오!
If you have some requests, please leave some messages! by You-Tarin
또한 Qita에 투고한 내용은 언제든지 블로그에 가고 싶으니 잘 부탁드립니다.
Reference
이 문제에 관하여(No.028 [Python] 여러 비교 연산자에 대한 연결 설명), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/You-Tarin/items/1abb7b100652ff532c39텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)