Python 문자열 비교를 위한 다양한 방법
이 튜토리얼은 Flexiple에서 자주 사용되거나 흥미로운 개념에 대한 짧은 큐레이트 튜토리얼을 작성하기 위한 이니셔티브의 일부입니다.
내용의 테이블
String Comparison Operators
파이썬 문자열 비교
파이썬 문자열 비교 방법은 문자열을 비교하는 데 사용됩니다. 그러나 Python에는 이를 용이하게 하는 몇 가지 편리한 내장 연산자도 있습니다. 그러나 방법을 살펴보기 전에 해결해야 할 중요한 개념이 있습니다.
프로그램의 데이터는 객체로 표현되며 객체에는 이러한 3가지 속성이 있습니다. ID(Id) - ID에는 데이터가 저장된 메모리 주소가 포함됩니다. 다음으로 Type은 개체의 데이터 형식이고 Value는 개체가 저장하는 내용입니다.
Python은 동일한 값을 포함하는 객체 ID를 재사용하여 메모리를 절약합니다. 예: here . 이것은 또한 파이썬 문자열 비교를 더 빠르고 쉽게 만듭니다. 또한 각 연산자는 속성을 사용하여 객체를 비교하므로 이러한 용어를 변경하십시오. 이렇게 하면 파이썬 문자열 비교가 훨씬 빠르고 쉽습니다.
문자열 비교 연산자
파이썬에서 문자열을 비교하는 데 사용할 수 있는 다양한 방법 중에서 가장 일반적으로 사용되는 두 가지 방법을 아래에서 설명했습니다.
참고: 이러한 모든 비교 방법은 부울
true
또는 false
를 반환합니다."==" 및 "!="
== 및 !=는 파이썬 문자열 비교에 일반적으로 사용되는 관계 연산입니다. 이러한 연산자는 문자열에 있는 모든 요소의 유니코드 값을 비교하고 부울 true 또는 false를 반환합니다.
유니코드 값은 파이썬에서 문자열을 저장하는 방법입니다. 문자열의 각 요소에는 유니코드가 제공되며 이는 프로그래머가 사용하는 언어에 관계없이 요소를 균일하게 유지하는 데 도움이 됩니다. 이에 대해 자세히 알아볼 수 있습니다here.
따라서 이러한 관계 연산자는 유니코드 값을 기반으로 문자열을 비교합니다.
"=="사용
"=="는 두 피연산자의 값이 동일한지 확인하는 파이썬 문자열 비교 방법입니다. 이 연산자는 파이썬에서 동등성을 확인하기 위해 가장 일반적으로 사용되는 방법입니다.
s1 = 'flexiple!'
print(id(s1))
#Output = 2621679855024
s2 = 'flexiple!'
print(id(s2))
#Output = 2621679855024
s3 = 'flexiple'
print(id(31))
#Output = 140735453670112
print(s1==s2)
#output = True
print(s2==s3)
#output = False
연산자는 각각
True
및 False
를 반환합니다. 또한 s1과 s2의 Id가 어떻게 동일한지 확인하십시오.그러나 Id 함수는 컴파일러에 따라 다른 숫자를 반환한다는 점에 유의하십시오.
"!="를 사용하여
!=
는 피연산자의 값이 같지 않은지 확인하는 또 다른 파이썬 문자열 비교 연산자입니다. == 연산자의 반대를 수행합니다. 아래 코드 스니펫은 동일한 구현입니다.s1 = 'flexiple!'
s2 = 'flexiple!'
s3 = 'flexiple'
print(s1!=s2)
#Output = False
print(s2!=s3)
#Output = True
"이다"와 "없다"
is
및 not is
연산자는 각각 ==
및 !=
와 매우 유사합니다. 그러나 관계 연산자와 달리 is
및 is not
는 개체의 ID(id)를 비교하고 동일한 ID를 공유하는 경우 true를 반환합니다.객체의 ID가 동일하게 유지된다고 주장할 수 있지만 불변으로 작업할 때는 그렇지 않습니다. 객체에 다른 값이 주어지면 메모리는 새로운 ID를 부여하는 변경 사항을 할당합니다.
이것은 비교를 위해
is
및 is not
연산자를 사용할 때 염두에 두어야 할 사항입니다."is"사용:
s1 = 'flexiple!'
s2 = 'flexiple!'
s3 = 'flexiple'
print(s1 is s2)
#output = True
print(s2 is s3)
#output = False
"is not"사용:
s1 = 'flexiple!'
s2 = 'flexiple!'
s3 = 'flexiple'
print(s1 is not s2)
#output = False
print(s2 is not s3)
#output = True
이제 값이 변경될 때 Identity(id)가 어떻게 변경되는지 살펴보겠습니다.
s1 = 'flexiple!'
print(id(s1))
#Output = 2621679855024
s2 = 'flexiple!'
print(id(s2))
#Output = 2621679855024
#Now let us update s1
s1 = 'flexi'
print(id(s1))
#Output - 2621680032944
s1의 값이 변경되면 s2는 즉시 s1에 대한 참조를 중지하고 새 ID가 부여됩니다.
제한 사항 및 주의 사항
==
를 사용하는 것입니다.
Reference
이 문제에 관하여(Python 문자열 비교를 위한 다양한 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/hrishikesh1990/various-methods-for-python-string-comparison-41fj텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)