
9/4 5, 6, 7세션 - 9/5 2세션
' 를 하면 자동으로 앞 뒤에 ' 붙음 (Auto Close Brackets)len(문자열) : 문자열의 길이를 반환s = 'hello', 'world' -> print(s) => helloworld튜플이 된다.
# 콤마로 구분해 나열
s = 'hello', 'world'
# 확인
print(s)
# 답 : ('hello', 'world')
괄호를 안쓰면 소괄호가 생략된 것임
s1 = """안녕하세요
저는 안녕입니다.
반갑습니다."""
\' 또는 \"를 사용\ 넣기 : \\문자열 + 문자열 : 문자열 결합문자열 * 양의 정수 : 문자열 반복문자열 * > 0 : 반복 없음문자열 * 실수 : Error방법 1
'이름:{}, 과목:{}, 점수:{}'.format('홍길동', '국어', 90)
# '이름:홍길동, 과목:국어, 점수:90'
방법 2
# 변수 선언
name = '홍길동'
year = 2019
perf = 2345.6789
# 출력
print('이름:{}, 연도:{}, 실적:{}'.format(name, year, perf))
print('이름:{0}, 연도:{1}, 실적:{2:.2f}'.format(name, year, perf))
print('이름:{}, 연도:{}, 실적:{:,.2f}'.format(name, year, perf))
{2:.2f}: 반올림 하여 소수점 2자리까지 표현
{:,.2f}: 천 단위 ',' 를 찍고, 반올림 하여 소수점 2자리까지 표현 (앞의 2는 생략 가능)
# 기본 정렬
print('[{0:10}] [{1:6}]'.format('홍길동', 1200))
# 오른쪽, 왼쪽 정렬
print('[{0:>10}] [{1:<6}]'.format('홍길동', 1200))
# 가운데 정렬
print('[{0:^10}] [{1:^6}]'.format('홍길동', 1200))
# 공백을 다른 문자로 채우기
print('[{0:-^10}] [{1:_^6}]'.format('홍길동', 1200))
결과 : [---홍길동----] [_1200_]
# 변수 선언
name = '홍길동'
age = 25
score = 2345.6789
# 확인
print(f'이름: {name}')
print(f'나이: {age}')
print(f'점수: {score}')
print(f' {age}살의 {name}의 점수는 {score}입니다.')
print(f' {age}살의 {name}의 점수는 {score:,.2f}입니다.')
n[시작 인덱스 : 끝 인덱스 + 1]
s[0:4] : 첫 번째 문자부터 네 번째 문자까지 (s[0]부터 s[3] 까지)
s[7: ] : 7번째부터 끝까지
[:n] : 0번부터 뒷 숫자의 전 문자까지[n:] : 시작 숫자부터 맨 마지막까지인덱싱, 슬라이싱으로 문자를 변경하는 건 불가능
문자열은 변경 불가능한 데이터 형식
TIP!
변수의 고유 아이디 확인 :id(변수명)
문자열을 같은 변수명으로 여러번 선언하면, 다른 주소에 선언되는 것임
replace() 를 사용해도 마찬가지임
s.upper() : 대문자로 바꿔서 보여줌. s 가 직접 바뀐 것이 아니라, 출력 시에만 대문자로 보여주는 것변수에 반영하는 방법
s = s.upper()
print(s)
TIP! 메소드와 함수는 다르다!
1) 대소문자 변환
문자열 첫 문자만 대문자, 나머지 모두 소문자로 변환단어들의 첫 문자만 대문자, 나머지는 모두 소문자로 변환2) 자릿수 지정과 정렬
3) 일부 변경 및 제거
# 문자열 변경('now' --> 'now ')
s = 'nowhere'
s.replace('now', 'now ')
결과 : 'now here'
# 앞 뒤 빈 문자열, 특수 문자 제거
print(' world '.strip())
print('#world#$$#'.strip())
print('#world#$$#'.strip('$#'))
결과 :
world
#world#$$#
world
4) 분리와 연결
split(x) 메서드: x 문자를 구분자로 하여 문자열을 분리하여 리스트로 변환 (공백, \n 등 화이트 스페이스가 기본 구분자)
리스트 인덱싱으로 개별 값을 변수에 대입 가능
# 문자열 변수
> s = '2020-09-14'
# 문자열 분리
> year = s.split('-')[0]
> month = s.split('-')[1]
> day = s.split('-')[2]
# 중간에 특정 문자열 삽입
> s = 'PYTHON'
> s1 = '/'.join(s)
> print(s1)
P/Y/T/H/O/N
# 요소를 연결해서 문자열로
> a = ['홍길동', '한사랑', '강우동', '박여인']
> s = '/'.join(a)
> print(s)
홍길동/한사랑/강우동/박여인
예제 1 리스트의 요소를 모두 대문자로 바꾸기
# 리스트 만들기
> a = ['h', 'a', 'p', 'p', 'y']
# 대문자로 변경
> a = "/".join(a).upper().split("/")
> a
['H', 'A', 'P', 'P', 'Y']
사용 가능한 메서드 확인
dir(변수명)