본문 바로가기
Python

[Python 기초] 파이썬 자료형 - 문자열 (문자열 슬라이싱, 문자열 함수)

by dev수니 2021. 3. 30.
반응형

 

 1  문자열 슬라이싱

 

문자열을 원하는 부분만 잘라내 저장하는 방법이다.

 

변수[시작번지:끝번지+1]

 

  # 다음 보기처럼 시작번지는 자신의 데이터를 포함하지만 끝번지는 자신의 데이터를 포함하지 않기때문에 끝번지+1해준다.

>>> str6 = "python java c c++"
>>> str6[0:5]
'pytho'
>>> str6[0:6]
'python'

 

# 시작번지부터 시작할 경우와 마지막 번지로 끝낼 경우 공백으로 남겨놔도 된다.

>>> str6[:7]
'python '
>>> str6[3:]
'hon java c c++'

 

 

 

 

 

 2  리터럴 상수

 

문자열은 상수이며 상수는 고정된 값을 의미한다. 변경이 불가능한 값이다. (리터널 상수)

 

>>> str1 = "딸기"
>>> str1 = "오렌지"
>>> str1
'오렌지'

 

위의 경우 딸기라는 데이터값이 저장된 공간을 변경한 것은 아니고 오렌지라는 새로운 객체를 만들어서 그 주소값을 str1에 저장시켜준것이다.
따라서 딸기라는 데이터는 유지되어있으면서 오렌지라는 데이터가 새로 생성되고 기존에 딸기의 주소값이 저장되어있던 str1에 오렌지의 주소값을 저장시켜준것이다.
이것이 바로 객체의 의미이다.

 

 

 

 


 

 

 

 3  문자열 함수

 

 

1. upper() : 문자열을 대문자로 변경해주는 함수이다. 

 

다음과 같이 선언해 사용한다.

변수명.upper()

1
2
3
4
5
6
7
8
>>> str2 = "python java c c++"
>>> str2.upper()    # 변수에 따로 저장하지 않음
'PYTHON JAVA C C++'
>>> str2
'python java c c++' # str2 출력시 그대로 소문자
>>> str2 = str2.upper()  # str2에 대문자로 변환하여 저장
>>> str2
'PYTHON JAVA C C++'
cs

줄2 처럼 변수에 따로 저장하지 않고 사용할 경우 값이 반환은 되지만 str2를 호출하면 upper()함수가 적용되지 않은 데이터가 출력된다. 따라서 줄6과 같이 변수에 저장해주어야 한다.

 

 

 

2. lower() : 문자열을 소문자로 변경해주는 함수이다.

변수명.lower()

1
2
3
4
>>> str2
'PYTHON JAVA C C++'
>>> str2.lower()
'python java c c++'
cs

 

 

3. relpace() : 문자열 치환(변환)해주는 함수이다.

변수명.repace(old, new)

함수( 했을 때 어떻게 사용해야 하는지 예시가 나와있다. 

old에 바꾸고자하는 기존의 데이터와 new에 바꾸고자하는 새로운 데이터를 입력해주면된다.

>>> replace_str = str2.replace("PYTHON","Zython")
>>> replace_str
'Zython JAVA C C++'
1
2
3
4
5
>>> str2
'PYTHON JAVA C C++'
>>> replace_str = str2.replace("PYTHON","Zython")
>>> replace_str
'Zython JAVA C C++'
cs

 

 

4. split("구분자") : 문자열 나누기

- 구분자를 이용해 문자열을 나누게 된다.  ex) "", ",", "/", "|", ...
- 문자열을 나누고 리스트로 저장하게 된다.

1
2
3
4
5
6
>>> str3 = "hello world python"
>>> print(str3.split())  # 공백을 기준으로 나눔.
['hello''world''python']
>>> str3 = "hello/world/ython"
>>> print(str3.split("/"))    # /를 기준으로 나눔.
['hello''world''ython']
cs

 

반응형

댓글