겉바속촉

[PYTHON] 파이썬_텍스트 처리 본문

IT 일기 (상반기)/PYTHON

[PYTHON] 파이썬_텍스트 처리

겉바속촉 2021. 1. 5. 10:14
728x90
반응형

 

 

안녕하세요

겉바속촉입니다

!^^!

 

 

!!파이썬 시작하기!!

 

 

 

이번에는 텍스트 처리 전반에 대해서 

알아보려고 합니다

 


 

파이썬에서 텍스트는 글자, 숫자, 기호들의 순열인 문자열(string)로 표현되는데요

타입은 바로 str입니다:)

ㄴ작은 따옴표나 큰 따옴표로 값을 감싸서 문자열을 표시하며, 여는 따옴표와 닫는 따옴표는 반드시 동일해야 합니다

 

 

 

 

 

 

 

문자열 연산

 

정수처럼 보이는 문자열이면 int 함수 적용 가능

실수인 문자열이라면 flaoat 함수 적용 가능

 

* 연산자도 문자열에 적용 가능

 

내장함수 len() : 따옴표 사이의 문자 개수 반환

 

문자열은 값이라서 변수에 문자열 할당하는 것도 가능

 

 

 

 


 

 

의미 문자 = 메타 문자 = 특수 문자

 

 

  • 어떤 기능에서 특별한 용도로 사용되는 문자
  • 문자 그 자체에 특별한 의미가 결함 된 상태

 

 

ex) URL에서 파라미터의 시작을 나타낼 때 --> ?

     URL에서 파라미터의 이름과 값을 구분할 때 --> =

     URL에서 파라미터와 파라미터를 구분할 때 --> &

 

     http://www.example.com/test.do?name=lee&age=26&...

 

 

 

ex) SQL문에서 문자열 데이터를 나타낼 때 --> 홑따옴표

     select * from members where name = 'lee'

 

 

 


의미 문자에서 의미를 제거하고 문자 그 자체만 사용할(남길) 경우

 

ex) 웹 서버로 전달하는 내용이 vendName이라는 파라미터의 값으로 Bandi & Luice값을 전달해야 하는 경우

 

     http://www.example.com/test.do?vendName=Bandi & Luice

     => vendName에서 Bandi 까지만  그리고 Luice 까지 따로 인식해버림

     => 즉 Bandi랑 Luice를 하나의 값으로 인식 못함

     => 이때 사용해야하는 것이 바로 이스케이프

 

이스케이프 : 원래 의미를 가지고 있는 문자가 있다면 의미를 지우고 문자만 남기는 것

                 (문자 자체로 인식할 수 있게 해주는 것

 

 

 

ex) 회원 정보 중에서 이름이 "Juhyun's Gutbasokchock"을 조회할 경우

 

     select * from members where name = 'Juhyun's Gutbasokchock'  ---> syntax 오류 발생

                                                                                          ---> Juhyun까지만 인식

     => 이럴 때 필요한 것이 바로 이스케이프 

          : Juhyun과 s 사이의  ' 표시가 의미를 갖지 않고 문자 그 자체로 인식할 수 있게 하는 것

 

 

 

  • 방법 1) 이스케이프를 의미하는 의미 문자를 사용 ==> \ (역슬래쉬)

    select * from members where name = 'Juhyun\'s Gutbasokchock' 

 

 

  • 방법 2) 해당 기능에서 제공하는 일정 규칙에 따라서 문자열을 변경(데이터 변형)
              ==> 인코딩한다는 것 (반대는 디코딩)

   URL 인코딩 --> & --> %26

   http://www.example.com/test.do?vendName=Bandi%20%26%20Luice

   select * from members where name = 'Juhyun' 's Gutbasokchock'

 


 

 

  • 문자열 안에 작은 따옴표 또는 큰 따옴표를 넣어야 하는 경우도 있습니다

다음과 같이 해주시면 됩니다

백슬래시와 작은 따옴표를 합친 부분이 바로 이스케이프 문자열이 되는 것이쥬

 

여기서 알아야 할 것은 \' 라서 두개로 보이지만 글자수는 1개!

 

 

 

  • 문자열 앞뒤에 세 개의 작은 따옴표 또는 큰 따옴표를 사용한다면 다행 문자열을 만들 수 있음

 

 

 

 

 

개행 문자

ASCII 코드의 약어   ASCII 코드의 번호 프로그램에서 특수 기호 의미
CR 0D \r  커서를 처음으로 이동
LF  0A \n 커서를 다음 줄로 이동

 

 


 

정보 출력

 

print() 함수

 

사람이 읽을 수 있는 형태로 문자열을 출력

 

 

\t : 열 맞춰 값을 정렬

\n : 다행 문자열 내에서 새로운 줄로 바뀜

 

, (쉼표) : 쉼표로 구분된 값리스트를 전달하면 값 사이에 공백이 출력 + 마지막 값 뒤에는 새 줄

print() (인자 없으면) : 현재 줄을 끝내고 바로 다음 줄로 넘어감

 

 

 

 

키워드 인수

 

  • sep = ' '  (원래 기본 구분자는 공백이지만 sep을 뭐로 두느냐에 따라 구분자가 바뀜)
  • end = '\n'
  • file=sys.stdout
  • flush=False

 

 


 

키보드로 정보 받기

 

Input()함수 

 

  • 사용자가 입력한 내용이 숫자처럼 보여도 무조선 문자열 반환
  • 키보드에서 한 줄의 텍스트를 읽어들임

다음과 같이 입력하면 커서가 내려갑니다

우리가 입력해야되는 거에요

Homo sapiens라고 입력하고

species라고 치니 우리가 입력해준 값이 출력이 되는군요

 

하나 더해볼게요

그럼 쟤의 type을 알아볼까요??

오호.... 문자열로 나옵니다:)

 

그럼 타입 변환시켜줘볼게요

 

728x90
반응형