바뀜
편집 요약 없음
문자 자료에 대한 문서.
문자 자료에 대한 문서.
==이스케이프 코드==
프로그래밍을 위해 미리 정의해 둔 조합. 표현할 방법이 없으니, 코드화 하여 표현한다.
실제로 사용할 땐 역슬레시로 나타난다.
{| class="wikitable"
!코드
!설명
|-
|\n
|개행(줄바꿈)
|-
|\t
|탭(간격맞추기)
|-
|\\
|문자 \
|-
|\'
|따옴표
|-
|\"
|쌍따옴표
|}문자열을 'C:\경로\note' 라고 기입할 때 \n을 개행으로 인식하여 줄을 바꾸어버리곤 한다. 이러한 사태를 막기 위해선 문자열 앞에 <code>r'내용'</code> 형태로 앞에 r을 붙이면 이스케이프 코드를 사용하지 않고 입력한 그대로 나타난다.
=문자열의 사용 =
===따옴표 사용===
문자열 데이터에 ' 를 사용하려면 다른 조치가 필요하다. 기본적으로 ', "는 문자열을 구분하기 위해 쓰이기 때문이다.
{| class="wikitable"
!입력법
!방법
|-
|'I\'m sam'
|문자 앞에 \(역슬래시)를 넣는다.
|-
|"i'm sam"
|쓰고자 하는 따옴표와 다른 종류의 따옴표를 사용한다.
|}큰 따옴표도 같은 방식으로 입력한다.
문자를 정의할 때 따옴표 3개를 써서 정의하면 그 안에 보이는 그대로 문자열을 사용할 수 있다. 이것저것 생각하기 귀찮을 때 사용하자.
===인덱싱===
첫 번째 글자는 0번으로 인덱싱된다. 인덱스는 스페이스를 포함한다. 문자[숫자] 형태로 필요한 문자열을 포함할 수 있으며 문자[시작인덱스:끝인덱스] 형태로 여러 개의 문자를 뽑아낼 수도 있다.
==문자열 포메팅==
상황에 따라 다른 정보를 추출하기 위해 변하는 데이터를 포함한 문자열을 만들 필요가 있다. 문자열 안의 데이터를 수시로 바꿔주기 위한 편의장치.
{| class="wikitable"
!의도
!방법
!예시
|-
|문자열 포메팅
|"문자열 %d 문자열"%숫자
위 형태로 문자열 안의 데이터를 바꾸어줄 수 있다.
|<syntaxhighlight lang="python">
deg = 23
temp = "현재온도는 %d도 입니다."%deg
</syntaxhighlight>
|-
|2개라면?
|"문자열 %d 문자열 %d"%(숫자1, 숫자2)
벡터형태로 넣어주면 된다.
|
|}
===문자열 포멧 코드===
{| class="wikitable"
!의도
!코드
!이름기원
|-
|문자열 넣기
|%s
|string
|-
|문자 1개
|%c
|character
|-
|정수
|%d
|
|-
|부동소수
|%f
|float-point
|-
|문자 % 넣기
|%%
|
|}
===다른 방식의 포메팅===
문자열 포멧코드 대신 <code>"오늘 {}교시는 {}시간입니다.".format(5, "과학")</code> 형태로 쓸 수도 있다. 데이터가 무너질 확률은 커지지만, 유연성이 크다.
이게 진짜 유용하다. 웹크롤링이나 문자를 다루는 데 굉장한 편의성을 제공한다.
==문자열 관련함수==
{| class="wikitable"
|+
!함수
!의도
!사용법
|-
|count
|문자열 안에 특정 문자가 몇 개 있는지 알고 싶을 때 쓴다.
|문자열.count("셀 문자")
|-
|find
|문자열 안에 특정 문자가 어디에 있는지 인덱스를 알려준다.
|문자열.find("찾을문자")
|-
|index
|find와 유사하다.
다만, 없는 문자를 찾을 때 find에선 -1을 반환하는 반면, index는 에러를 내서 종료시킨다.
|문자열.index("찾을문자")
|-
|replace
|특정 문자를 바꾸고자 할 때.
|문자열.replace("찾을문자", "바꿀문자")
|-
|split
|특정 문자열을 기준으로 문자들을 나누고자 할 때.
|문자열.split("나눌문자")
|-
|join
|특정 문자열을 사이에 두고 합칠 때.
|'사이문자'.join(리스트)
|}
==정규표현식==
{| class="wikitable"
|+
!표현식
!설명
!활용
|-
|\D
|숫자가 아닌 문자.
|<syntaxhighlight lang="python">
import re # 정규표현식을 사용하게 해주는 모듈.
date = '2020.10-3' # 다양한 형태의 날짜.
date_list = re.split('\D+', date) # 숫자가 아닌 문자 한개 이상으로 구분하여 숫자맨 빼낼 때.
year = int(date_list)[0] # 이처럼 다양한 형태라도 날짜형식을 받을 수 있다.
day = {day:02d} # :02d 는 2글자로 표시하되, 1자리라면 0을 채워넣는다는 의미이다.
</syntaxhighlight>
|-
|
|
|
|-
|
|
|
|}
[[분류:기초]]
[[분류:기초]]