코랩(Colab) 사용법과 함께 파이썬 기초 문법을 학습했습니다.
연산자, 문자열 처리, 자료형, 조건문, 반복문, 함수 등 파이썬의 기본 구조를 익히고 실행해보며 개념을 익혔습니다.
⚠️본 글은 부트캠프 수업 내용을 기반으로 한 개인 학습 기록입니다.
✅ 코랩(Colab)이란?
- Google Colaboratory의 줄임말
- 구글에서 제공하는 클라우드 기반 파이썬 실행 환경
- Jupyter Notebook 환경을 웹에서 제공
- GPU/TPU 사용 가능하여 딥러닝, 머신러닝 등 고성능 연산에 유리하다
- Google Drive와 연동되어 파일 저장/불러오기 용이
✅ 파이썬(Python)
1. 파이썬 기본 내장 연산
- 숫자 형태는 연산이 가능!
- 덧셈 (a+b)
- 뺄셈 (a-b)
- 곱셈 (a*b)
- 나눗셈 (a/b)
- 몫 (a//b)
- 나머지 (a%b)
- 거듭제곱 (a**b)
a = 6
b = 4
c = 3
print(a+b) #10
print(a-b) #2
print(a*b) #24
print(a/b) #1.5
print(a//b) #1
print(a**b) #12962. 내장 함수
- int: 실수 ➡️ 정수
- float: 정수 ➡️ 실수
- str: 숫자 ➡️ 문자열
- abs: 절대값
- round: 반올림
- pow: 거듭 제곱
print(int(3.14)) #3
print(float(3)) #3.0
print(repr(str(321))) #'321' / 'repr'은 문자열임을 명확히 보여지게 하기 위함
print(abs(-4)) #4
print(round(3.141592, 2)) #3.14
print(pow(2, 4)) #163. 문자열 인덱싱
- 한 글자만 선택
- 파[0] 이[1] 썬[2]
- 앞에서는 0부터 시작
- 파[-3] 이[-2] 썬[-1]
- 뒤에서는 -1부터 시작
text = "파이썬 프로그래밍"
print(text[0]) #파
print(text[3]) #공백 출력
print(text[-1]) #밍
print(text[-4]) #로4. 문자열 슬라이싱
- 범위 선택
- [시작값 : 끝값 : 간격]
- 시작값 ➡️ 슬라이스 시작 위치
- 끝값 ➡️ 슬라이스 종료 직전 인덱스
- 간격 ➡️ 몇 칸씩 건너뛸지 (기본값은 1)
text = "파이썬 프로그래밍"
print(text[0:2]) #파이
print(text[6:]) #그래밍
print(text[4:9]) #프로그래밍
print(text[:5]) #파이썬 프
print(text[::3]) #파 그5. 문자열 함수 및 메서드
- len(): 문자열 길이 출력
- split(): 문자열 나누기
- count(): 문자 개수 세기 원하는 단어 지정해서 셀 수 있음
- replace('a','b'): 문자열 바꾸기
- find(): 위치 알려주기 원하는 단어 위치 알 수 있음
- upper(): 소문자 ➡️ 대문자
- lower(): 대문자 ➡️ 소문자
- join(): 문자열 삽입
- strip(): 양쪽 공백 삭제
- lstrip(): 왼쪽 공백 삭제
- rstrip(): 오른쪽 공백 삭제
- title(): 단어의 첫 글자 대문자로 바꾸기
data_string = " hello python world "
#문자열 길이 출력
print(len(data_string)) # 27
#문자열 나누기
print(data_string.split()) # ['hello', 'python', 'world']
#문자 개수 세기
print(data_string.count('o')) # 3
#문자열 바꾸기
print(data_string.replace('hello', 'Hi')) # ' Hi python world '
#위치 알려주기
print(data_string.find('python')) # 8
#소문자를 대문자로 바꾸기
print(data_string.upper()) # ' HELLO PYTHON WORLD '
#대문자를 소문자로 바꾸기
print(data_string.lower()) # ' hello python world '
#문자열 삽입
print('-'.join(data_string)) # ' - -h-e-l-l-o- -p-y-t-h-o-n- -w-o-r-l-d- - - - - - -'
#양쪽 공백 삭제
print(data_string.strip()) # 'hello python world'
#왼쪽 공백 삭제
print(data_string.lstrip()) # 'hello python world '
#오른쪽 공백 삭제
print(data_string.rstrip()) # ' hello python world'
#단어의 첫 글자 대문자로 바꾸기
print(data_string.title()) # ' Hello Python World '6. 리스트 [ ]
1) 리스트 특징
- 순서가 있음 (인덱스로 접근 가능)
- 추가, 삭제, 수정 가능
- 다양한 타입 저장 가능
- 중복 허용
2) 리스트 메서드
- sort(): 리스트 정렬
- reverse(): 순서 뒤집기
- append(): 자료 요소 추가
- extend(): 리스트 확장
- insert(a,b): 리스트 요소 삽입(a번째 위치에 b를 삽입)
- remove(): 원하는 리스트 요소 제거
- pop(): 맨 뒤의 리스트 요소 제거
- count(x): 리스트에 포함된 요소 x의 개수 세기
3) 리스트 컴프리헨션
- [넣을 값(결과) for 항목 in 순회 대상 if 조건]
#for문 사용
specials = []
for text in texts:
if "_" in text or "-" in text:
specials.append(text)
#리스트컴프리헨션 사용
specials = [text for text in texts if "_" in text or "-" in text]7. 튜플 ()
- 순서가 있음 (인덱스로 접근 가능)
- 변경 불가능한 데이터 모음
- 다양한 타입 저장 가능
- 중복 허용
- 리스트보다 빠름
8. 딕셔너리 {}
- 키-값 쌍으로 저장
- 순서 없음
- 키가 유일해야 함 (중복 ❌)
- 변경 가능
- 빠른 검색 성능
9. 집합 {} or set()
- 중복 제거
- 순서 없음
- 변경 가능
- 합집합: |
- 교집합: &
- 차집합: -
- 대칭차집합: ^ (두 집합에서 겹치지 않은 것만 모은 집합)
10. input 함수
- 항상 문자열(str) 타입으로 데이터 반환
#int를 넣어 정수로 형변환
age = int(input("나이를 입력하세요 >>"))
print(age)
#float를 넣어 실수로 형변환
current_temp = float(input("현재 온도: "))
print(current_temp)11. if-else문, elif문
- if-else문
if 조건:
조건이 참일 때 실행
else:
조건이 거짓일 때 실행
- elif문
if 조건1:
조건1이 참일 때 실행
elif 조건2:
조건2가 참일 때 실행
elif 조건3:
조건3이 참일 때 실행
else:
모든 조건이 거짓일 때 실행12. for 반복문
- 컬렉션(리스트, 문자열 등)의 각 요소를 하나씩 꺼내서 처리
'''
for 변수 in 컬렉션:
실행할 코드
'''
for i in range(5):
print(i)
'''
출력결과
0
1
2
3
4
'''13. while 반복문
- 조건이 참(True)인 동안 계속 반복 (무한루프)
- break: 반복문 즉시 종료, while True문 멈추기 위해 사용
- continue: 현재 반복을 건너뛰고 다음 반복으로 넘어감
- pass: 구현을 미룸 (임시코드), 완성된 코드에는 있을 수 없음
14. 함수
- def: 함수 정의 키워드
- 함수 이름: 함수를 호출할 때 사용
- 매개변수: 함수가 받는 입력값
- return: 함수의 결과값 반환 (선택사항)
15. 매개변수
#기본 정의형
def 함수이름(매개변수):
실행할코드- 일반 매개변수
- 일반적인 형태, 함수 호출 시 반드시 값 전달
- def numbers (a, b):
- 디폴트 매개변수
- 디폴트 매개변수는 일반 매개변수 뒤에 와야 한다
- 매개변수에 기본값 설정하여, 값 전달하지 않으면 기본값을 사용
- def numbers(a, b=1):
- 가변 매개변수 (*args)
- 개수가 정해지지 않은 매개변수 받을 때 사용
- def numbers(*num):
- 키워드 매개변수 (**kwargs)
- 키-값 쌍으로 매개변수 전달할 때 사용
- def student_record(name, **info):
- 키워드 전용 매개변수
- method와 precision은 반드시 이름을 써서 호출
- precision: 소수점 아래 정밀도 설정, 기본값은 2자리
- 매개변수 이름을 명시적으로 지정해서 호출하도록 강제한다
- def_student_record(name, *, methon="score", precision=2):
- 매개변수 순서
- 일반 매개변수 ➡️ 디폴트 매개변수 ➡️ *args ➡️ **kwargs
16. 클래스 (Class)
- 클래스: 객체를 만들기 위한 설계도 또는 틀
- 객체(Object): 클래스를 바탕으로 만들어진 실제 개체
- 메서드(Method): 클래스 내부에 정의된 함수
- self: 객체 자기 자신을 가리킴
class 클래스이름:
def __init__ (self, 매개변수):
self.속성 = 값
def 메서드 (self):
동작코드17. 생성자
- 객체가 생성될 때 자동으로 호출
- __init__: 생성자(객체 만들 때 사용)
- super(): 부모 클래스에 접근
- isinstance(): 객체가 특정 클래스인지 확인
18. 상속
- 기존 클래스의 속성과 메서드를 물려받아 새로운 클래스를 만드는 것
- 코드 재사용성을 높이고 유지보수를 쉽게 만든다
- 부모 클래스(Parent Class): 상속 해주는 클래스
- 자식 클래스(Child Class): 상속 받는 클래스
- 메서드 오버라이딩: 자식 클래스가 부모 클래스의 메서드를 재정의 ➡️ 자식 클래스만의 동작으로 바꿈
- 다중 상속: 하나의 자식 클래스가 여러 부모 클래스로부터 상속 받는 것
#상속(Inheritance)
class 부모:
def __init__(self):
...
class 자식:
def __init__(self):
super().__init__()#다중 상속(Multiple Inheritance)
class A:
def method_a(self):
print("A")
class B:
def method_b(self):
print("B")
class C(A, B):
pass
c = C()
c.method_a() # A
c.method_b() #B#오버라이딩(Overriding)
#부모 클래스 정의
class Vehicle:
#생성자: 브랜드 이름을 받아서 객체에 저장
def __init__ (self, brand):
self.brand = brand
#일반 차량 시동 메서드
def start(self):
print("차량이 시동을 겁니다.")
#차량 정보 출력 메서드
def info(self):
print(f"브랜드: {self.brand}")
#자식 클래스: 전기차(Vehicle 상속받음)
class ElectircCar(Vehicle):
#생성자: 브랜드와 배터리 용량을 받아 초기화
def __init__ (self, brand, battery_capacity):
#부모 클래스의 생성자 호출
super().__init__(brand)
self.battery_capacity = battery_capacity
#전기차 시동 메서드(오버라이딩)
def start(self):
print("전기차가 조용히 시동을 겁니다.")
#전기차 정보 출력 메서드(오버라이딩)
def info(self):
print(f"전기차 브랜드: {self.brand}")
print(f"배터리 용량: {self.battery_capacity}kWh")
#Vehicle 클래스 객체 생성
normal_car = Vehicle("현대")
#ElectricCar 클래스 객체 생성
electirc_car = ElectircCar("테슬라", 75)
#각각의 시동 메서드 호출
normal_car.start()
electirc_car.start()✔️ 오늘 배운 내용 요약
- Colab 사용법 (설치 없이 파이썬 실행 환경 익히기)
- 기본 문법: 연산자, 내장 함수, input 처리
- 문자열 처리: 인덱싱, 슬라이싱, 메서드 활용
- 자료형: 리스트, 튜플, 딕셔너리, 집합
- 조건문과 반복문: 조건문(if), 반복문(for/while)
- 함수 정의와 사용법: def로 함수 정의하고, 매개변수와 return을 활용하여 원하는 값 반환하기
'부트캠프 정리' 카테고리의 다른 글
| [멋쟁이사자처럼 데이터분석 부트캠프 6주차]-통계 기법 (17) | 2025.08.08 |
|---|---|
| [멋쟁이사자처럼 데이터분석 부트캠프 5주차]-데이터전처리기초 (6) | 2025.07.31 |
| [멋쟁이사자처럼부트캠프 데이터분석 2주차]-파이썬 모듈/데이터분석 기초 (8) | 2025.07.25 |
| [멋쟁이사자처럼 데이터분석 부트캠프 4주차]-SQL (2) | 2025.07.22 |
| [멋쟁이사자처럼 데이터분석 부트캠프 3주차]-자료구조 (2) | 2025.07.18 |