[Python] Ch2 - part 3. 문자열

2021. 3. 25. 21:58· Language/Python
목차
  1. 문자열
  2. 문자열 리터럴
  3. 문자열 형변환
  4. 이스케이프 시퀀스 (참고)
  5.  
  6. 문자열 다루기
  7. Summary

문자열

특징은 다음과 같다.

  • 컴퓨터는 숫자를 다루지만 사람은 문자가 익숙하다.
  • 응용프로그램을 만들기 위해서는 문자열을 잘 다룰 수 있어야 한다.
  • 파이썬 3에서는 유니코드에 대한 지원이 파이썬 2보다 향상되었다.
  • 파이썬 3에서 문자열은 불변(immutable)이다. 

문자열 리터럴

문자열 리터럴은 단일 또는 이중 인용부호로 묶어서 생성

>>> 'Hello'
>>> "World"

 

멀티 라인 문자열

  • 파이썬에서는 세 개의 단일 또는 이중 인용부호를 사용해서 여러 라인의 문자열 리터럴을 생성할 수 있다.
>>> a = '''text
...text
...text
...text'''

>>> b = """text
...text
...text
...text"""

>>> print(a)
text
...text
...text
...text

>>> print(b)
text
...text
...text
...text

 

문자열 형변환

str()함수를 사용하여 문자열로 변환 가능

>>> str(98.6)
'98.6'
>>> str(1.0e4)
'10000.0'
>>> str(True)
'True'

 

이스케이프 시퀀스 (참고)

파이썬은 문자열 안에 일부 문자의 의미를 다르게 해석해서 특별한 문자를 출력할 수 있다.

  • 문자 앞에 백슬리새(\) 기호를 붙여서 시작
  • 예)\n:개행문자

이스케이프 시퀀스 목록

dojang.io/mod/page/view.php?id=2465

 

파이썬 코딩 도장: 47.6 이스케이프 시퀀스

\(백슬래시) 뒤에 문자나 숫자가 오는 조합을 이스케이프 시퀀스(escape sequence)라고 합니다. 다음은 파이썬의 이스케이프 시퀀스입니다. ▼ 표 47-6 파이썬 이스케이프 시퀀스 이스케이프 시퀀스

dojang.io

 

문자열 다루기

문자열 결합: +

  • 문자열에 + 연산자를 적용하면 문자열을 결합할 수 있다.
>>> name = 'Gil-dong'
>>> 'Hi, ' + name +'!'
'Hi, Gil-dong!'

 

문자열 복제: *

  • <문자열> * <양의정수>의 형태로 * 연산자를 사용하면 <문자열>이 <양의 정수> 만큼 반복된 문자열 생성됨.
>>> 'Hi' * 4
'HiHiHiHi'

 

문자 추출: []

  • <문자열>[오프셋]의 형태로 특정 위치의 문자를 읽을 수 있다.
>>> s = 'abcdefghijklmnopqrstuvwxyz'
>>> s[0]
'a'
>>> s[1]
'b'
>>> s[-1]
'z'
>>> s[-2]
'y'
>>> s[100]
Traceback (most recent call last):
  File "<pyshell#24>", line 1, in <module>
    s[100]
IndexError: string index out of range

 

  • 문자열은 불변 값이므로 특정 위치의 문자를 다른 문자로 바꿀수 없다. 
>>> s[1] = 'B'
Traceback (most recent call last):
  File "<pyshell#25>", line 1, in <module>
    s[1] = 'B'
TypeError: 'str' object does not support item assignment

 

슬라이스: [start:end:step]

  • 슬라이스를 사용하면 문자열의 일부를 추출할 수 있다.
    • [:] - 처음부터 끝까지 추출
    • [start:] - start 오프셋부터 끝까지 추출
    • [:end] - 처음부터 (end-1) 오프셋까지 추출
    • [start:end] - start 오프셋부터 (end-1) 오프셋까지 추출
    • [start:end:step] - step만큼 문자를 건너뛰면서 start ~ (end-1)까지 추출
>>> s='0123456789'
>>> s[:]
'0123456789'
>>> s[4:]
'456789'
>>> s[1:7]
'123456'
>>> s[1:8:2]
'1357'

 

문자열 길이: len()

  • 파이썬의 내장 함수 len()을 사용하면 문자열의 길이를 알 수 있다.
>>> s[1:8:2]
'1357'
>>> s = '123'
>>> len(s)
3
>>> len('')
0

 

문자열 분리/결합: split(), join()

  • 문자열은 문자열 처리를 위한 여러 메소드를 가지고 있으며 "<문자열>.<메소드>(인자)"의 형태로 사용
>>> s = 'Python is easy'
>>> s.split()
['Python', 'is', 'easy']
>>> '#'.join(['python','is','easy.'])
'python#is#easy.'
>>> '1,2,3'.split(',')
['1', '2', '3']

 

