
본 파이썬 강의는 맥북용 Visual Studio Code 편집기를 기반으로 진행되는 강의입니다. 우선 해당 프로그램을 컴퓨터에 다운로드받는 걸 권장드립니다. 또한 맥북과 윈도우스는 실행 환경이 좀 다를 수 있으니 참고 부탁드립니다.
https://code.visualstudio.com/download
컴파일 언어
→ 0과 1만 읽을 수 있는 컴퓨터를 위해, 사람의 언어를 컴파일을 통해 컴퓨터가 이해 가능한 언어로 해석해.
인터프리터 언어
→ 코드를 한 줄씩 해석하면서 실행해.
Django, FastAPI, FlaskTensorFlow, PyTorchNumPypandasSQLite, MySQL이것들이 파이썬이랑 무슨 관계냐고?
→ 위에 나열한 것들은 모두 Python 언어에서 사용하는 도구(라이브러리 또는 프레임워크)야.
pip install django
터미널에 위 명령어를 작성해서 실행하면, 로컬또는 가상 환경에 바로 설치해서 사용할 수 있어.
먼저 파이썬 문법을 배우기 전에 변수에 대해 알아보자.
변수 = 데이터를 담아두는 상자
a = 3
위 연산을 보면, 우리는 보통 a는 3과 같다고 말하지만,
코딩에서는 "3이라는 숫자를 a라는 상자에 담는다"라고 해석해.
그래서 파이썬으로 코딩하다보면 a = a + 1 와 같은 연산을 많이 보게 될거야, 하지만 만약 우리가 평소에 알던 수학 연산으로 생각하면 완전 말이 안되는 연산이지, 이 규칙을 이해하기 위해서 상자 안에 무엇을 담을 수 있을까 알아 볼까?
상자 안에 담는 내용을 알기 위해 자료형(Data Type)을 알아보자.
자료형은 다음과 같은 종류가 있어:
이렇게 다양한 자료형을 가진 데이터를 변수 상자에 담을 수 있어.
자료형은 컴퓨터가 데이터를 어떤 종류로 인식하고 다루는지 알려주는 라벨표라고 생각하면 쉬워.
예를 들어:
a = "안녕하세요" # 문자열
a = 12345 # 숫자
파이썬은 데이터의 종류를 자료형으로 구분해서,
어떤 연산을 할 수 있는지, 어떻게 저장할지를 결정해줘.
먼저 숫자형을 알아보자. 크게 두 가지를 사용해.
소수점이 없는 숫자.
a = 10000 # 양의 정수
b = -5 # 음의 정수
c = 0 # 0
print(type(a)) # <class 'int'>가 terminal에 출력됨

() 안에 b, c로 바꿔서 뭐가 출력되는지 직접 확인해봐.
코드는 보통 편집기에 작성해.
터미널을 열어서 이렇게 입력하면 실행할 수 있어:
python3 파일이름.py
터미널은 상단 메뉴바에서 Terminal - New Terminal에서 열 수 있어. 
연산자는 이렇게 있어:
+-*/**%//정수는 사칙연산(+, -, *, /)을 주로 사용해.
a = 123
b = 1.9
c = 7
print(a + c) # 130이 출력됨
나머지와 몫이 좀 낯설 수 있는데, 예시를 들어보자.
7 ÷ 2 =몫 3, 나머지 1이야.
d = 10
print(d // 3) # 3 출력
print(d % 3) # 1 출력
소수점이 있는 숫자.
x = 3.14
y = -2.5
z = 0.0
height = 158.7
print(type(x)) # <class 'float'> 출력

() 안에 y, z로 바꿔서 확인해봐.
이제 문자열을 알아보자.
문자열을 표현하는 방법은 4가지가 있어:
"안녕" (큰따옴표)'안녕' (작은따옴표)"""안녕""" (큰따옴표 3개)'''안녕''' (작은따옴표 3개)다양한 문자열 표현 방식은 문자열 안에 따옴표를 포함할 때 특히 유용해.
e = "배가 고프다!"
f = '123'
g = """I'm hungry"""
h = '''I miss you!'''
print(type(e)) # <class 'str'>

줄 바꿈을 하고 싶으면 \n을 사용하면 돼.
i = "오늘은 날씨가 좋은데 \n 뭘 먹을까나?"
print(i)

문자열(str)은 숫자처럼 더하기(+) 와 곱하기(*) 연산을 할 수 있어.
하지만 빼기(-)나 나누기(/)는 할 수 없어.
name = "선배님"
greeting = "안녕하세요!"
print(greeting + name) # 안녕하세요!선배님
print(greeting + " " + name) # 안녕하세요! 선배님 (공백 추가)
first = "Hello"
second = "World"
print(first + " " + second) # Hello World
print("나는 " + 14 + "살입니다.") # ← 오류 발생!print("안녕" * 3) # 안녕안녕안녕
print("★" * 10) # ★★★★★★★★★★
print("=" * 20) # ====================문자열은 하나하나의 글자가 순서대로 나열되어 있어.
각 글자에 번호(위치)를 붙여서 접근할 수 있는데, 이걸 인덱싱이라고 해.
인덱스는 항상 0부터 시작해!
대괄호 [ ]를 사용해서 접근.
코드 예시:
fruit = "apple"
print(fruit[0]) # a ← 첫 번째 글자
print(fruit[1]) # p
print(fruit[2]) # p
print(fruit[3]) # l
print(fruit[4]) # e
# 음수 인덱스 (뒤에서부터 세기)
print(fruit[-1]) # e ← 마지막 글자
print(fruit[-2]) # l
print(fruit[-3]) # p
** print할 때 범위를 벗어나면 오류가 발생하니까 주의해.
시각화로 이해하기:
문자열: a p p l e
인덱스: 0 1 2 3 4
음수인덱스: -3 -2 -1
인덱스를 이용해서 문자열의 일부분을 잘라서 가져오는 것을 슬라이싱이라고 해.
형식: 문자열[시작:끝], 시작 위치는 포함,끝 위치는 포함하지 않음.
word = "python"
print(word[0:2]) # py (0부터 2 전까지)
print(word[2:5]) # tho
print(word[0:4]) # pyth
# 처음부터 특정 위치까지
print(word[:3]) # pyt (0부터 3 전까지)
# 특정 위치부터 끝까지
print(word[3:]) # hon
# 전체 문자열 복사
print(word[:]) # python