[프로그래밍 기초][파이썬]9.문자열 심화(마지막)
안녕하세요 HiCreate입니다!!
이번 포스팅에서는 저번 포스팅에 이어서 문자열에 대해 알려드릴건데요
1. 문자열 포매팅
2. 문자열 메쏘드
3. string 모듈
4. 유니코드
이 순서로 설명해드리겠습니다.
[1. 문자열 포매팅]
우선 문자열 포매팅은 방법에 따라 3가지로 나뉘는 데요
첫번째로는 튜플을 이용하는 방법이 있습니다.
이 방법은 튜플을 이용해서 비워진 곳을 채우는 거라 생각하면 쉽습니다.
우선 다음과 같은 코드를 입력해주세요
그러면 내용이 그대로 출력될겁니다.
그 뒤에는
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 |
이런 식으로 할 수 있구요
이 외에 검색 관련 메쏘드,편집 및 치환, 분리 결합, 정렬 등이 있는데요
이건 파이썬 파일로 올려놓겠습니다
자 그럼 메쏘드도 끝!!
[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] 방식으로 사용할 수 있습니다.
오늘 포스팅은 여기까지 하도록 하겠습니다!!
길다란 포스팅 봐주셔서 감사합니다!!
'Programming > Python' 카테고리의 다른 글
| [프로그래밍 기초][파이썬]11. 리스트 더 알기 -1(리스트 연산, 중첩리스트, 메쏘드, 순서정렬) (0) | 2019.02.28 |
|---|---|
| [프로그래밍 기초][파이썬]10. 파이썬의 제어문(조건문과 반복문) (0) | 2019.02.23 |
| [프로그래밍 기초][파이썬]8. 시퀀스와 문자열,리스트,튜플 (0) | 2019.02.20 |
| [프로그래밍 기초][파이썬]7. 수치 연산 함수 (0) | 2019.02.18 |
| [프로그래밍 기초][파이썬]6. 자료형은 무엇이 있을까?-2(문자열(심화), 리스트, 튜플) (0) | 2019.02.17 |
method.py



