내일배움캠프

[내일배움캠프] TIL 9일차 26.01.05(월)

nom_de_plume 2026. 1. 5. 21:09

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은 어려워도 양은 많지 않았는데..