문자열을 비교할때 비교연산자 == 를 많이 사용한다. Java에서는 별도로 .equals도 존재한다.
파이썬에서 == 를 사용하여 문자열 비교를 하고있다가 파이썬만의 다른게 없을까? 라고 생각되어 찾아봤더니 eq라는게 존재한다고한다.
그래서 써보니 == 연산자보다 좀더 수월하게 문자열 비교를할수 있는거같아서 정리하려고 한다.
먼저 eq를 사용하기 위해서는 operator 패키지안에 eq를 import 해야한다.
# 문서 상단에 입력하자
from operator import eq
이제 사용준비가 완료되었다. 문법은 아주 간단하다 eq(매개변수1, 매개변수2)로 써주면 된다 , 를 기준으로 매개변수1과 매개변수2의 문자열이 동일한지 비교한다.
꼭 매개변수가 아니더라도 문자열끼리도 비교가 가능하다. 예를들어
from operator import eq
print(eq('홍길동','홍길동')) #True 반환
당연한 결과겠지만 True가 반환된다. 다음은 변수를 사용해보자.
from operator import eq
name = '홍길동'
name2 = '이순신'
print(eq(name, name2)) # false가 출력된다
이렇게 name과 name2를 비교하는 비교연산자 == 대신 eq를 사용하여 비교해줄수있다.
가장 많이 빈번하게사용되는게 어떠한 값을 받아왔는데 그 값이 내가 원하는 값과 같냐 라고 묻는 if문을 이용한 비교를 빈번하게 사용할것이다.
name이라는 변수에 김갑수 라는 값을 받아왔다고 가정하자, 그럼 우리가 생각했을때 name 변수에 김갑수 라는 값이 저장되어있을것이라고 생각하고 코드를 작성하다보면 에러가 날때도 있다.
그럴때 한번 검증을 통해서 name이 문자열 김갑수와 동일하니? 를 먼저 묻고, 맞다면 일치할때의 수행할 코드를 작성하면 되는것이다.
from operator import eq
name = '김갑수'
if eq(name,'김갑수'):
print('name의 값은 김갑수입니다')
else:
print('name의 값은 김갑수가 아닙니다')
name의 값에 김갑수라는 값을 대입하고 if문을 사용하고 조건부에 eq를 사용해보았다. 이런식으로 사용하면 각 상황에 맞는 코드를 작성해서 그때그때 결과에 따라 대응할수가 있다.
당연히 현재는 name에 값에 김갑수라는 값이 있기때문에 true 구문의 메세지가 출력될것이다. 반대로
from operator import eq
name = '김귀남'
if eq(name,'김갑수'):
print('name의 값은 김갑수입니다')
else:
print('name의 값은 김갑수가 아닙니다')
name을 다른값을 대입했더니 김갑수가 아니라고 출력되는것을 볼수있다.
이렇게 파이썬만의 문자열 비교인 eq를 알아보았다.
'Study > Python' 카테고리의 다른 글
Python의 튜플 (0) | 2023.03.17 |
---|---|
Python의 변수 선언 방법 (0) | 2023.03.15 |
Python 문제풀이기록 (0) | 2022.08.09 |