Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python 문자열에 논리 연산자(and, or) 활용하기

Python의 논리 연산자 andor는 문자열에도 적용할 수 있습니다. 이때 빈 문자열("")은 Boolean 값으로 False로 평가되며, 내용이 있는 문자열은 True로 평가됩니다. 두 연산자가 어떻게 동작하는지 먼저 살펴보겠습니다.

and 연산자

and 연산자는 표현식에서 거짓(falsey) 값이 하나라도 있으면 첫 번째 거짓 값을 반환하고, 모든 값이 참이라면 마지막 값을 반환합니다.

or 연산자

or 연산자는 표현식에서 참(truthy) 값이 하나라도 있으면 첫 번째 참 값을 반환하고, 모든 값이 거짓이라면 마지막 값을 반환합니다.

논리 연산자의 동작 규칙

연산결과
x and yx가 거짓이면 x, 그렇지 않으면 y
x or yx가 참이면 x, 그렇지 않으면 y
not xx가 거짓이면 True, 그렇지 않으면 False

아래는 Python에서 문자열에 논리 연산자를 사용하는 방법을 보여주는 예제 프로그램입니다.

str1 = ""
str2 = "python"
print(repr(str1 and str2))
print(repr(str2 and str1))
print(repr(str1 or str2))
print(repr(str2 or str1))

str1 = "Hello "
print(repr(str1 and str2))
print(repr(str2 and str1))
print(repr(str1 or str2))
print(repr(str2 or str1))

print(repr(not str1))

str2 = ""
print(repr(not str2))

str2 = "hello"
print("Hello == hello:", str1 == str2)

실행 결과

''
''
'python'
'python'
'python'
'Hello '
'Hello '
'python'
False
True
Hello == hello: False

결과 해석

str1이 빈 문자열일 때 str1 and str2는 첫 번째 거짓 값인 빈 문자열 ''를 반환합니다. 반대로 str1 or str2는 첫 번째 참 값인 'python'을 반환합니다. 두 문자열이 모두 참 값을 가질 때는 and는 마지막 값을, or는 첫 번째 값을 반환하는 것을 확인할 수 있습니다. 또한 not 연산자는 빈 문자열에 대해 True, 내용이 있는 문자열에 대해 False를 반환하며, 대소문자가 다른 문자열 비교(Hello == hello)는 False임을 알 수 있습니다.