[Python Basic] 문자열 string

Hyesu Kwon·2023년 12월 5일

Python Basic

목록 보기
6/7

문자열

애플리케이션을 만들거나 데이터를 분석할 때 매우 중요하게 다루어지는 자료형 중 하나이다.
문자열은 시퀀스 자료형이다.

시퀀스 자료형은?
리스트와 같이 데이터를 순차적으로 메모리에 저장하는 형식의 데이터이다.

일반적으로 문자열을 저장하기 위해서는 영문자 한 글자당 1바이트의 메모리 공간을 사용한다. 그리고 컴퓨터 공학자들은 문자를 처리하기 위해 이진수로 변환되는 표준 규칙을 만들었다.

 

1. 문자열의 인덱싱

a = 'abcde'
print(a[0], a[4])
print(a[-1], a[-5])

a,e
e,a

 

2. 문자열의 슬라이싱

a = 'TEAMLAB MOOC, AWESOME Python'
print(a[0:6], 'AND', a[-9:])
print(a[:])
print(a[-50:50])
print(a[::2], "AND", a[::-1])

TEAMLA AND ME Python
TEAMLAB MOOC, AWESOME Python
TEAMLAB MOOC, AWESOME Python
TALBMO,AEOEPto AND nohtyp EMOSEWA ,COOM BALMAET

 

3. 문자열의 연산

a = 'TEAM'
b = 'LAB'
print(a + "" + b)
print(a*2 + "" + b*2)

if 'A' in a: print(a)
	else: print(b)

TEAM LAB
TEAMTEAM LABLAB
TEAM

 

4. 문자열의 함수

 

문자열 함수를 사용하는 방법
: 문자열 변수 다음에 '.문자열 함수명'을 입력하면 된다.

 

함수명기능
len()문자열의 문자 개수를 반환
upper()대문자로 변환
lower()소문자로 변환
title()각 단어의 앞글자만 대문자로 변환
capitalize()첫 문자를 대문자로 변환
count('찾을 문자열')'찾을 문자열'이 몇 개 들어있는 지 개수 반환
find('찾을 문자열')'찾을 문자열'이 왼쪽 끝부터 시작하여 몇 번째에 있는지 반환
rfind('찾을 문자열')find()함수의 반대, 오른쪽 끝부터 시작하여 몇 번째에 있는지 반환
startswith('찾을 문자열')'찾을 문자열'로 시작하는지 여부 반환
endswith('찾을 문자열')'찾을 문자열'로 끝나는지 여부 반환
strip()좌우 공백 삭제
rstrip()오른쪽 공백 삭제
lstrip()왼쪽 공백 삭제
split()문자열을 공백이나 다른 문자로 나누어 리스트로 반환
isdigit()문자열을 공백이나 다른 문자로 나누어 리스트로 반환
islower()문자열이 소문자인지 여부 반환
isupper()문자열이 대문자인지 여부 반환

 

5. 문자열 서식 지정

  • print()함수는 기본적으로 변수 또는 값을 콤마로 띄어쓰기하여 출력한다.
  • 그러나 특정한 형식에 맞추어 결과를 출력해야 하는 경우도 발생한다.
    (통화 단위, 세 자리 숫자 단위로 띄어쓰기, % 출력 등)
    -> 서식 지정(formatting)으로 출력한다.

1) % 서식

기본 포맷
'%자료형 % (값)'

print('%s %s' % ('one', 'two'))
print('%d %d' % (1, 2))

one two
1 2

print('I eat %d apples.' % 3)
print('I eat %s apples.' % 'five)

I eat 3 apples.
I eat five apples.

서식설명
%s문자열(string)
%c문자 1개(character)
%d정수(integer)
%f실수(floating-point)

 

2) format()함수

기본 포맷
"{자료형}".format(인수)

print("I'm {0} years old.".format(20)))

I'm 20 years old.

 

3) 패딩(padding)

여유 공간을 지정하여 글자 배열을 맞추고 소수점 자릿수를 맞추는 기능.
% 서식과 format() 함수 모두 패딩 기능을 제공한다.

profile
데이터 분석 좀 제대로 하려고 하는 비전공자의 기록일지

0개의 댓글