2020. 1. 26. 17:25ㆍetc.
오늘의 핵심은 문자열 인덱싱(기본)의 원리를 이용하여 슬라이싱, 그리고 포매팅
추후에 바뀔 수 있는 정보들을 이런 방법들을 이용해서 데이터만 바꿔 놓으면 수정한 그대로 출력된다.
문자열 인덱싱
"파이썬은 0부터 숫자를 센다"
Hello
01234
이런 식으로! 그리고 공백(띄어쓰기)도 함께 센다.
>>> a = "Life is too short, You need Python"
>>> a[0]
'L'
>>> a[12]
's'
>>> a[-1]
'n'
숫자 앞에 마이너스를 붙이면 (ex. -1) 맨 뒤에서 세었을 때.
즉 위의 예시에서는 맨 뒤에서 첫번째 문자인 'n'이 되겠다.
문자열 슬라이싱
>>> a[19:]
'You need Python'
a[시작 번호:끝 번호]에서 끝 번호 부분을 생략하면 시작 번호부터 그 문자열의 끝까지 뽑아낸다.
>>> a[:17]
'Life is too short'
a[시작 번호:끝 번호]에서 시작 번호를 생략하면 문자열의 처음부터 끝 번호까지 뽑아낸다.
>>> a[:]
'Life is too short, You need Python'
a[시작 번호:끝 번호]에서 시작 번호와 끝 번호를 생략하면 문자열의 처음부터 끝까지를 뽑아낸다.
>>> a[19:-7]
'You need'
슬라이싱에서도 인덱싱과 마찬가지로 마이너스(-) 기호를 사용할 수 있다.
문자열 포매팅
이번의 하이라이트. 문자열 포매팅!
문자열 안의 특정한 값을 바꿀 수 있다.
예를 들어서 바로 설명하기!
나의 주민등록 번호 출력하기
주민번호 입력: 961224-1234567
이라는 문자열(변수는 961224-1234567)을 그대로 출력하고 싶을 때.
1) 문자열 바로 대입
print("주민번호 입력: %s" % "961224-1234567")
문자열 포맷코드 %s 사용
(숫자열 포맷코드: %d)
2) format 함수를 이용한 포매팅
print("주민번호 입력: {0}" .format("961224-1234567"))
{0}의 항목이 .format("")의 큰따옴표 사이의 내용으로 변환
3) f 문자열 포매팅.
(파이썬 3.6 버전부터 사용이 가능하다던 f 포매팅. mac OS 에서는 기본적으로 3 이하 버전이 설치되어 있어,
추가로 최신 버전 재 설치후 파이참에서 인터프리터를 최신 버전으로 변환 시키고 실행해야함.. 애먹음.)
최신 버전에서 가능한 포매팅이니만큼, 가장 간편한 포매팅이다.
number = '961224-1234567'
print(f'주민번호 입력: {number}')
변수값을 설정하고
f'{변수}' 이렇게 하면 끝이다..
다양한 활용법과 경우의 수?가 있지만 더 자세한 내용은
참고자료인
여기! 문자열 자료형 파트에서.
응용1)
이렇게 출력하고 싶을 때!
a = "Pithon"
print(f"오류난 단어: {a}")
# print(a[:1])
# print(a[2:])
print(f"정정한 단어: {a[:1] + 'y' + a[2:]}")
응용2)
# 변수 대입법
print("안녕하세요. 저는 %d 살 정미숙입니다." %25)
# format 함수를 사용한 포매팅: 2개 이상의 값 넣기
city = "서울시"
state = "중랑구"
print("그리고 저는 {0}의 {1}에 살고 있습니다." .format(city, state))
# f 문자열 포매팅
station = "상봉역"
print(f"가장 가까운 지하철 역은 {station}입니다.")
# f 문자열 포매팅 딕셔너리
d = {'hobby':'자전거 타기', 'specialty':'영상 편집'}
print(f"그리고 저의 취미는 {d['hobby']}입니다. 특기는 {d['specialty']}입니다.")
'etc.' 카테고리의 다른 글
[phython] 비전공자의 파이썬 첫 걸음마 (2) | 2020.01.14 |
---|