Python 수업날 1일차
1교시
출력: print()
- 여러 값 입력 시 기본으로 사이사이 공백 추가
- sep(separator(구분자)) : 여러 값을 출력할 때 값 사이에 어떤 문자 넣을지 결정⇒ “값 사이”
- end: 줄바꿈이 기본. end를 바꾸면 대신 문자를 붙이거나, 한 줄에 이어서 출력⇒ “맨 끝”
** 숫자도 바로 출력
** 문자열끼리 더하면 “이어붙이기”
문자열 채우기: format()
"{}".format(value)
- 문장 안에 변수 값 끼워 넣기
- 문자열 안에 {} 만들고, 뒤에서 format(. . . )로 채움
- f-string : 문자열 앞 f, 뒤 {변수} 입력
f"{value}"
** f 필수
**중괄호 사용 원할시 {{}} 입력
입력: input()
- 사용자가 키보드로 입력한 내용 가져오는 함수
- 결과는 무조건 문자열(str)
- int() = 문자형 → 정수형 (=형변환)
- float() = 문자형 → 실수형 (=형변환)
** 문자열끼리 더하면 단순 붙이기
** 사용자가 숫자가 아닌 것을 입력한다면 try/except 사용
한 줄에서 여러 값 입력받기: split() + map()
- split() : 문자열 쪼개서 여러 조각으로 만드는 기능
- map() : map(int, . . .)는 각 조각에 int() 한 번에 적용
** split(’,’) 결과에 공백 남을 수 있음 → strip 습관적 사용이 안전
** 입력개수 동일
** 구분자가 달라지면 split도 따라서 달라져야함
- 공백 입력 : split()
- 쉼표 입력 : split(’,’)
- # 입력 : split(’#’)
1교시 실습 코드 정리: https://colab.research.google.com/drive/1Ub32Qy1hz_kd4ZxFfo9HDsjaGYAb7tRq?usp=sharing
2교시
변수(Variable)
- 그 값을 저장해두고 다시 쓰기 위한 이름, 이름표
- 값을 저장해둬야 여러 번 사용 가능
** =는 ‘같다’가 아닌 ‘저장(대입)’ 의미
** ==는 ‘같다(비교)’
변수 이름(Naming)
- 영어/숫자/밑줄(_)만 이용
- 숫자로 시작 불가
- 중간 공백 불가
- 대소문자 구분
- snake_case 추천 (읽자마자 의미 이해 가능해야)
- 예약어(키워드)는 변수 이름 사용 금지
예약어 ex) if, for, def class, return, True, False, None, …
동적 타이핑(Dynamic Typing)과 type()
- 변수의 자료형이 저장한 값에 따라 달라짐
ex1) x=10 → int(정수)
ex2) x=”10” → str(문자열)
ex3) x=3.14 → float(실수) ** 문자열 숫자와 진짜 숫자를 헷갈리기 쉬움 → type 확인 필요
- 형변환
ex1) int(”10”) → 10
ex2) float(”3.14”) → 3.14
ex3) str(10) → “10”
** input()은 항상 문자열이므로, 숫자 계산을 위해 int() 혹 float() 필요
** 숫자+숫자→ 더하기
** 문자열+문자열→ 이어붙이기
** ‘/’는 결과가 float일 수 있음(정수끼리 나눠도 소수가 됨)
** 문자열*숫자→ 문자열 반복
산술 연산과 할당 패턴
- ‘+’(더하기), ’ -‘(빼기), ’ *’(곱하기), ‘/’(나누기)
- 다중 할당(Multiple Assignment): 한 줄에서 여러 변수에 값 넣을 수 있음
ex1) a, b = 1, 2
ex2) swap(서로 바꾸기): a, b = b, a
- 동일 값 할당(Same Value Assignment) : 여러 변수에 같은 값 한 번에 입력
ex) x = y = z = 0
2교시 실습 코드 정리: https://colab.research.google.com/drive/1egAbFpwz43JGMUkTgzFTlkxhMcMG-pLF?usp=sharing
3교시
문자열(String)
- 글자들의 모음
- ” “ 혹은 ‘ ‘로 감싸야함
- 불변(한 번 만든 문자열은 ‘그 자리에서’ 수정 할 수 없다
** 새로운 값을 입력하고자 한다면 새 문자열을 만들어서 다시 저장(재할당) 필요
- 문자열 ‘수정’하고 싶을 때 replace() 사용/슬라이싱으로 조합해서 새 문자열 만들기
인덱싱(Indexing)과 슬라이싱(Slicing)
- 문자열의 각 글자에는 번호(인덱스)가 있음
- 슬라이싱(Slicing): 부분을 잘라내기
- end는 포함 x
- 인덱스가 범위 초과시
- 인덱싱: 에러(범위 밖)
- 슬라이싱: 가능한 만큼 출력
문자열 전처리(정리) 메서드
- 앞뒤 공백 제거
- strip(): 양쪽(왼쪽+오른쪽) 공백 제거
- lstrip(): 왼쪽 공백만 제거
- rstrip(): 오른쪽 공백만 제거
- 대소문자 통일
- lower(): 모두 소문자
- upper(): 모두 대문자
- 특정 글자 변환
- replace(old, new): old를 new로 교체
- 문장을 단어로 나누기(split)
- split(): 문자열을 쪼개서 리스트로
- 단어들을 다시 합치기(join)
- join(): 리스트의 문자열을 하나로 합치기
- 특정 단어가 몇 번 나오는지(count)
- count(sub): 부분 문자열이 몇 번 나오는지
- 특정 글자가 어디 있는지(find)
- find(sub): 부분 문자열의 “처음 위치(인덱스)” 찾음. 없으면 -1
3교시 실습 코드 정리: https://colab.research.google.com/drive/1qjME9RdJtetj1WInptOj4hxJLSdBsfKo?usp=sharing
오늘의 회고:
수업은 3시간 듣고 다음날 풀어야하는 문제가 100문제가 넘는다. 오늘 처음 배운 내용을 다루는 사람들을 고려한 수인지 모르겠다. 1교시 연습문제만 계속 풀었는데 아직도 못풀었다. 내일 다 못풀어갈 것 같다. SQL은 어려워도 양은 많지 않았는데..
'내일배움캠프' 카테고리의 다른 글
| [내일배움캠프] TIL 11일차 26.01.07(수) (0) | 2026.01.07 |
|---|---|
| [내일배움캠프] TIL 10일차 26.01.06(화) (0) | 2026.01.06 |
| [내일배움캠프] TIL 8일차 26.01.02(금) (1) | 2026.01.02 |
| [내일배움캠프] TIL 7일차 25.12.31(수) (0) | 2025.12.31 |
| [내일배움캠프] TIL 6일차 25.12.30(화) (2) | 2025.12.30 |