꾸준히 하고싶은 개발자

문자열 본문

python

문자열

프라우스 2022. 9. 6. 21:57

문자열

  • 문자열은 시퀀스 자료형(sequence data type)이다.

문자열 과 메모리 공간

  • 일반적으로 문자열을 저장하기 위해서는 영문자 글자당 1바이트의 메모리 공간을 사용한다.
  • 다음과 같은 코드로 문자열이 저장된 공간의 크기를 확인할 있다.
  • 컴퓨터 공학자들은 이러한 문자를 처리하기 위해 이진수로 변환되는 표준 규칙을 만들었다. ASCII, CP949, MS949, UTF-8 이러한 규칙을 인코딩(encoding)이라고 한다.
    1. 컴퓨터는 문자를 직접 인식하지 못한다.
    2. 컴퓨터는 문자를 숫자로 변환하여 인식한다.
    3. 사람들은 문자를 숫자로 변환하기 위한 규칙을 만들었다.
    4. 일반적으로 규칙은 1개의 영문자를 1바이트, 2 8(28) 정도의 공간에 저장될 있도록 정하였다문자열인덱싱
  • 리스트처럼 글자 하나하나가 상대적인 주소(offset) 가지는데, 주소를 사용해 할당된 값을 가져오는 인덱싱을 사용할 있다.

  • 슬라이싱(slicing) : 문자열의 주소값을 기반으로 문자열의 부분값을 반환하는 기법이다.

문자열 연산

  • 가장 기본적인 연산은 리스트의 연산과 같다. 예를 들어, 문자열 변수 ‘a’ 정수형인 2 ‘a+2’ 같은 연산은 동작하지 않는다. 하지만 ‘a*2’ 같은 연산은 지원한다. 

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

문자열 표현과 특수문자

서식 지정의 개념

  • print( ) 함수를 사용하다 보면 어떤 형식에 맞추어 결과를 출력해야 일이 발생하기도 한다. 특히 엑셀을 사용할 통화 단위, 자리 숫자 단위 띄어쓰기, % 출력 다양한 형식에 맞추어 출력할 일이 생기는데, 이를 서식 지정(formatting)이라고 한다. 
    %서식 format()함수
  • 문자열의 서식(format) 설정할 , print( ) 함수는 기본적인 출력 형식 외에 % 서식과 format( ) 함수를 구문으로 사용하여 출력 양식을 지정할 있다. 
    • 이런 식으로 서식을 지정하여 출력하면 어떤 장점이 있을까?
    1. 데이터와 출력 형식을 분류할 있다. 같은 내용을 여러 출력하기 위해 기존pr int( )문에 띄어쓰기를 넣어 + 기호로 문자열 형태를 붙여 주는 것보다 시각적으로 훨씬 이해하기 쉽게 코드를 표현할 있다.
    2. 데이터를 형식에 따라 다르게 표현할 있다. 문자열 형태인 ('one', 'two') 구문과 정수형인 (1, 2) 구문이 각각 %s %d 다르게 할당되는 것을 확인할 있다. 서식 지정 기능은 변수의 자료형에 맞게 다른 서식으로 지정한다
  • % 서식은 다음과 같은 형태로 출력 양식을 표현하는 기법이다. 
  • '%자료형 %(값)'

  • % 1 이상의 값도 할당할 있다. 다음 코드처럼 % 뒤에 괄호를 쓰고, 안에 순서대로 값을 입력하면 된다.
    • 직접 값을 넣지 않고 number day 같은 변수명을 넣어도 문제없이 실행된다.

format()함수

  • format( ) 함수 : % 서식과 거의 같지만, 문자열 형태가 있는 함수를 사용한다는 차이점이 있다. 문자열 서식은 함수이므로 다음과 같은 형태로 서식을 지정할 있다
    "{자료형}".format(인수)
  • format( ) 함수를 사용한 가장 기본적인 표현 형태이며 기존 % 서식과 비교하면, 자료형을 바로 지정해 주지 않고 순서대로 변수가 할당된다는 장점이 있다.
  • format( ) 함수는 % 서식처럼 변수의 이름을 사용하거나 변수의 자료형을 따로 지정하여 출력한다패딩
  • 파이썬의 서식 지정 기능에는 여유 공간을 지정하여 글자 배열을 맞추고 소수점 자릿수를 맞추는 패딩(padding)기능이 있다. % 서식과 format( ) 함수 모두 패딩 기능을 제공한다.

 

'python' 카테고리의 다른 글

python 입력함수 및 형변환하기  (0) 2022.12.26
자료구조  (0) 2022.09.13
chapter05  (0) 2022.09.06
chapter04  (0) 2022.09.06