본문 바로가기
반응형

Data Science/Boostcourse_coachingstudy10

Python Object Oriented Programming 객체 지향 프로그래밍 언어, Object Oriented Programming(OOP) - 객체 : 실생활에서 일종의 물건 - 속성(Attribute), 행동(Action)을 가짐 - OOP는 이러한 객체 개념을 프로그램으로 표현 - 속성은 변수(Variable), 행동은 함수(Method)로 표현됨 - 파이썬 역시 객체 지향 프로그램 언어 - 인공지능 축구 프로그램을 작성한다고 가정하면 - Object는 팀, 선수, 심판, 공 - Action은 선수가 공을 차다, 패스하다 - Attribute는 선수의 이름, 포지션, 소속팀 - OOP는 설계도에 해당하는 클래스(Class)와 실제 구현체인 인스턴스(Instance)로 나뉨 Objects in Python class SoccerPlayer(object).. 2022. 1. 24.
Pythonic code Why Pythonic code? - 남 코드에 대한 이해도 향상 : 많은 개발자들이 python 스타일로 코딩한다. - 효율 : 단순 for loop append 보다 list comprehension이 더 빠르다. - 간지 : 쓰면 왠지 코드 잘 짜는 것처럼 보인다. split & Join - split : string 타입 값을 '기준값'으로 나눠서 list 형태로 반환 - split() : 공백 기준으로 문자열 나누기 - split(",") : 콤마(,) 기준으로 문자열 나누기 - join은 반대로 붙이는 것 - list를 join(list) 형식으로 붙여주는데, 붙일 때 가운데 어떤 문자로 할지 선택 - '/'.join(list) : list의 요소들을 중간에 '/'을 붙여서 모두 문자열로 반환.. 2022. 1. 24.
Python Data Structure 기본 데이터 구조 - 스택과 큐(Stack & quere with list) - 튜플과 집합(Tuple & Set) - 사전(dictionary) - Collection 모듈 Stack - 나중에 넣은 데이터를 먼저 반환하도록 설계된 메모리 구조 - Last In First Out(LIFO) - '리포' 구조라고 읽음 - Data의 입력을 Push, 출력을 Pop이라고 함 - List(리스트)를 사용해서 스택 구조를 설계할 수 있음 - 리스트에서는 push를 append()로, pop을 pop()으로 구현 Quere - 먼저 넣은 데이터를 먼저 반환하도록 설계된 메모리 구조 - First In First Out(FIFO) - '피포' 구조라고 읽음 - Stack과 반대되는 개념 - 파이썬은 리스트를 사용.. 2022. 1. 17.
String and advanced function concept String - 문자열 데이터 - 시퀀스 자료형으로, 문자형 데이터를 메모리에 저장 - 영문자 한 글자는 1byte의 메모리 공간을 사용 - 1byte = 8bit = 2**8 = 256까지 저장 가능 - bit는 0 또는 1 - 컴퓨터는 문자를 직접적으로 인식하지는 않고, 모든 데이터를 2진수로 인식함 - 이를 위해서 2진수를 문자로 변환하는 표준 규칙을 정함 - Ex) 대문자 U는 이진수로 1000011로 변환됨 (UTF-8기준) - 아스키 코드 표준(ASCII)를 많이 씀 - 메모리 공간 정수형 : int(4byte), long(무제한) 실수형 : float(8byte) - 인덱싱(Indexing) - 문자열의 각 문자는 개별 주소를 가짐 -> 이 주소를 가지고 할당된 값을 가져옴 - 슬라이싱(Sl.. 2022. 1. 17.
Conditionals and Loops > Conditionals - 조건문 : If, elif, els - 프로그램 작성 시 조건에 따른 판단과 반복은 필수 - 조건문이란 조건에 따라 특정한 동작을 하게 하는 명령어 - 조건문은 조건을 나타내는 기준과 실행해야 할 명령으로 구성됨 - 조건의 참, 거짓에 따라 실행해야 할 명령이 수행되거나 되지 않음 - If-else - 조건을 표기해서 참, 거짓을 판단하는데 비교 연산자를 활용함 - a의 값과 b의 값이 같더라도 a is b가 False일 수 있음 -> is는 주소를 비교해서 같은지 확인하기 때문임 - if 'abc'는 참이고, if ""는 거짓임 - 논리 키워드 and, or, not : 논리 키워드에 따라 참과 거짓을 판단하기도 함 - and는 양쪽이 모두 참이어야 참, or는 한쪽만 참.. 2022. 1. 14.
Function and Console I/O > Function - 어떤 일을 수행하는 코드의 덩어리 - 반복적인 수행을 1회만 작성 후 호출 - 코드를 논리적인 단위로 분리 - 캡슐화 : 인터페이스만 알면 타인의 코드 사용 - 함수 선언 문법 : function name, parameter, indentation, return value(optional) - 함수 수행 순서 : 함수 부분을 제외한 메인 프로그램부터 시작 -> 함수 호출 시 함수 부분을 수행 후 되돌아옴 - parameter : 함수의 입력 값 인터페이스 Ex) F(x)에서 x를 의미함 - argument : 실제 parameter에 대입된 값 Ex) F(x)에서 x에 들어간 실제 값을 말함 - parameter 유무, 반환 값 유무에 따라 함수의 형태가 다름 > Console I.. 2022. 1. 14.
Variable & List > Variables - 가장 기초적인 문법 - 데이터(값)을 저장하기 위한 메모리 공간의 프로그래밍상 이름 - 변수 = 값 : 변수에 값을 저장한다. - 변수는 값을 저장하는 장소 - 변수는 메모리 주소를 가지고 있고, 변수에 들어가는 값은 메모리 주소에 할당됨 Cf) 컴퓨터의 구조 - 폰 노이만 아키텍쳐 - 사용자가 컴퓨터에 값을 입력하거나 프로그램을 실행하면, 메모리에 저장하고 시작한다고 생각하자. - 선언되는 순간 메모리 특정 영역에 물리적인 공간이 할당된다. - 변수에 값이 할당되고, 해당 값은 메모리에 저장됨. - A=8의 의미는 'A라는 이름을 가진 메모리 주소에 8을 저장하라'라는 말 > 변수 이름 작명법 - 알파벳, 숫자, 언더스코어(_)로 선언 가능 - 변수명은 의미 있는 단어로 표기하.. 2022. 1. 14.
Python coding environment (Interpreter, Code Editor) > 개발 환경 (Development Environment) - 프로그램을 작성하고, 실행시키는 환경 > OS를 선정 : Windows, Linux, Max OS 1) Windows : 친숙하고 초기에 쉬움, 모듈 설치가 어렵고 과거에 참고 문서가 부족했었다. 2) Linux : 모듈 설치가 쉽고 공짜, 참고 문서가 매우 많다. OS 자체가 사용이 어려움 3) Max OS : 모듈 설치 쉽고, 참고 문서도 많다. 비싸다. > 인터프리터 (Interpreter) 선정 - 2.7와 3.X 버전이 존재함. 현재는 3.X 기준으로 모든 시스템이 작동됨 - 2020년부터는 Tensorflow에서 2.X는 지원을 하지 않음 - 최근 3.9버전이 출시 되었음 - 종류에는 Python, Anaconda 등이 있음 > .. 2022. 1. 14.
Introduction to Python > python의 시작 - 1991년 귀도 반 로섬이 발표 - 플랫폼 독립적 - 인터프리터 언어 - 객체 지향 - 동적 타이핑 언어 - 처음 C언어로 구현되었음 - 1989년 크리스마스에 할 일이 없어서 파이썬 개발 - 'Monty Python's Flying Circus' : 파이썬 이름의 유래 (코미디 그룹의 이름) - 창립자는 구글, DropBox, MS 근무 > python 특징 1) 플랫폼 = OS - 윈도우, 리눅스, 안드로이드, 맥OS, iOS 등 프로그램이 실행되는 운영체제를 플랫폼이라고 함 2) 독립적인 = 관계 없는, 상관 없는 - OS에 상관없이 한번 프로그램을 작성하면 사용 가능 3) 인터프리터 = 통역기를 사용할 수 있는 언어 - 소스코드를 바로 실행할 수 있게 지원하는 프로그램 .. 2022. 1. 14.
반응형