Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬 진리값 테스트

<시간/>

우리는 진리 값을 테스트하기 위해 모든 객체를 사용할 수 있습니다. if에 조건을 제공함으로써 또는 동안 문장을 확인하면 됩니다.

클래스 메서드 __bool__()이 False를 반환할 때까지 또는 __len__() 메서드가 0을 반환하면 해당 객체의 진리값이 True라고 생각할 수 있습니다. .

  • 상수 값은 False입니다. , False인 경우 또는 None .

  • 변수에 0, 0.0, Fraction(0, 1), Decimal(0), 0j와 같은 다른 값이 포함되어 있으면 False 값을 나타냅니다.

  • 빈 시퀀스 '', [], (), {}, set(0), range(0), 이러한 요소의 True 값은 False입니다. .

진리값 0은 False와 동일합니다. 1은 True와 동일합니다. .

예시 코드

class A: #The class A has no __bool__ method, so default value of it is True
   def __init__(self):
      print('This is class A')
        
a_obj = A()

if a_obj:
   print('It is True')
else:
   print('It is False')
    
class B: #The class B has __bool__ method, which is returning false value
   def __init__(self):
      print('This is class B')
        
   def __bool__(self):
      return False
b_obj = B()
if b_obj:
   print('It is True')
else:
   print('It is False')
 myList = [] # No element is available, so it returns False
if myList:
   print('It has some elements')
else:
   print('It has no elements')
    
mySet = (10, 47, 84, 15) # Some elements are available, so it returns True
if mySet:
   print('It has some elements')
else:
   print('It has no elements')

출력

This is class A
It is True
This is class B
It is False
It has no elements
It has some elements