오늘은 오전에 문자열 이론에 대해 알아보고 간단한 실습 위주로 진행하였습니다.
점심시간 전에 문자열과 논리형에 대해 조금 알아보는 시간이었습니다.
오후에는 논리형을 마저 마치고 None, 메서드 체이닝, 형변환, 연산자, 산술과 비교연산까지 공부하였습니다.
문자열
= 시퀀스 자료형
문자열 생성 방법은 간단하게 x = 'hello' 작은따옴표 또는 y = "python" 같이 큰 따옴표를 사용
덧셈과 곱셈은 각 변수들을 + 기호로 print 해주고, 곱셈은 변수 * (횟수)를 작성하면 됨
인덱싱 (Indexing)
연속적인 객체 (리스트, 튜플, 문자열)에 부여된 번호로 원하는 값을 가리킬 때
앞에서부터 index는 0부터 시작함
뒤에서부터 index는 -1부터 시작함
슬라이싱 (Slicing)
연속적인 객체 (리스트, 튜플, 문자열)에 부여된 번호를 이용해 객체의 일부를 추출

문자열 메서드
lower : 전체를 소문자로 바꿔줌
upper : 전체를 대문자로 바꿔줌
find : 특정 데이터를 찾아 출력함, 찾을 수 없을 땐 -1을 반환
index : 특정 데이터를 찾아 출력함, 찾을 수 없을 땐 error을 반환
count : 특정 문자열이나 숫자의 개수를 셀 때
strip : 문자열의 양쪽에 있는 공백을 제거
relpace : 문자열을 대체함
split : 문자열을 나눔, 매개변수를 기준으로 함
join : 문자열을 하나로 합침
format : 문자열 내에 변수의 값을 대입할 때 사용, = f-string
isalnum : 문자열에 특수문자가 들어가 있으면 False, 한글이나 영어, 일본어, 중국어, 숫자 등이 들어가 있으면 False를 반환
isdigit : 문자열이 숫자로만 이루어져 있는지 확인, 모든 문자가 숫자로 이루어져 있으면 True를 반환, 그렇지 않으면 False를 반환
isalpha : 문자열이 알파벳으로만 이루어져 있는지 확인, 모든 문자가 알파벳으로 이루어져 있으면 True, 그렇지 않으면 False를 반환
isascii : 아스키코드표 안에 있는 것이면 True, 아니면 False를 반환
rjust : 문자열을 지정한 길이로 맞추고, 왼쪽을 지정한 문자로 채움
ljust : 문자열을 지정한 길이로 맞추고, 오른쪽을 지정한 문자로 채움
center : 문자열을 지정한 길이로 맞추고, 양쪽을 지정한 문자로 채움
zfill : 주어진 길이만큼 문자열의 앞쪽을 '0'으로 채워서 반환
= zfill(wdith) 형태로 사용, wdith는 채워진 문자열의 전체 길이를 의미
translate : 문자열 내의 특정 문자들을 다른 문자로 치환 or 제거
치환 시 = str.maketrans()를 사용하여 변환 테이블 생성 후 translate() 메서드로 문자열 치환
제거 시 = str.maketrans()의 세 번째 인수로 제거할 문자 지정하여 제거
문자열 포매팅
1. 연산자 사용 : %
%s : 문자열
%d : 정수
%f : 부동소수점 숫자
2. format() 메서드 사용
3. f-string 사용
이스케이프
= 탈출을 의미하여 특정 문자에게 명령을 내림, (\) 사용
\\n : 새로운 줄(줄 바꿈)
\\t : 탭 문자
\\ r : 커서를 현재 줄의 처음으로 이동
\\" : 큰따옴표
\\' : 작은따옴표
\\\\ : 백슬래시
그다음으로 논리형에 대해 알아보았습니다 :)
논리형
논리 자료형은 값으로 True, False를 가지는 자료형을 의미함
True : 참을 나타냄, 1과 같은 값으로 의미
False : 거짓을 나타냄, 0과 같은 값으로 의미
논리형 사칙연산
print(True + True) = 2
print(False - True) = -1
print(True / True) = 1.0
print(True * False) = 0
print(True / False) = Error
None 자료형
아무것도 없는 비어있음을 의미함
None은 사칙연산이 불가함
연산 가능 여부 확인은 dir(None)를 통해 확인
= dir(None)를 통해 확인하면 덧셈이 가능한 매직 메서드인 __add__가 없음을 확인할 수 있음
메서드 체이닝 (Method Chaining)
연속으로 메서드를 호출하는 것을 의미함
여러 개의 문자를 치환하거나 삭제할 경우 translate를 사용
메서드 체이닝을 통해 한 줄이 79자 이상 넘지 않도록 주의
형변환은 실습 문제 사진으로 정리하였습니다.





이제 마지막으로 연산자만 남았습니다.
오늘 진도 브레이크가 없었어요..
연산자
프로그래밍에서 데이터를 처리하고 분석하는 데 쓰이는 기호나 키워드를 뜻함
종류로는 산술, 대입(할당), 비교, 논리, 비트, 멤버, 식별 연산자가 있음
산술연산자
덧셈, 뺄셈, 곱셈, 나눗셈, 제곱이 있음
리스트 덧셈은 list = list1 + list2, 튜플 덧셈은 tuple - tuple1 + tuple2
문자열 곱셈은 result = "ha" * 3
나눗셈은 (/, //)는 두 수를 나누는 연산자
= 첫 번째 나눗셈 연산자는 항상 float 형식으로 반환
= 두 번째 나눗셈 연산자는 항상 int형으로 반환
나머지 연산자(%)는 한 숫자를 다른 숫자로 나누었을 때의 나머지를 반환
제곱 연산자 기호는 (**)
음수를 제곱할 때는 부호가 나중에 붙기 때문에 괄호로 묶어줘야 함
= (-2) ** 2
비교연산자
두 값을 비교하여 그 결과가 참인지 거짓인지 판단



이렇게 오늘 문자열, 논리형, None, 메서드 체이닝, 형변환, 연산자, 산술과 비교연산의 정리를 다하였습니다.
기호도 많고 쓰이는 메서드가 많아서 헷갈리지 않게 복습을 다시 해봐야 할 것 같습니다.
다들 오늘도 고생 많으셨습니다!
물론 나 자신도!