반응형
이번 포스팅에서는 파이썬의 3가지 데이터 타입 (Data Type) 중 문자형(String)에 대하여 공부를 해보고자 한다.
문자형(String)
문자열(string)이란 문자로 이루어진 데이터의 집합을 말한다.
파이썬에서는 다양한 방법으로 문자열을 표현할 수 있다.
문자열 값 표현
작은따옴표나 큰 따옴표로 감싼다.
name = ‘홍길동‘
address = “서울시 종로구“
value1 = “I’m a student”
value2 = '명수가 말했습니다. "안녕 친구들" '
' ‘ ’ 또는 " " " (작은/큰 따옴표 3개)로 여러 줄 문자열을 감싼다. 문자열에 엔터가 들어갈 경우 사
용하면 편리하다.
desc = '''파이썬은 컴퓨터 언어입니다.
파이썬은 귀도 반 로섬이라는 네덜란드 출신 프로그래머가
1991년에 만들었습니다.'''
다른 타입의 데이터를 문자열로 바꾸기
value = str(200)
value = "값 : "+str(2000)
value # '값 : 2000'
Escape 문자
Escape 문자는 키보드에는 있지만 글자로 표현할 수 없는 문자를 표현하기 위한 문자다.
ex) Enter, Tab, back space 등
사용하는 글자가 원래 의미에서 벗어나(escape) 다른 의미로 쓰인다고 해서 escape문자라고 한다.
파이썬뿐 아니라 모든 프로그래밍 언어에서 사용하는 표준이다.
구분
Escape 문자 | 설명 |
\b | Back space |
\t | Tab |
\n | Enter |
\\ | \ |
\’ | 작은 따옴표. 문자열 감싸는 작은 따옴표와 구분할 때 사용. |
\” | 큰 따옴표. 문자열 감싸는 큰 따옴표와 구분할 때 사용. |
\r | Carriage return (커서를 맨 앞으로 이동). |
raw string
- r "문자열 값들"
- 문자열 내의 escape 문자 무시
문자형 연산
숫자처럼 문자열끼리 서로 더하거나 문자열에 숫자를 곱한다.
문자열끼리의 더하기(+) 연산은 두 문자열을 서로 연결켜준다.
문자열과 정수의 곱하기(*) 연산은 해당 문자열을 정수배만큼 반복해서 연결해준다.
문자열 + 문자열
문자열을 합친다.
문자열 + 다른 타입은 에러 발생한다. (str( ) 내장 함수로 다른 타입을 string으로 변환해야 함)
print("이름: " + name)
age = 30
print("나이: " + age)
print("나이: " + str(age))
[실행결과]
이름: 홍길동
error - 같은 타입만 합칠 수 있다.
나이: 30 - 정수(int)를 문자열로 변환 후 합친다.
문자열 * n
문자열을 n회 반복한다.
print('-'*20)
print('*' * 10)
[실행결과]
--------------------
**********
문자열의 글자 수 세기
내장 함수의 len(문자열) 사용한다.
len("문자열")
en("fhdfjhdfdkadhkjqhkhk")
[실행결과]
3
20
문자열 내에 특정 문자열이 있는지 확인
in, not in 연산자를 사용한다.
hello = "he, she"
'he' in 'hello'
'he' not in 'hello'
[실행결과]
True
False
문자열 주요 메소드
메소드 | 설명 |
split(구분문자열) | 구분 문자열을 기준으로 나눈다. |
strip( ), lstrip( ), rstrip( ) | 앞뒤(strip) 앞(lstrip) 뒤(rstrip) 공백 제거. |
replace('바꿀 문자열', '새문자열') | 바꿀 문자열을 새문자열로 바꾼다. |
in, not in (연산자) | 문자열 안에 특정 문자열이 있는지(in) 없는지 (not in) 확인한다. 결과는 boolean으로 알려준다. |
count('세려는 문자열') | 세려는 문자열이 몇 번 쓰였는지 확인 |
index(문자열) find(문자열) |
문자열이 몇 번째 index에 있는지 확인 |
upper( ), lower( ) | 대문자(upper) 소문자(lower)로 변환 |
startswith("문자열") endswith("문자열") |
문자열로 시작/끝 나는지 확인 |
반응형
'Back-End > Python' 카테고리의 다른 글
[Python] 문자열 형식화(formatting) (0) | 2022.09.17 |
---|---|
[Python] 문자열 인덱싱(Indexing) 과 슬라이싱(Slicing) (0) | 2022.09.16 |
[Python] 데이터 타입 (Data Type) - 논리형(Boolean) (0) | 2022.09.15 |
[Python] 데이터 타입 (Data Type) - 숫자형 (numeric) (0) | 2022.09.15 |
[Python] 변수(Variable) 선언 및 대입 (2) | 2022.09.15 |