위키북스 박응용 저 "점프 투 파이썬" 책을 읽고 정리한 내용입니다.
다소 잘못된 내용과 구어적 표현 이 포함되어 있을 수 있습니다.
파이썬에서의 문자열을 불변객체다
- 문자열의 문자 하나를 인덱스로 접근해 수정한다던가 등의 행위는 금지된다
=
로 참조복사를 해도 불변객체이기 때문에 두 변수의 동기화는 안된다- 참조복사가 아닌 값 복사를 하고싶을때는
[:]
슬라이싱을 이용하면 된다
기본적인 표현법
'str'
"str"
'''str'''
"""str"""
줄바꿈
'\n'
'''<ENTER>'''
"""<ENTER>"""
인덱스참조
str[int]
- 음수를 넣으면 뒤에서부터 온다
슬라이싱
str[a:b:c]
- a = 첫인덱스 : 생략하면 0
- b = 끝인덱스 : 생략하면 문자열 맨끝
- c = 인덱스이동 : 디폴트는 1, 0주면 에러남, 음수는 역이동(문자열 뒤집기에 이용)
- 파이썬의 문자열 슬라이싱은 연산속도가 아주 빠르다. 문자열을 처리할 일이 있으면 리스트로 바꾸거나 하지 말고 문자열 자체에서 슬라이싱 등을 이용하는게 좋다
포매팅
퍼센트 포매팅
("%10s" % 123)
("%0.2f" % 1.23456)
10
: 포매팅되는 부분 총길이가 10이 되고 123은 오른쪽 정렬 후 남는부분은 스페이스바로 채움. 숫자가 음수이면 왼쪽정렬. 이딴거 필요없으면 숫자는 안써도됨s
: 포매팅되는놈의 자료형. s는 문자열이기때문에 아무거나 넣어도 된다% 123
: 123을 포매팅시키겟다는 뜻0.2
: 소숫점 뒤 2자리까지 표시하겠다는 뜻f
: 소숫점 자리수를 지정할때는 f로 자료형을 지정해 줘야 한다
인덱스 포매팅
"{0} {1} {2}".format(123, 456, 789)
"{a} {b} {c}".format(a = 1, b = 2, c = 3)
{}
안의 숫자가 인덱스, 뒤에 123 456 789가 인덱스 순대로 들어감- 문자 인덱스를 사용할때는
format()
안에 직접 명기해야함
변수 포매팅
f"{변수1} {변수2}"
- 변수를 직접 안에 포매팅하고싶을때
변형해서 포매팅하기
"{a:$^10}".format(a = 123)
f."{a:$^10}"
"{a:0.2f}".format(a = 1.234)
f."{a:0.2f}"
a
: format 에서는 인덱스(숫자가능), f 에서는 변수명$
: 총 길이중 포매팅하고 남은 공백을$
로 채운다는 뜻 (다른 문자도 가능)^
: 포매팅되는 123이 가운데 정렬된다는 뜻.>
는 오른쪽,<
는 왼쪽이다10
: 총 길이가 10이라는 뜻.0.2
: 소숫점 뒤 2자리까지만 표시f
: 실수형. 소숫점 자리수 표현시에는 f반드시 써줘야된디
문자열 함수들
문자 개수 세기
a.count('b')
’b’
의 갯수를a
에서 세어서 알려줌
문자의 최소인덱스 찾기
a.find('b')
a.index('b')
- 문자열
a
에서’b’
가 나온 첫 인덱스를 반환한다 find
함수는 문자열이 없을때-1
반환하고index
는 오류를 발생시킨다
문자 사이사이에 원하는 문자 넣기
'$'.join("abcd")
- 결과는
“a*b*c$d”
이다
대소문자화
a.upper() # 대문자화
a.lower() #소문자화
공백지우기
a.lstrip()
a.rstrip()
a.strip()
lstrip()
: 문자열a의 왼쪽 공백이 전부 사라진다rstrip()
: 문자열a의 오른쪽 여백이 전부 사라진다strip()
: 문자열a의 양쪽 여백이 전부 사라진다
문자열 바꾸기
a.replace("이걸로", "이것을")
- 문자열
a
의 뒤엣놈을 앞에놈으로 바꾼다
문자열 리스트화
a.split("기준")
- 문자열을
“기준”
으로 나눠서 리스트로 반환한다 “기준”
을 안쓰면 스페이스바를 기준으로 나눈다