×
Crocus
공부한 내용을 정리하는 블로그로 시작한
Crocus는 2014년 1월 14일 부터 시작하여
현재 월 6만명, 총 1,701,144명의 방문자 수를 기록하고 있습니다.
Donation
이제 많은 사용자들이 이용하는 만큼
더 다양한 서비스 개발/제공을 위해 후원금을 모금하고자 합니다.
후원을 해주시는 분들은 Donators 명단에 성명, 후원금을 기입해드리며
Crocus 블로그가 아닌 다른 곳에 정리해둔 저만의 내용을 공유해 드리고자 합니다.
Account
예금주 : 고관우
신한은행 : 110-334-866541
카카오뱅크 : 3333-01-7888060

👉 후원 페이지 바로가기 Donators
익명 : 5000원(Crocus응원합니다.)
busyhuman: 5000원(유용한 지식 감사합니다.)
익명 : 5000원(알고리즘 학습러)
728x90
반응형

python에서 if(("hello" or "world") in "hello world") 라고 하면 무엇일까?

true라고 뜰까? false라고 뜰까?

 

정답은 얼핏 봐서는 hello world안에 hello 또는 world가 있기에 true이다.

 

하지만 연산자 순위 및 논리식에 의해 그렇지 않다.

 

"hello" or "world"를 하면 true or true이기에 첫번째 true만 보고 바로 hello를 뱉어낸다.

 

"hello" and "world"는 둘다 true이기에 마지막으로 본 "world"만 뱉어낸다.

 

아래에 좀 더 자세한 코드를 보고 이해해보자.

 

선뜻 아무거나 다 해줄 것 같은 python이 이런 부분에서는 우리가 생각하는 것과 다름을 이해하자.

 

str1 = '' 
str2 = 'geeks'

print(repr(str1 and str2))      # Returns str1  
print(repr(str2 and str1))      # Returns str1 
print(repr(str1 or str2))       # Returns str2  
print(repr(str2 or str1))       # Returns str2 
  
str1 = 'for'  
print(repr(str1 and str2))      # Returns str2  
print(repr(str2 and str1))      # Returns str1 
print(repr(str1 or str2))       # Returns str1  
print(repr(str2 or str1))       # Returns str2 
  
str1='geeks'  
print(repr(not str1))          # Returns False 

str1 = ''  
print(repr(not str1))          # Returns True  
Output
'' 
'' 
'geeks' 
'geeks' 
'geeks' 
'for' 
'for' 
'geeks' 
False 
True 

The output of the boolean operations between the strings depends on following things: 

1. Python considers empty strings as having boolean value of ‘false’ and 

non-empty string as having boolean value of ‘true’. 


2. For ‘and’ operator if left value is true, then right value is checked and returned. 

If left value is false, then it is returned 


3. For ‘or’ operator if left value is true, then it is returned, 

otherwise if left value is false, then right value is returned. 

 


https://www.geeksforgeeks.org/g-fact-43-logical-operators-on-string-in-python/

 

Logical Operators on String in Python - GeeksforGeeks

For strings in python, boolean operators (and , or, not) work. Let us consider the two strings namely str1 and str2 and try boolean operators… Read More »

www.geeksforgeeks.org

 

반응형