Stack Building

[python] 시작하기 본문

머신러닝

[python] 시작하기

S00ahKim 2019. 4. 16. 10:48

1. 프로그래밍 개념

- 컴퓨터 프로그램: 컴퓨터가 수행할 명령어(instruction)들을 적어 놓은 문서 (ex.작업지시서)

- 소스 코드: 컴퓨터가 수행할 명령어가 저장된 파일

- 컴퓨터가 이해할 수 있는 프로그래밍 언어를 사용해야 함

- 변수: 프로그램에서 일시적으로 데이터를 저장하는 공간. 데이터가 입력되면 어딘가에 저장해야만 다음에 다시 사용할 수 있음.

 

1.1 변수 이름 부여하기

- 변수 이름은 변수/함수를 식별할 수 있게 하고, 언어마다 지정하는 방식에 조금씩 차이가 있음 (강제는 아님)

- 의미 있는 이름을 사용

- 대문자 =/= 소문자

- 변수의 이름은 영문자, 숫자, underscore( _ )로 구성

- 첫 번째 문자는 반드시 알파벳 또는 underscore( _ )

- 변수의 이름 중간에 공백이 들어가면 안 됨. 단어를 구분하려면 underscore( _ )을 사용 (ex.hero_name)

 

1.2 변수 만들기

- 대입 연산자 ' = '를 사용하여 변수 만들며 값 저장

