파이썬 문자열(String) 자료형
파이썬 자료형 중 문자열(String) 자료형이란 문자, 단어 등으로 구성된 문자들의 집합을 의미합니다,
큰 따옴표("")나 작은 따옴표(")로 만들어서 사용할 수 있습니다.
파이썬 문제를 풀다 아래와 같은 오류가 발생하여 해결해 보고자 합니다.
5번 행인 words[7] = '&' 문장에서 오류가 난 것을 확인 할 수 있습니다. 공백을 '&'로 바꿔쓰기 위해서 사용한 듯 한데 오류가 발생했습니다. 오류를 읽어보면 문자열의 요솟값은 바꿀 수 있는 값이 아니기 때문에 발생한 것을 알 수 있습니다. 문자열 자료형은 그 요솟값을 변경할 수 없는 immutable(불변의) 자료형이라 불립니다.
이를 해결하기 위해서는 슬라이싱 기법을 사용할 수 있습니다. 슬라이싱 기법을 통해 공백 기준으로 앞 뒤를 나눈 뒤 가운데에 '&' 문자를 추가하여 새로운 문자열을 만들어 줍니다.
>>> words = 'Connect Foundation'
>>> words[:7] #문자열 슬라이싱 words[0]~words[6]까지 뽑아내기
'Connect'
>>> words[8:] #words[8]부터 끝 번호까지 뽑아내기
'Foundation'
>>> words[:7] + '&' + words[8:]
'Connect&Foundation'
아래는 오류를 해결하고 출력한 모습입니다.
혹은 아래에서 배울 문자열 포매팅을 통해 문자열 안의 특정한 값을 바꿔줄 수 도 있습니다.
문자열 포맷 코드
%s 포맷 코드는 자동으로 % 뒤에 있는 값을 문자열로 바꿔주기 때문에 어떤 형태의 값이든 변환해 넣을 수 있습니다.
>>> "I am %s" % "Judy"
'I am Judy'
>>> 'I ate %d apples' % 3
'I ate 3 apples'
>>> number = 5
>>> 'I read %d books' % number
'I read 5 books'
>>> home = "문과생 주디의 데이터 연구실"
>>> year = 2020
>>> '여기는 %s 입니다. 올해는 %d 년 입니다' % (home, year)
'여기는 문과생 주디의 데이터 연구실 입니다. 올해는 2020 년 입니다'
format 함수를 사용한 포매팅
>>> "I eat {0} apples".format(3)
'I eat 3 apples'
>>> age = 8
>>> "My cat is {0} years old".format(age)
'My cat is 8 years old'
>>> "올해는 {0}년 입니다. 모두들 {1} 하세요.".format(2020,'행복')
'올해는 2020년 입니다. 모두들 행복 하세요.'
2개 이상의 값을 넣을 경우에는 {0}, {1} 인덱스 항목을 format 함수의 입력값으로 순서에 맞게 바꾸어 줄 수 있습니다. {0}을 format 함수의 첫번째 입력값인 2020으로 바꾸고 {1}은 format 함수의 두번째 입력값인 '행복'으로 바꾸어줍니다.
>>>"올해는 {year}년 입니다. 모두들 {word} 하세요.".format(year = 2020, word = "행복")
'올해는 2020년 입니다. 모두들 행복 하세요.'
인덱스 항목 대신 {name} 형태로 사용 할 수 도 있습니다.
f 문자열 포매팅
파이썬 3.6 버전 미만에서는 사용할 수 없는 기능으로 파이썬 3.6부터 사용가능 한 f 문자열 포매팅 기능에 대해 알아보겠습니다.
문자열 앞에 f 를 붙이면 f 문자열 포매팅 기능을 사용할 수 있습니다. f 문자열 포매팅은 문자열 안에서 변수와 +,- 와 같은 수식을 함께 사용하는 표현식을 지원합니다.
>>> age = 30
>>> f'나는 {age+1}살 입니다.'
'나는 31살 입니다'
#딕셔너리에서 f 문자열 포매팅 사용
>>> d = {'name' : '문과생 주디', 'year': '1'}
>>> f"안녕하세요 {d['name']}입니다. 나이는 {d['year']}입니다."
'안녕하세요 문과생 주디입니다. 나이는 1입니다.'
'취준일기' 카테고리의 다른 글
자바 jdk 다운로드 하고 버전 확인, 환경변수 설정하기 (0) | 2020.04.01 |
---|---|
구글 코랩 (colab) 사용법 (0) | 2020.03.31 |
오라클 VM VirtualBox 로 리눅스 서버 만들기 -1. 가상머신 설치 (0) | 2020.03.30 |
티스토리 코드블럭 소스코드 입력하고 스타일 입히기 (2) | 2020.03.30 |
아톰(atom) 설치하고 파이썬 개발환경 구축하기 (0) | 2020.03.29 |