ljust와 rjust
- ljust: 해당 숫자만큼 텍스트 출력 지정한 텍스트의 빈부분은 제시한 텍스트로 채움(왼쪽 정렬)
ex) A = 'abc', A.ljust(5,'0') = abc00
- rjust: 해당 숫자만큼 텍스트 출력 지정한 텍스트의 빈부분은 제시한 텍스트로 채움(오른쪽 정렬)
ex) A = 'abc', A.rjust(5,'0') = 00abc
strip
- strip = 양쪽에서 특정 텍스트 제거 (공백시 공백 제거)
ex) '----------45----------'.strip('-') = 45 = '-45-'.strip('-')
- lstrip = 맨왼쪽에서부터 특정 텍스트 제거 (공백시 공백 제거)
ex) '-------4'.lstrip('-') = 4 = '-4'.lstrip('-')
- rstrip = 맨오른쪽에서부터 특정 텍스트 제거 (공백시 공백 제거)
ex) '4---------'.rstrip('-') = 4 = '4-'.rstrip('-')
join
- 지정한 텍스트.join() = 해당 리스트나 딕셔너리에 있는 각각의 데이터들을 지정한 텍스트로 연결하여 출력
ex) A = ['가','나','다'] -> '0'.join(A) = 가0나0다
find
- str.find('찾을 문자', 시작 인덱스번호, 끝 인덱스 번호)
- 문자열에 포함된 첫번째 요소의 index 값 반환
- 찾고자 하는 특정 문자열이 여러 개인 경우에는 최초 발견한 원소의 시작위치만 알려줌
- ex) A = '배가고프다가'
A.find('가') = 1, A.find('가',2,4) = -1 (해당 범위 인덱스에 제시한 단어가 없음을 의미), A.find('가',3,5) = 5
- rfind = 끝순서부터 역순으로 해당 텍스트의 인덱스 번호 출력
※ re(regular expression) 정규식
- 특정 조건 또는 패턴을 치환하는 과정을 쉽게 처리할 수 있는 방법
- match() : 문자열의 처음부터 정규식과 매치되는지 조사
- search() : 문자열 전체를 검색하여 정규식과 매치되는지 조사
- findall() : 정규식과 매치되는 모든 문자열(substring)을 리스트로 출력
- finditer() : 정규식과 매치되는 모든 문자열(substring)을 반복 가능한 객체로 돌려줌
- print함수 기본값 -> print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
- sep = 구분값 설정 (기본값은 ' ', sep='' 설정시 출력시 데이터 사이에 공백 X)
- end = 출력값 끝에 설정한 텍스트 출력
f-string
- 문자열 앞에 입력 (f'{}')
- f'{10:3d}' = ↔︎10 정수를 공백 포함해 세 자리로 표시 (↔︎ = 공백 한 칸)
- f'{10:05d}' = 00010 정수를 다섯 자리로 표시. 앞의 공백은 0으로 채움
- f'{0.12345:.3f}' = 0.123 실수를 소수점 셋째 자리까지 표시
- f'{1234000:,}' = 1,234,000 통화 표시처럼 끝에서 셋째 자리마다 ','를 표시
- f'{0.1234:.1%}' = 12.3% 숫자를 퍼센트(%)로 표시. 퍼센트 표시에서 소수점 자리 수는 '.' 다음 숫자로 표시
- f'{12300000000:.2e}' = 1.23e+10 숫자를 지수로 표시. 지수 표시에서 소수점 자리 수는 '.' 다음 숫자로 표시
- 최근에는 f-string, format, % 중 f-string이 대세라고 함.
format
- 문자열 뒤에 입력 '{}'.format()
- 기능은 f-string과 유사 (format이 f-string 보다 더 구식)
- '{:3d}'.format(10) = f{10:3d}
- '{:05d}'.format(10) = f{10:05d}
- '{:.3f}'.format(0.12345) = f{0.12345:.3f}
- '{:,}'.format(1234000) = f{1234000:,}
- '{:.1%}'.format(0.1234) = f{0.1234:.1%}
- '{:.2e}'.format(12300000000) = f{12300000000:.2e}
- {}이 여러개인 경우 인덱스 번호를 입력하여 순서를 지정할 수 있음
- ex) '{2} + {0} = {1}'.format('가', '나', '다') -> 다 + 가 = 나
%를 이용한 문자 출력
- format과 같이 문자열 뒤에 입력 '{}'.%()
- %d = 정수, %s = 문자, %f = 소수 를 표현함 (decimal / string / float)
- %f = %.6f와 같아서 소숫점 여섯째자리까지 나옴
- %f에서 소수자릿수를 정하려면 %.4f처럼 입력하면 됨 (= 소수 4번째 자리까지)
파일 읽기와 쓰기
- with open (파일명, 모드) as 파일을 가리키는 약어
= 파일을 가리키는 약어 = open (파일명, 모드)와 같은 명령
ex) with open('1.txt', 'w') as f는 f = open('1.txt', 'w')와 같음
※ 약어 = open 형식으로 명령할 경우에는 마지막에 꼭 close()를 입력해야함!
※ 약어 = open 형식이어도 print() 안에 flush = True로 설정하면 close를 설정하지 않아도 바로 파일에 텍스트가 입력됨
(평소에 flush = False로 기본값이 설정되어있음)
- 위의 명령문에 이어서 모드가 쓰기 모드이면 print(텍스트, file=약어) -> 해당 파일에 텍스트 입력
- 위의 명령문에 이어서 모드가 읽기 모드이면
약어.readline()으로 파일의 데이터를 줄별로 출력
약어.readlines()으로 파일의 모든 데이터를 줄별로 나누어 리스트 형식으로 출력
- 읽기 모드를 통해 파일에 있는 내용을 출력할 시 print()에 end=''를 적용하지 않으면 자동으로 \n이 적용되어 엔터가 적용된 채 출력.
ex)
※ 모드 종류
- 텍스트 데이터 -> w : 쓰기 모드, r : 읽기 모드, a : 추가 모드
- 바이너리 데이터 -> wb : 쓰기 모드, rb : 읽기 모드, ab : 추가 모드 (b 추가)
※ utf-8 = 파이썬 한글 인코딩, cp949 = 엑셀 한글 인코딩
'빅데이터 부트캠프 > Python' 카테고리의 다른 글
빅데이터 부트캠프 8일차 (0) | 2022.07.13 |
---|---|
빅데이터 부트캠프 7일차 (0) | 2022.07.12 |
빅데이터 부트캠프 4&5일차 (0) | 2022.07.07 |
빅데이터 부트캠프 3일차 (0) | 2022.07.06 |
빅데이터 부트캠프 2일차 (0) | 2022.07.05 |
댓글