- 왼쪽의 변수에 오른쪽의 값/수식/함수 수행 결과를 대입 (

- 생성된 변수에는 이후 다른 값을 저장해도 무방

- 파이썬은 데이터 타입을 지정하지 않아도 됨

 

1.3 프로그램 구조

- 입력: 외부로부터 데이터 받음

- 처리: 데이터를 처리함

- 출력: 결과를 화면에 출력

 

1.4 프로그램 제어 구조

- 순차 구조(sequence): 명령들이 순차적으로 실행되는 구조

- 선택 구조(selection): 두개 이상 중 하나의 명령을 선택하여 실행되는 구조

      이 구조가 없으면 항상 동일한 동작만. 선택을 위한 조건 필요.

      if: 주어진 조건을 만족(true)하는 경우 해당 조건의 제어 문장을 실행

      if문이 제어하는 문장들을 알아보는 방법은 들여쓰기 공백(indentation)

      else는 if의 결과가 거짓일 경우 사용.

      if 안에 if 를 사용하는 것을 "중첩 제어"라고 함. 복합 조건에 사용

- 반복 구조(iteration): 동일한 명령이 반복되면서 실행되는 구조

 

2. 파이썬의 장점

- 인터프리터 언어 (초보자에게 쉬움)

- 직관적인 코드

- 풍부한 라이브러리

 

3. 사용

- python IDLE (파이썬 쉘) : 명령어 입력 후 엔터키 누르면 명령어 실행됨

- 스크립트 모드: 소스 코드 작성을 지원. File > New File > 작성 > Save > Run > Run Module

- 통합개발환경 사용: vs code 등

 

4. 기초 함수

- 함수: 특정 기능(function)을 처리하기 위한 명령을 묶어 놓은 작은 프로그램 단위

       즉, 의뢰인에게 일을 의뢰 받아서 작업을 수행하는 일꾼과 유사

 

(1) print()

- 출력

- 문자열은 " "로 감싸야 하며, 수식을 넣으면 계산 결과를, 변수를 넣으면 변수에 저장된 값를 출력함

- 콤마( , )로 구분할 경우 여러개의 값 사이에 공백을 넣어 출력함

 

(2) 연산자

+, - , *, // (몫만), /(소수점 표시), %(나머지), **(제곱)

괄호 안의 수식이 우선 순위가 높음

 

(3) input()

- ("여기에는 자료를 입력받기 위한 안내 메시지를 넣을 수 있음")

- 자료는 문자열로 입력 받아 변수에 전달됨. 정수로 입력받고 싶다면 int(input())을 해줘야.

 

(4) 형변환

- int() 함수: 주어진 문자열을 정수(integer)로 변환

- float() 함수: 주어진 문자열을 실수(floating point number)로 변환

 

(5) 관계 연산자

==, !=, >, >=, <, <=

결과 값은 true 혹은 false로 나옴. (true는 1, false는 0)

 

(6) 논리 연산자

- x and y : x와 y가 모두 참이어야 참

- x or y : x와 y 중 하나라도 참이면 참

- not x : x가 거짓이면 참

 

(7) 사용자 정의 함수 만들기

    def 함수이름():

        수행할 내용

- 함수 이름을 정확하게 호출해야 함.

- 한 번만 작성하면 언제든지 호출 가능.

- 작업을 수행하기 위해 필요한 자료(매개변수)는 함수를 호출하는 곳에서 전달.

  def function(매개변수): 로 해주면, 매개변수라는 이름의 저장공간을 할당한다.

- return 을 명시하면 작업을 수행한 후 호출된 곳으로 결과를 전달.

 

 

cf. 텐서플로우로 흘려보내는 데이터를 배열/ 딕셔너리로 관리한다.

 

5. 배열

- 변수: 오직 한 개의 값 만을 저장하는 프로그램에서 일시적으로 데이터를 저장하는 공간

- 배열: 같은 자료형의 데이터를 여러 개 저장할 수 있는 메모리의 연속적인 공간

  저장되는 자료의 개수는 한 개에서부터 메모리가 허락되는 범위 내에서의 무한대까지 가능

- 표기: square bracket [ ]

- 만들기: 대입 연산자 '='를 사용해서 배열을 만들고 값 저장, 빈 공간 초기화

- 인덱스: 배열의 원소엔 순서가 있음.

       인덱스는 배열의 각 원소(공간)를 구분하기 위한 일련 번호. 0부터 시작.

       인덱스는 범위로도 줄 수 있다. [0:2] 0부터 2, [3:] 3부터 끝, [:3] 3 미만

- 자료 추가/삭제: 해당 기능 수행하는 함수 실행

  append() : 배열 에 주어진 자료를 추가

  remove() : 주어진 자료를 배열에서 삭제  ex. heroes.remove("토르")

               지우면 저절로 빈 자리에 뒷 요소가 지워진 만큼씩 당겨온다.

  cf. 일반 명령어 del : 배열에 명시한 인덱스에 위치한 자료 삭제  ex. del heroes[0]

- for 반복 제어로 배열의 자료를 처음부터 순서대로 접근 가능. ex. for 배열의자료를받을변수 in 배열:

 

6. 딕셔너리

- 배열과 같이 값을 저장하는 방법 중 하나

- 딕셔너리에는 개별 공간에 저장된 값(value)을 키(key)로 구분

- 만들기:

   ① library["구병모"] = "파과"

   ② library = {"구병모":"파과"}

- 딕셔너리는 key로 탐색함 (위 예제의 "구병모"). 딕셔너리 안 요소들은 순서가 없고, 집합으로 관리.

- 딕셔너리의 모든 key 검색: library.keys()

- 딕셔너리의 모든 값 검색: library.values()

 

7. 객체

- 객체는 자신의 상태와 동작으로 구성

- 파이썬에서 상태는 정량적 자료, 동작은 함수로 표현

- 파이썬에서 배열은 객체로 처리

- 객체이름.함수이름(): 컴퓨터 프로그램에서 객체의 자료나 소속함수를 실행할 때에는 멤버 참조 연산자 .를 사용

'머신러닝' 카테고리의 다른 글

[aws] lamdba  (0) 2019.04.17
기계학습  (0) 2019.04.16
인공지능의 한계  (0) 2019.04.16
[python] Selenium을 이용한 Web-Scraping  (0) 2019.04.15
내적  (0) 2019.04.03
Comments