본문 바로가기
programming/Python

파이썬 문자열 길이와 찾기

by 개코 - 개발과 코딩 2021. 7. 29.

파이썬의 문자열도 다른 언어들과 마찬가지의 기능이 있다. 문자열의 길이를 찾고 특정 문자열이 있는지 찾을 수 있다. 이 기능은 다른 언어에도 있는 기능이다. 하지만, 다른 점이 있다면 이 기능만을 가지고도 고급기능으로 발전시켜 사용할 수 있다는 점이 차이가 있다.

파이썬 문자열 길이와 찾기
파이썬 문자열 길이와 찾기

 

파이썬 문자열 길이 찾기

파이썬에서 문자열의 길이는 len() 함수를 사용한다.

len() 함수를 사용하면 문자열 변수에 할당된 문자열의 길이를 알 수 있다.

문자열은 문자 하나하나의 배열이라고 언급했었다.

 

▶ 파이썬 문자열 배열 문자열은 문자들의 집합

 

코드를 보자

어렵지 않다

문자열 변수인 vStr에 임의의 문자열 값을 할당하고 , 문자열 길이 함수인 len() 함수를 이용해 vLen 변수에 할당다.

vStr = '파이썬을 공부해 두면 여러가지 할 수 있습니다.'
vLen = len( vStr )
vIdx = vStr[0]

print( '변수 vStr - ', vStr, type( vStr ) )
print( '변수 vLen - ', vLen, type( vLen ) )
print( '변수 vIdx - ', vIdx, type( vIdx ) )

결과화면을 보면 알겠지만, 문자열 변수인 vStr은 문자열을 담고 있기 때문에 데이터타입은 문자열인 str 이다.

문자열 길이를 알 수 있는 len() 함수를 이용하면 정수형 숫자를 반환하고 데이터타입은 숫자형인 int 이다.

문자열은 인덱스가 0부터 시작한다.

 

파이썬 문자열 찾기 in , not in

특정 문자열을 찾기 위해서는 in 키워드를 사용한다.

반대의 경우라면 not in 키워드를 사용한다.

문법적인 내용도 다른 언어에 비해 어렵지 않다.

이런 점을 생각해 보면 파이썬은 고급기능을 위한 배우기 편한 언어임에는 분명할 수 있다.

물론, 이런 단편적인 내용만으로는 편견일수도 있겠지만 말이다.

vStr에 할당된 변수에서 파이썬이란 문자열을 찾는 코드이다.

  • 찾을 문자열 in 문자열 : 찾을 문자열이 있다면 true
  • 찾을 문자열 not in 문자열 : 찾을 문자열이 없다면 true
vStr = '파이썬을 공부해 두면 여러가지 할 수 있습니다.'
vFindStr_1 = '파이썬'
vFindStr_2 = '자바'

vInStr = vFindStr_2 in vStr

print( '변수 vStr - ', vStr, type( vStr ) )
print( '변수 vFindStr_1 - ', vFindStr_1, type( vFindStr_1 ) )
print( '변수 vFindStr_2 - ', vFindStr_2, type( vFindStr_2 ) )

vInStr = vFindStr_1 in vStr
print( '변수 vInStr - ', vFindStr_1, vInStr, type( vInStr ) )

vInStr = vFindStr_1 not in vStr
print( '변수 vInStr - ', vFindStr_1, vInStr, type( vInStr ) )

vInStr = vFindStr_2 in vStr
print( '변수 vInStr - ', vFindStr_2, vInStr, type( vInStr ) )

vInStr = vFindStr_2 not in vStr
print( '변수 vInStr - ', vFindStr_2, vInStr, type( vInStr ) )

변수 vInStr 을 살펴보자

결과로 보면 데이터타입이 불형식임을 알 수 있다.

찾을 문자열 in 문자열 로 사용하면 문자열을 찾을 수 있다.

찾을 문자열 not in 문자열 로 사용하면 문자열이 없는지를 알 수 있다.

 

조건문을 사용하여 세련되게 표현하자

위의 코드에 조건문을 추가하여 조금 세련되게 바꿔보도록 한다.

조건문을 사용하면 키워드를 반복하며 사용되는 횟수를 줄여줄 수 있고, 하나의 키워드로 여러가지 작업을 동시에 할 수 있다.

조건문을 여러가지 형태로 사용했다.

코드만 좀 길어졌을 뿐이지 결과화면을 보면 별 것 없다.

vStr = '파이썬을 공부해 두면 여러가지 할 수 있습니다.'
vFindStr_1 = '파이썬'
vFindStr_2 = '자바'

print( '변수 vStr - ', vStr, type( vStr ) )
print( '변수 vFindStr_1 - ', vFindStr_1, type( vFindStr_1 ) )
print( '변수 vFindStr_2 - ', vFindStr_2, type( vFindStr_2 ) )

vInStr = vFindStr_1 in vStr
if vFindStr_1 in vStr:
    print( '변수 vFindStr_1 in - ', vFindStr_1, vInStr, type( vInStr ) )
else:
    print('변수 vFindStr_1 in - ', vFindStr_1, vInStr, type(vInStr))

vInStr = vFindStr_2 in vStr
if vFindStr_2 in vStr:
    print( '변수 vFindStr_2 in - ', vFindStr_2, vInStr, type( vInStr ) )
else:
    print('변수 vFindStr_2 in - ', vFindStr_1, vInStr, type(vInStr))

vInStr = vFindStr_1 in vStr
if vFindStr_1 not in vStr:
    print( '변수 vFindStr_1 not in - ', vFindStr_1, vInStr, type( vInStr ) )
else:
    print('변수 vFindStr_1 not in - ', vFindStr_1, vInStr, type(vInStr))

vInStr = vFindStr_2 in vStr
if vFindStr_2 not in vStr:
    print( '변수 vFindStr_2 not in - ', vFindStr_2, vInStr, type( vInStr ) )
else:
    print('변수 vFindStr_2 not in - ', vFindStr_1, vInStr, type(vInStr))

결과화면을 보자.

조건이 맞는 경우와 틀린 경우에 대해 모두 보여주도록 하였다.

물론, 실제로 이렇게 상세하게 사용하는 일은 없겠지만, 공부하는 입장에서 상세하게 살펴볼 필요도 있다.

반응형

댓글