Truthy와 Falsy는 무엇입니까? 참 및 거짓과 어떻게 다릅니 까?
나는 파이썬에 정상 과 다른 Truthy 및 Falsy 값 이 있다는 것을 알게되었습니다 .True
False
누군가가 진실 과 거짓 가치가 무엇인지 깊이 설명해 주 시겠습니까?
어디에서 사용해야합니까?
진실 과 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
가치 True
와 False
.
참 값은 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"
'development' 카테고리의 다른 글
네이티브 글로벌 스타일 반응 (0) | 2020.10.04 |
---|---|
Swift에서 문자열을 날짜로 변환 (0) | 2020.10.04 |
Ruby에서 기호를 이해하는 방법 (0) | 2020.10.04 |
WebView에서 웹 페이지 콘텐츠를 가져 오려면 어떻게합니까? (0) | 2020.10.04 |
정규식 : 공백 (탭 / 공백)을 찾지 만 개행은 찾지 못함 (0) | 2020.10.04 |