본문 바로가기

Python/네이버 부스트코스 AI BASIC 코칭스터디8

[ AI 코칭스터디 ] 2주차 학습 ( Module and Project ) [ Module and Project ] 파이썬은 대부분의 라이브러리가 이미 다른 사용자에 의해서 구현되어 있다. 다른 사용자가 만든 프로그램을 쓰는 방법으로는 객체보단 모듈을 사용한다. 모듈은 하나의 패키지 안에 들어있는 어떤 대상의 부분이다. 예를 들면 레고 블록이나 자동차 부품들을 합쳐서 하나의 큰 프로그램을 만들 수 있다. 즉 모듈은 프로그램에서는 작은 프로그램의 조각으로 모듈들을 모아서 하나의 큰 프로그램을 개발할 수 있다. 프로그램을 모듈화 시키면 다른 프로그램을 사용하기 쉬워 진다. 패키지는 모듈을 모아놓은 단위로 하나의 프로그램이다. 여러 모듈들을 하나의 폴더 단위로 묶은 다음에 오픈 소스로 공개할 수 있다. 모듈 ( Module ) 파이썬의 모듈은 py 파일을 의미한다. 같은 폴더에 모듈.. 2022. 1. 25.
[ AI 코칭스터디 ] 2주차 학습 ( Python Object Oriented Programming ) [ Python Object Oriented Programming ] 객체 지향 프로그래밍 객체 : 실생활에서 일종의 물건 속성( Attribute )과 행동( Action )을 가진다. OOP는 객체 개념을 프로그램으로 표현. 속성은 변수( Variable ), 행동은 함수( Method )으로 표현한다. 파이썬 역시 객체 지향 프로그래밍 언어이다. OOP는 클래스( class )와 실제 구현체인 인스턴스( instance )로 나눔. ex) 붕어빵틀 - class, 붕어빵 - instance class와 instance 1. class 선언하기 class [ class 이름 ]( object ) : 상속받는 객체명 Attribute 추가는 __init__, self와 함께 써줘야한다. __init__.. 2022. 1. 24.
[ AI 코칭스터디 ] 1주차 학습 ( Python Data Structure ) [ Python Data Structure ] stack 스택( stack )은 나중에 넣은 데이터를 먼저 반환하도록 설계된 메모리 구조이다. Last In First Out ( LIFO ) 구조라 한다. Data의 입력을 Push, 출력을 Pop이라 한다. 리스트를 사용해서 스택 구조를 구현이 가능하다. push를 append(), pop을 pop()을 사용하면 된다. * pop()은 리턴이 존재하면서도 리스트 자체가 변한다. 스택 구조에서는 데이터를 넣었다가 빼줘야하기 때문에 맨 끝에 있는 데이터가 pop()에 할당이 된다. a = [1,2,3,4,5] print(a) # [1, 2, 3, 4, 5] a.append(10) print(a) # [1, 2, 3, 4, 5, 10] c = a.pop() .. 2022. 1. 21.
[ AI 코칭스터디 ] 1주차 학습 ( String and advanced function concept ) [ String and advanced function concept ] 문자열 ( String ) 문자열( string ) : 시퀀스 자료형으로 문자형 데이터를 메모리에 저장 영문자 한 글자는 1byte의 메모리 공간을 사용 * 1 byte = 8 bits = 2^8 = 256 까지 저장 가능 * UTF-8에서 8은 8bits를 의미한다. 문자열의 각 문자는 개별 주소인 offset을 가진다. offset을 이용해서 할당된 값을 가져오는 것을 인덱싱이라 한다. ( List와 같은 형태로 데이터를 처리한다. → 문자열 slicing 가능, ) len(a) 문자열의 길이 및 문자 개수 반환 a.upper() / a.lower() 문자열을 대문자 / 소문자로 변환 a.capitalize() 문자열의 첫 문자.. 2022. 1. 21.
[ AI 코칭스터디 ] 1주차 학습 ( Conditionals and Loops ) [ Conditionals and Loops ] is / is not is와 is not은 변수의 자료형과 값, 메모리 주소까지 모두 일치하는지 비교한다. a = [1,2,3,4,5] b = a[:] # a와 b는 같은 리스트를 가리키는 것처럼 보이지만 서로 다른 메모리 주소를 가지고 있음 # 인덱스 값 각각을 복사해서 새로운 공간을 만든다. print( a is b ) # False c = a # a와 c는 같은 리스트를 가리키고 있음 print( a is c ) # True is는 메모리 주소를 기억해서 비교하는 연산자이고 파이썬에서 -5 ~ 256 까지는 같은 메모리 주소를 사용하기 때문에 이들 사이의 값들의 is 비교는 True 값이 나온다. 삼항 연산자 value = int(input("숫자 입.. 2022. 1. 19.
[ AI 코칭스터디 ] 1주차 학습 ( Function and Console I/O ) [ Function and Console I/O ] sort vs sorted sorted : 기존 리스트는 건드리지 않고 정렬된 새로운 리스트를 리턴한다. 파라미터 존재. ex) sorted( my_list, (reverse=True) ) sort() : 아무것도 리턴하지 않고 기존 리스트를 정렬한다. 파라미터가 존재하지 않음 list_ex = [5,4,3,2,1] # sorted 함수는 sorting이 된 함수를 복사한 리턴값을 가지고 있다. print(sorted(list_ex)) # sort 함수는 리스트 자체에 변화가 일어난다. 리턴값이 존재하지 않음. list_ex.sort() print(list_ex) input input은 string 타입만 받을 수 있다. * 타입이 다른 값들을 연속해서.. 2022. 1. 18.
[ AI 코칭스터디 ] 1주차 학습 ( Variables ) [ Variables ] Variables 프로그래밍에서 변수는 값을 저장하는 장소로 변수는 메모리 주소를 가지고 있고 변수에 들어가는 값은 메모리 주소에 할당됨 변수는 선언되는 순간 메모리 특정 영역의 물리적인 공간에 할당됨. 변수에는 값이 할당되고 해당 값은 메모리에 저장된다. [ 컴퓨터 구조 - 폰 노이만 아키텍쳐 ] 사용자가 컴퓨터에 값을 입력하거나 프로그램을 실행할 경우 그 정보를 먼저 메모리에 저장시키고 CPU가 순차적으로 그 정보를 해석하고 계산하여 사용자에게 결과값을 전달하는 구조 * CPU = 제어장치 + 산술논리장치 데이터 타입에 따라 메모리를 차지하는 공간의 크기가 달라진다 . * Dynamic Typing : 코드 실행 시점에 데이터의 Type을 결정하는 방법 형변환 a = 10 t.. 2022. 1. 17.
[ AI 코칭스터디 ] 1주차 학습 ( 파이썬 준비하기 ) [ 파이썬 기초 ] 컴퓨터 OS Operating System, 운영체제 → 우리의 프로그램이 동작할 수 있는 구동 환경 ex) Windows, Mac OS 어플리케이션은 운영체제에 의존적이다. 프로그램이 Windows 또는 Mac OS와 호환이 되지 않을 수 있음 ( 프로그램을 운영체제에 맞게 설치해야함. ) 파일 시스템 File System → OS에서 파일을 저장하는 트리구조 저장체계 파일 : 컴퓨터 등의 기기에서 의미있는 정보를 담는 논리적인 단위 파일의 기본체계 : 파일 & 디렉토리 디렉토리 ( directory ) : 파일과 다른 디렉토리 포함 가능 파일 ( file ) : 컴퓨터에서 정보를 저장하는 논리적인 단위, 파일은 파일명과 확장자로 식별됨. 실행, 쓰기, 읽기 등이 가능 파일 시스템은.. 2022. 1. 16.