1. 파이썬의 기본
파이썬은 다른 프로그래밍 언어들과는 다르게 인터프리터 언어이다.
인터프리터 언어란 무엇인가 하면 한줄씩 컴파일이 들어가는 언어를 말한다. 즉 단계별로 진행이 가능한 프로그래밍 언어이다!
(다른 프로그래밍 언어 ex.c++ 같은 경우에는 통으로 사전 컴파일이 들어가는 특징이 있는데 통으로 컴파일이 들어가기 때문에 속도는 컴파일 언어가 빠르지만 에러가 났을 경우 에러가 난 위치를 찾기 힘들다는 단점이 존재한다)
파이썬에서의 변수의 용도는 다른 프로그래밍 언어들과 동일하게
값을 저장하고 관리하는 용도이다.
사실 이 용도는 다른 프로그래밍 언어에서도 동일하게 해당하는 사항이다.
다만 파이썬에서의 변수는 미리 변수를 선언할 때 변수의 타입을 지정해주지 않아도 된다는 장점이 있다.
파이썬에서의 숫자형 변수의 범위 제한은 다른 언어들에 비해 제한이 없는데
int의 경우에는 범위가 없으며
float의 경우에는 64비트 제한이 있다. (소수점 이하 15 ~ 16자리)
a = 10
b = 3
# 산술 연산자
print(a + b) # 13
print(a - b) # 7
print(a * b) # 30
print(a / b) # 3.3333335 -> 나눗셈은 항상 float 형태를 return 함
print(a // b) # 3
print(a % b) # 1
print(a ** b) # 1000
print(a += 1) # 11
# 비교 연산자
print(a == b) # False
print(a != b) # True
# 논리 연산자 : and, or, not
print((a%10 == 0) and (b%10 == 0)) # False
print((a%10 == 0) or (b%10 == 0)) # True
# 비트 연산자 : 시프트 한 곳에 0이 채워짐
a = 3
print(a << 2) # 12
print(a >> 2) # 0
# 멤버십 연산자 : in, not in
x = ["apple", "banana"]
y = ["apple", "banana"]
print(x is y) # False
z = x
print(x is z) # True
파이썬에서의 문자형 타입
2. 파이썬의 제어문
파이썬의 컬렉션 자료형
number_list = [1,2,3,4,5]
number_list.append(6) # [1,2,3,4,5,6]
number_list.remove(4) # [1,2,3,5,6]
print(number_list[-1]) # 5
튜플
리스트와 비슷한 형태로 비슷한 기능을 하는 컬렉션이다.
다만 [ ] 가 아닌 ( )로 선언을 하며
불변 자료형이다. 때문에 값이 변경되지 않아야 할 묶음일 때 사용한다.
메서드에서 2개 이상
Set
중복된 값을 제거하는 자료형이며 사용법은 아래와 같다
myList = [1,1,1,1,1,2,3,4,5]
mySet = set(myList) # {1,2,3,4,5}
mySet.add(7) # {1,2,3,4,5,7}
mySet.remove(2) # {1,3,4,5,7}
mySecondSet = {5,8,9,10}
result = mySet.union(mySecondSet) # {1, 2, 3, 4, 5, 7, 8, 9, 10}
result = mySet.intersection(mySecondSet) # {5}
파이썬의 데이터 타입 변환
명시적 변환
암시적 변환의 경우
a = "5"
b = int(a) # 이를 실행하기 위해서는 a의 따옴표 안의 수는 정수형이어야 함
파이썬의 제어문과 반복문
제어문이란 프로그램이 결정을 내리도록 하는 도구로, 조건에 따라 제어가 필요할 때 사용할 수 있겠다.
반복문이란 프로그램이 동일한 작업을 반복하도록 하는 도구로 동일한 조건에서 반복적인 동작이 필요할 때 유용할 수 있겠다.
제어문
형태로는
if 조건 :
동작
대표적인 조건문으로는 if/elif/else 문이 있다.
위 조건문은 선후 관계가 매우 중요한데
만약 if > elif > else 가 있다면 elif는 if에 걸리지 않은 상태에서 들어가는 조건문을 의미하기 때문에 if와 elif에 공통되는 부분이 있지 않게 해야 의미있는 조건문이 되겠다.
if 다음에 오는 조건으로 True, 1, 문자열은 단독으로는 동일하다.
반복문
while 문과 for문이 있다.
차이점은
3. 파이썬의 내장함수
특징
def greet(name="쿠키"):
...
print(greet()) # 실행 가능
def greetIncludeAge(age, name="쿠키"):
...
print(greetIncludeAge()) # 실행 불가 - 특징 3 위배
print(greetIncludeAge("쿠키")) # 출력값으로 age, name 모두 "쿠키"가 들어감
myList = [1,2,3,4,5]
myDict = {"name": "쿠키", "age": 22}
def testList(*args):
...
# 함수 호출
testList(*myList) # [1,2,3,4,5]
def testDict(**kwargs):
...
testDict(**myDict) # 딕셔너리를 인자로 넣어줄 때에는 ** 붙일 것
모듈
패키지
가상환경이란
버전을 맞춰줄 때 사용하는 것으로 다른 개발 환경에 있는 사람들이 서로 각자의 코드를 실행할 때 사용해볼 수 있는 환경이 되겠다.
패키지 간 의존성을 낮춰줄 수 있겠다.
관리
pip freeze > requirements.txt # install한 패키지를 저장해줌
pip install -r requirements.txt # requirements.txt 내용대로 설치해줌
Try / Except 에러 처리
try:
file = open("data.txt", "r")
data = file.read()
except FileNotFoundError:
print("파일을 찾을 수 없습니다.")
finally:
file.close()
print("파일을 닫았습니다.")