Stack Building
[python] 시작하기 본문
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 |