Python 문자열

2020. 7. 3. 12:52·프로그래밍 & 개발 환경/Python
728x90

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

sequence data type

저장공간 1씩 증가하는 것을 확인  = 연속적

 

문자열과 메모리 공간

- 컴퓨터 공학자들은 이러한 문자를 처리하기 위해 이진수로 변환되는 표준 규칙을 만들었다.

ASCII, CP949, MS949, UTF-8 이러한 규칙을 인코딩(encoding)이라고 한다.

  1. 컴퓨터는 문자를 직접 인식하지 못한다.
  2. 컴퓨터는 문자를 숫자로 변환하여 인식한다.
  3. 사람들은 문자를 숫자로 변환하기 위한 규칙을 만들었다.
  4. 일반적으로 이 규칙은 1개의 영문자를 1바이트, 즉 2의 8승 정도의 공간에 저장될 수 있도록 정하였다.

문자열의 인덱싱

- 리스트처럼 글자 하나하나가 상대적인 주소(offset)를 가지는데, 이 주소를 사용해 할당된 값을 가져오는 인덱싱을 사용할 수 있다.

 

문자열의 인덱싱

더보기

# Python 문자열의 인덱싱 

a = "abcde" 

print(a [0], a [4])
print(a [-1], a [-5]) # -1은 뒤에서 첫 번째 e , -5는 뒤에서 5번째인 a

 

문자열 인덱싱 출력

 

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

 

더보기

# 문자열의 슬라이싱

a = "Hello World, Hello Python"
print(a [0:6], "AND", a [-9:]) # a변수의 0부터 5까지, -9부터 끝까지

print(a [:]) # 처음부터 전체 출력

print(a [-50:50]) # 범위를 넘어갈 경우 자동으로 최대 범위를 지정한다.

문자열 슬라이싱 출력 결과

 

문자열의 연산

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

더보기

# 문자열의 연산

a = "Time"
b = "stop"
print(a + " " + b) # 덧셈으로 a와 b변수 연결

print(a*2 + " " + b*2) # 곱하기로 반복 연산 가능하다.

if 'T'in a:print(a) # 'T'가 a에 포함되었는지 확인 존재하면 Time출력
else:print(b)

문자열의 연산 출력 결과

 

더보기

## 문자열의 연산

int_value =2
#print("결과는"+int_value) # 정수형의 연산으로 인식해 덧셈 연산이 실행되지 않는다.

print("결과는", int_value)

문자열의 연산 함수

함수
함수

 

upper() 함수 : 문자열을 대문자로 변환하는 함수

lower() 함수 : 소문자로 변환하는 함수

더보기

# upper, lower 함수 사용 예제

title = "Time X Stop"

title.upper() # title 변수를 모두 대문자로 변환

title.lower() # title 변수를 모두 소문자로 변환

 

upper,lower

title() 함수 : 영어신문의 헤드라인처럼 각 단어의 앞글자만 대문자로 바꾸는 함수

capitalize() 함수 : 첫 번째 글자만 대문자로 바꾸는 함수

더보기

title = "TIME X STOP"

print(title.title()) # title 변수의 각 단어의 앞글자만 대문자로 변환

print(title.capitalize()) # title 변수의 첫 번째 글자만 대문자로 변환

 

title,capitalize

count() 함수 : 해당 문자열에서 특정 문자가 포함된 개수를 반환

isdigit() 함수 : 해당 문자열이 숫자인지를 True 또는 False로 값을 반환

startswith() 함수 : 해당 문자열로 시작하는지를 True 또는 False로 값을 반환

더보기

# count, isdigit, startswith

title = "Time X Stop"

print(title.count("t")) # 대소문자 구분하기 때문에 t를 두 개 사용해도 1개라고 나온다.

 

print(title.lower(). count("t")) # 소문자로 변환하고 t를 찾으면 2개

 

print(title.isdigit()) # title 변수의 문자열이 숫자인지 여부 반환

 

print(title.startswith("t")) # title 변수가 'T'로 시작하는지 여부 반환

 

count,isdigit,startswith

728x90
저작자표시 (새창열림)
'프로그래밍 & 개발 환경/Python' 카테고리의 다른 글
  • Python 튜플
  • Python 문자열 서식 지정 %,format()
  • Python 함수
  • Python 숫자 찾기 게임
포장빵
포장빵
IT공부 및 프로그래밍
  • 포장빵
    포장빵의 IT
    포장빵
  • 전체
    오늘
    어제
    • AI 학습 노트 (113)
      • 기초 수학 (4)
        • 선형대수 (0)
        • 확률통계 (4)
        • 미적분 (0)
        • 최적화 이론 (0)
      • AI & 딥러닝 (1)
        • 이론 (0)
        • 컴퓨터 비전 (0)
        • 자연어 처리 (0)
        • 생성AI (0)
        • 강화학습 (0)
      • 데이터과학 (70)
        • R (47)
        • ADSP (21)
      • 연구 & 자료 (15)
        • 논문 (6)
        • 수료증 (3)
      • 프로그래밍 & 개발 환경 (22)
        • Python (22)
        • 개발도구 (0)
        • 알고리즘 (0)
      • 면접 자료 (1)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      상관분석
      Coursera 1
      통계량에 의한 자료 분석
      확률
      stylegan2
      Python 크롤링 기초
      단순선형 회귀분석
      매핑형(딕셔너리)
      R 도수분포표
      자료의 종류
      논문
      시계열 모형
      R 원 그래프 퍼센트
      str lib
      시퀀스형
      yolov10
      지수분포
      CV
      Python Regular Expression Quick Guide
      R 원 그래프
      k-평균 군집
      베르누이분포
      none타입
      다차원 척보법
      yolov9
      python 주요 데이터 타입
      확률 분포
      Coursera Python Data Structures
      주성분 분석(PCA)
      k-means clustering
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    포장빵
    Python 문자열
    상단으로

    티스토리툴바