반응형

안녕하세요 HiCreate입니다!!


이번 포스팅에서는 저번 포스팅에 이어서 문자열에 대해 알려드릴건데요


1. 문자열 포매팅

2. 문자열 메쏘드

3. string 모듈

4. 유니코드


이 순서로 설명해드리겠습니다.


[1. 문자열 포매팅]


우선 문자열 포매팅은 방법에 따라 3가지로 나뉘는 데요

첫번째로는 튜플을 이용하는 방법이 있습니다.


이 방법은 튜플을 이용해서 비워진 곳을 채우는 거라 생각하면 쉽습니다.


우선 다음과 같은 코드를 입력해주세요

1
format = 'name = %s, age = %s'
cs

그러

그러면 내용이 그대로 출력될겁니다.

그 뒤에는


2
format % ('hi create',18)
cs

라고 입력해주면

'name = hi create, age = 18

이라고 출력될겁니다.


쉽게 설명해드리겠습니다.

format 기능은 비워진 칸에 입력된 값을 넣는 역할을 합니다.

그런데 그 내용의 형식이 튜플로 들어가는 것이죠.


이렇게 빈 공간을 미리 만들어두고 들어오는 값을 빈 공간에 넣어주는 거죠.

튜플일때 형식은 format % ( 값 ) 입니다.

(물론 리스트도 가능)


그래서 어디에 사용하느냐?

같은 문자가 반복되지만 특정한 한 구간이 바뀌어야 할 때 사용합니다.

예를 들어


이메일의 수신자 이름 같은 거 말이죠.

1
2
3
4
5
6
7
8
9
10
letter = '''
안녕하세요 %s님 잘 지내셨나요?
%s 올림 '''
sendby = 'Hi Create'
recieveby = ['1번''2번''3번''4번']
 
for name in recieveby :
    print (letter % (name, sendby))
    print ('-' * 15)
 
cs


이 코드를 실행하면



이런 결과가 나오게 됩니다.

어쨌든 이런식으로 사용하는게 포매팅이고 튜플이나 리스트를 사용한 것인데요


다음은 이런 포맷에 사용되는 포맷 문자열인데요


%s

객체를 문자열로 반환 (str())

%r 

객체를 문자열로 반환 (repr())

%c 

길이 1의 문자 

%d 

10진 정수 

%i 

%d와 차이 없음 

%u 

부호 없는 정수 

%o 

8진수 

%x 

16진수 소문자

%X 

16진수 대문자 

%e 

부동 소수점을 지수로 표현 (7자리 유효)

 %E

지수 표현을 대문자 E로

%f 

부동 소수점을 실수로 표현

%g 

편의에 따라 소수점 형식이나 지수 형식으로 

%G 

지수 표현을 대문자 E로



이것들 외에도 보조 포맷 문자열이라는 게 있는데요

이건 출력 양식을 조절해줍니다.


m - 최소자리 m개 확보

m.n - m개의 최소자리와 n개의 소수점 이하 자리 출력

- 는 왼쪽에 맞춰 출력

+는 +/- 부호 출력

공백은 양수일때 공백이 삽입됨


#은 8진수일땐 0을, 16진수일땐 0x 혹은 0X 출력

0은 좌측의 빈 공간을 0으로 채워줌


자 이제 하나가 끝났네요 휴...

나머지 두가지 중 하나는 쓰기도 어렵고 별로 쓰지도 않습니다.

그리고 하나는 string모듈에서 알려드리겠습니다.


[2. 문자열 메쏘드]


이번엔 문자열 메쏘드입니다.

메쏘드(method)는 방법이죠?


문자열의 방법?은 좀 이상합니다.

여기서는 문자열을 변환하는 방법이라고 생각해주시면 됩니다.



1
2
3
4
5
6
7
s='i like game'
 
s.upper() #모두 대문자로
s.lower() #모두 소문자로
s.capitalize() #첫 글자를 대문자로
s.swapcase() #반대로
s.title() #제목 형식으로 (각 첫 글자를 대문자)
cs

이런 식으로 할 수 있구요

이 외에 검색 관련 메쏘드,편집 및 치환, 분리 결합, 정렬 등이 있는데요

이건 파이썬 파일로 올려놓겠습니다

method.py


자 그럼 메쏘드도 끝!!


[3. string 모듈]


string 모듈이란 무엇일까요?

문자열에 관한 모듈인데요 꽤 많은 함수를 내장하고 있습니다.

import string으로 불러올 수 있구요

물론 string.함수명으로 사용합니다.


digits 

 정수형

octdigits

8진수 

hexdigits 

16진수

letters 

모든 알파벳

lowercase 

소문자형 

uppercase 

대문자형 

punctuation 

특수기호 

printable 

인쇄 가능한 문자 모두 

whitecase 

공백 문자 모두(8진수 표현) 


이건 이런 식으로 사용할 수 있습니다.

x='a'

print(x in string.uppercase) # False


[4. 유니 코드]


이번엔 유니 코드(unicode)입니다.

이는 영어 뿐만 아니라 다른 많은 언어들을 표기하기 위한 체계인데요

방법은 이와 같습니다.

1
print(u'안녕하세요')
cs

이렇게 u문자열 형식으로 쓰면됩니다.

한글을 세거나 인덱싱 할땐

len(unicode(문자열)) 형식과

s=unicode(문자열)

s[0] 방식으로 사용할 수 있습니다.


오늘 포스팅은 여기까지 하도록 하겠습니다!!

길다란 포스팅 봐주셔서 감사합니다!!

반응형

BELATED ARTICLES

more