출력과 자료형, 그리고 연산자
가장 먼저 print()의 세부 옵션부터 손에 익혔다. sep로 값 사이 구분자를, end로 줄바꿈 대신 이어붙이기를 제어한다.
- 산술 연산자:
/(실수 나눗셈),//(몫),%(나머지),**(거듭제곱) - 연산자 우선순위:
5 + 3 * 2와(5 + 3) * 2의 차이 - 형변환:
int(),float(),str()로 자료형을 오가는 감각
리스트와 튜플
리스트는 "바뀌는 것", 튜플은 "고정된 것". 리스트 메서드를 하나씩 눌러봤다.
appendvsextend: 하나를 넣느냐, 펼쳐서 넣느냐pop,remove,index로 요소를 다루기- 슬라이싱과
+,*연산으로 리스트를 조립하기
딕셔너리
key: value 구조. 만드는 방법이 여러 가지라는 게 흥미로웠다 — 중괄호 리터럴, dict() 함수, 튜플 리스트로부터. 단, dict() 함수는 키에 띄어쓰기를 쓸 수 없다는 제약을 직접 부딪혀 알았다.
keys(), values(), items() 로 꺼내고, 값 안에 리스트나 또 다른 딕셔너리를 중첩하는 것까지 연습했다.
함수와 예외 처리
def greet(name):
print(f"안녕하세요, {name}님!")- 인자·반환값·기본값, 가변 인수(
*args)와 람다까지 try/except로 오류를 붙잡고 프로그램을 멈추지 않게 하기
f-string의 중괄호를 헷갈리지 말자는 메모를 스스로 남겨뒀다.
환경변수와 JSON
민감한 값은 코드에 직접 쓰지 않는다. python-dotenv 로 .env 파일을 만들고 load_dotenv() → os.getenv() 로 불러온다. API 키·비밀번호를 다루는 실전 습관의 시작.
마지막으로 json.load() 로 은행·치킨집 데이터를 읽어 pandas DataFrame 으로 변환했다. 문자열이 딕셔너리·리스트로 "번역"되는 과정을 눈으로 확인했다.
정리
기초 문제 수백 개를 손으로 풀면서, 문법보다 "왜 이 자료형인가" 를 묻는 습관이 생겼다. 리스트냐 딕셔너리냐, 함수로 묶을 것이냐 — 이 선택이 나중의 데이터 수집과 분석 코드의 골격이 됐다.