development

Truthy와 Falsy는 무엇입니까?

big-blog 2020. 10. 4. 11:57
반응형

Truthy와 Falsy는 무엇입니까? 참 및 거짓과 어떻게 다릅니 까?


나는 파이썬에 정상 다른 TruthyFalsy이 있다는 것을 알게되었습니다 .TrueFalse

누군가가 진실거짓 가치가 무엇인지 깊이 설명해 주 시겠습니까?

어디에서 사용해야합니까?

진실True가치, 거짓False가치 의 차이점은 무엇입니까 ?


설명에서 설명했듯이 True 또는 False로 평가되는 값을 나타냅니다.

예를 들어 다음과 같이 확인하는 대신 목록이 비어 있지 않은지 확인합니다.

if len(my_list) != 0:
   print "Not empty!"

간단하게 다음과 같이 할 수 있습니다.

if my_list:
   print "Not empty!"

빈 목록과 같은 일부 값은 부울 값으로 평가 될 때 False로 간주되기 때문입니다. 비어 있지 않은 목록은 True입니다.

마찬가지로 정수 0의 경우 빈 문자열 ""등, False의 경우, 0이 아닌 정수, 비어 있지 않은 문자열 등의 경우 True입니다.

"진정한"및 "거짓"과 같은 용어의 개념은 단순히 위에서 설명한 것과 같은 경우에 참으로 간주되는 값과 거짓으로 간주되는 값을 나타냅니다.

예를 들어, 빈 목록 ( [])은 "허위"로 간주되고 비어 있지 않은 목록 (예 [1]:)은 "진정한"것으로 간주됩니다.

문서의이 섹션을 참조하십시오 .


"허위"인 다음을 제외하고 모든 값은 "진정한"것으로 간주됩니다.

  • None
  • False
  • 0
  • 0.0
  • 0j
  • Decimal(0)
  • Fraction(0, 1)
  • [] -빈 list
  • {} -빈 dict
  • () -빈 tuple
  • '' -빈 str
  • b'' -빈 bytes
  • set() -빈 set
  • range처럼,range(0)
  • 대상
    • obj.__bool__() 보고 False
    • obj.__len__() 보고 0

"truthy"값은 if또는 while문에 의해 수행 된 검사를 충족합니다 . 우리는 차별화에 "truthy"와 "falsy을"사용 bool가치 TrueFalse.

진실 가치 테스트


참 값은 true 또는 false를 반환하는 부울 값이 아니라 부울 컨텍스트에서 사용되는 개체를 참조합니다.

>>> bool([])
False
>>> bool([1])
True
>>> bool('')
False
>>> bool('hello')
True

파이썬 적용하여 truthiness 결정 bool()복귀 형으로 True또는 False같은 표현식에서 사용 if하거나 while.

다음은 사용자 정의 클래스 Vector2d의 예 False이며 크기 (벡터의 길이)가 0 일 때 반환 되는 인스턴스 이고 그렇지 않으면 True.

import math
class Vector2d(object):
    def __init__(self, x, y):
        self.x = float(x)
        self.y = float(y)

    def __abs__(self):
        return math.hypot(self.x, self.y)

    def __bool__(self):
        return bool(abs(self))

a = Vector2d(0,0)
print(bool(a))        #False
b = Vector2d(10,0)    
print(bool(b))        #True

Note: If we wouldn't have defined __bool__ it would always return True, as instances of a user-defined class are considered truthy by default.

Example from the book: "Fluent in Python, clear, concise and effective programming"

참고URL : https://stackoverflow.com/questions/39983695/what-is-truthy-and-falsy-how-is-it-different-from-true-and-false

반응형