저번 기수에는 학점이 아직 남아있는 탓에 합류 취소한 부스트캠프,,
이번 기수에도 운 좋게 합격해서 5기 1주차 학습정리를 남깁니다 🫡
Python & AI Math ~ 2-4강
프로그램의 기반이 되는 환경
프로그램은 운영체제마다 다르게 실행되어 OS에 의존적임
OS에서 파일을 저장하는 트리구조의 저장 체계
Directory : 파일과 다른 디렉토리 포함 가능
File : 컴퓨터에서 정보를 저장하는 논리적인 단위
트리구조 → root 디렉토리부터 시작하는 구조로 되어있음
절대 경로 : 루트 디렉토리부터 파일위치까지의 경로
상대 경로 : 현재 있는 디렉토리부터 타깃 파일까지의 경로
키보드로 명령을 입력해 프로그램 실행
Command Line Interface : Text를 사용해 컴퓨터에 명령을 입력하는 인터페이스 체계
Graphic User Interface : 마우스로 클릭해서 명령을 입력하는 인터페이스 체계
개발 환경 → 운영체제, Python Interpreter, 코드 편집기
(MacOS 사용하며 Anaconda와 Jupyter Notebook을 사용함)
변수로 데이터를 저장하기 위한 메모리 공간의 프로그래밍상 이름
변수는 메모리 주소를 가지고 있고 변수에 들어가는 값은 메모리 주소에 할당됨
→ 프로그램을 실행하면 정보를 메모리에 저장시킨 후 CPU가 순차적으로 정보를 해석하고 계산해 결과값을 전달
시퀀스 자료형으로 여러 데이터들의 집합
다양한 데이터 타입을 포함할 수 있음
List의 특징 : 인덱싱, 슬라이싱, 리스트 연산, 추가 삭제, 메모리 저장 방식, 패킹과 언패킹, 이차원 리스트
number_1 = [1, 2, 3]
number_2 = [4, 5, 6]
number = number_1 + number_2 # 두 리스트 합치기
len(number) # 리스트 길이
1 in number # 리스트에 존재하는지 여부 반환
number.append(9) # 리스트에 데이터 추가
number.extend([7, 8]) # 리스트에 새로운 리스트 추가
number.insert(1, 4) # 1번째 주소에 4 추가
number.remove(3) # 리스트에서 3 삭제
del number[3] # 리스트에서 3번째 주소 리스트 객체 삭제
다양한 데이터 타입이 하나의 리스트에 들어감
→ 파이썬은 메모리 주소를 계속 참조하기 때문
리스트 메모리 저장 방식
리스트 변수에 리스트 주소값이 저장됨
= 기호를 사용할 때 같이 바뀌기 때문에 =[:]를 사용하여 복사
패킹과 언패킹
패킹 : 한 변수에 여러 개의 데이터를 넣는 것
언패킹 : 한 변수의 데이터를 각각의 변수로 반환
fruit = ['apple', 'banana', 'kiwi'] # 패킹
a, b, c = fruit # 언패킹
import copy
fruit = ['apple', 'banana', 'kiwi']
need = ['spoon', 'fork', 'chopsticks']
food = [fruit, need]
food_2 = copy.deepcopy(food) # 이차원 리스트를 복사하는 방법
함수 : 어떤 일을 수행하는 코드로 코드를 논리적인 단위로 분리한 것
함수 이름, parameter, indentation, 수행문, (return value)로 선언
함수를 제외한 메인 프로그램부터 실행하고 함수 호출 시에 함수 부분을 수행
parameter : 함수의 입력 값 인터페이스
argument : 실제 parameter에 대입된 값
input() 함수는 콘솔창에서 문자열을 입력 받는 함수
print() 함수를 이용해 출력 가능
print("My name is %s" %"Yunhee")
print("Price is %3.2f" %20.123) # 앞에 3칸 띄우고 소수점 2자리까지만 출력해라
name = "Yunhee"
price = 20.123
print("My name is {0}".format(name))
print("Price is {0:3.2f}.format(price)) # 3칸 띄우고 소수점 2자리까지만 출력
print("Price is {0:>3.2f}.format(price)) #오른쪽 정렬로 3칸 띄우고 소수점 2자리까지만 출력
name = "Yunhee"
print(f'My name is {name}')
print(f'{name:10}') # 왼쪽 정렬로 20칸 띄움
print(f'{name:>20}') # 오른쪽 정렬로 20칸 띄움
print(f'{name:*>20}') # 오른쪽 정렬로 20칸 띄우는데 *로 채우기
조건문 : 조건에 따라 특정한 동작을 하게 하는 명령어
a = True if value == 3 else False
반복문 : 정해진 동작을 반복적으로 수행하게 하는 명령문
→ 반복 시작 조건, 종료 조건, 수행 명령으로 구성
시퀀스 자료형으로 문자형 data를 메모리에 저장
1 byte 크기로 한 글자씩 메모리 공간이 할당됨
데이터 타입별로 메모리 공간을 할당 받은 크기가 다름
지역변수 : 함수내에서만 사용
전역변수 : 프로그램 전체에서 사용 → 함수 내에 global 쓰면 전역변수와 연결
자기자신을 호출하는 함수
사용자에게 인터페이스를 명확히 알려줄 수 있음
def f(a:int)->int: # 파라미터가 int 타입이고 return값도 int다
return a