이외에도 다양한 함수를 제공하고 있으니 아래의 사이트에서 문자열 함수들이 어떤것이 있는지 확인할 수 있다.

docs.python.org/3/library/stdtypes.html#string-methods

 

Built-in Types — Python 3.9.2 documentation

The following sections describe the standard types that are built into the interpreter. The principal built-in types are numerics, sequences, mappings, classes, instances and exceptions. Some collection classes are mutable. The methods that add, subtract,

docs.python.org

 

problem

사용자로부터 메세지를 입력받고, 메시지의 길이와 메시지를 단어로 분리하여 출력하라(공백으로 분리)

>>> msg = input('메세지: ')
메세지: Hello World!
>>> print(len(msg))
12
>>> print(msg.split())
['Hello', 'World!']

 

Summary

  1. 파이썬 3에서는 유니코드에 대한 지원이 파이썬 2보다 향상되었다.
  2. 문자열 리터럴은 단일 또는 이중 인용부호로 감싸서 표현한다.
  3. 단일 또는 이중 인용부호 세 개를 이용하여 멀티 라인 문자열을 표현할 수 있다.
  4. str() 함수를 이용하여 문자열로 형변환이 가능하다.
  5. 이스케이프 시퀀스를 이용하면 특별한 문자를 표현할 수 있다.
  6. 문자열에서 + 연산은 두 문자열을 연결하며, * 연산은 연산의 대상이 되는 문자열을 곱한 수 만큼 반복된 형태로 생성한다.
  7. []연산자를 이용하여 특정 오프셋의 문자를 추출할 수 있다.
  8. 슬라이스 연산을 이용하면 특정 부분의 문자열을 추출할 수 있다.
  9. 파이썬은 문자열을 다룰 수 있는 여러 가지 메소드를 제공한다. 

'Language > Python' 카테고리의 다른 글

[Python] Ch3 - part 1.리스트와 튜플  (0) 2021.03.25
[Python] Ch2 - part 4. 논리 (Boolean)  (0) 2021.03.25
[Python] Ch2 - part 2. 숫자  (0) 2021.03.25
[Python] Ch2 - part 1. 변수, 이름, 객체  (0) 2021.03.25
[Python] 유용한 사이트 모음  (0) 2021.03.25
  1. 문자열
  2. 문자열 리터럴
  3. 문자열 형변환
  4. 이스케이프 시퀀스 (참고)
  5.  
  6. 문자열 다루기
  7. Summary
'Language/Python' 카테고리의 다른 글
  • [Python] Ch3 - part 1.리스트와 튜플
  • [Python] Ch2 - part 4. 논리 (Boolean)
  • [Python] Ch2 - part 2. 숫자
  • [Python] Ch2 - part 1. 변수, 이름, 객체
White Han
White Han
Software Developer
sudo apt-get happinessSoftware Developer
White Han
sudo apt-get happiness
White Han
전체
오늘
어제
  • 분류 전체보기 (183)
    • Language (35)
      • Java (17)
      • Java-Weekly-study (0)
      • Python (18)
    • BackEnd (11)
      • Server (2)
      • Spring (3)
      • Spring Security (0)
      • JDBC (1)
      • NodeJS (2)
      • LINUX (3)
    • DataBase (10)
      • MySQL (5)
      • MongoDB (4)
      • Oracle (1)
    • Infra (4)
      • Docker (4)
    • CS (38)
      • OS (38)
    • Problem Solving (79)
      • Algorithm (8)
      • CT-Java (30)
      • CT-Python (41)
    • IDE (1)
      • eclipse (1)
      • vscode (0)
    • Etc. (3)
      • Git (1)
      • TDD, Refactor, CleanCode (1)
      • Conference (1)
    • 기록 (2)
      • 후기 (1)
      • 프로젝트 회고록 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 글쓰기

공지사항

  • 방문해 주셔서 감사합니다.

인기 글

태그

  • 싸피 합격
  • 운영체제 구조
  • 자바스크립트 개념
  • 알파스캔 AOC 24B1X
  • 자바 inheritance
  • 자바스크립트
  • java
  • 운영체제
  • 자바 this
  • Java this
  • 싸피 후기
  • 24인치 모니터 추천
  • SSAFY
  • OS
  • 자바스크립트 식별자
  • 운영체제 역할
  • 사무용 모니터 추천
  • javascript identifier
  • 싸피8기
  • 자바스크립스 식별자 종류
  • 알파스캔 모니터
  • 싸피
  • AOC 24B1X
  • Java Inheritance
  • 자바 super
  • 프로세스
  • javascript
  • Java super
  • 사무용 모니터
  • 프로세서

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.1
White Han
[Python] Ch2 - part 3. 문자열
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.