Python/Python 기초

[Python] Programming Basic

데이터 세상 2021. 2. 22. 11:25
728x90
반응형

Computational Thinking

분해(decomposition)

  • 문제를 잘게 나눠서, 문제를 작고 다룰 수 있는 부분으로 나누기
  • 일을 할 때 어떻게 나눠서 할지 생각하는것

패턴 인식(pattern recognition)

  • 데이터 안에 있는 패턴과 규칙을 찾기
  • 부분과 부분의 유사점과 차이점을 찾는 것

패턴 만들기(추상화) (abstraction)

  • 패턴을 만드는 일반적인 규칙을 발견하는 것

알고리즘 (algorithm)

  • 문제를 풀기 위한 명령을 순서대로 만드는 것

Programming

프로그래밍(programming)

  • 하나 이상의 관련된 추상 알고리즘을 특정한 프로그래밍 언어를 이용해 구체적인 컴퓨터 프로그램으로 구현하는 기술
  • 특정한 프로그래밍 언어로 쓰인 프로그램은 기계어로 번역되어 컴퓨터에 의해 실행됨

프로그래밍 언어(programming language)

  • 프로그래밍 언어는 컴퓨터 시스템을 구동시키는 소프트웨어를 작성하기 위한 형식언어

Hardware Architecture

중앙처리장치(central prcessing unit, CPU)

  • 주어진 정보에 대해서 입력된 명령어에 따라서 정보처리

GPU(graphics processing unit)

  • 여러 명령어를 동시에 처리하는 병렬 처리 방식

주기억장치(main memory)

  • CPU가 명령어를 처리하는데 필요한 정보를 저장
  • 정보처리 속도가 빠르지만 전원이 꺼지면 정보를 상실

보조 기억장치(secondary memory)

  • 정보처리 속도가 느리지만 전원을 잃어도 지속적으로 정보 보관

Programming Languages

Compiler

  • 프로그래머가 코드를 작성할 때 소스 코드를 이용하여 목적코드(파일)을 컴파일하고, 필요 시 이를 실행하는 방식으로 프로그램 실행
  • 실행 속도가 빨라진다.
  • 코드 완결성 보장될 수 있음
  • C, C++, Java

Interpreter

  • 프로그래머가 코드를 작성할 때 소스코드를 읽고, 소스코드를 파싱하고, 즉성에서 명령을 해석하여 실행
  • 실행 속도가 상대적으로 느릴 수 있다
  • Python, Ruby, Javascript

Python

1990년 암스테르담의 귀도 반 로선(Guido Van Rossum)이 개발한 interpreter language

 

특징

  • High-level Language
  • Easy Grammar
  • Open Source
  • Concise
  • Fast Developement Speed

활용분야

  • 시스템 유틸리티 제작
  • GUI 프로그래밍
  • 웹 프로그래밍
  • 수치 연산(with C/C++):  numpy
  • 데이터베이스 프로그래밍
  • 데이터 분석: pandas, matplotlib
728x90
반응형

'Python > Python 기초' 카테고리의 다른 글

[Python] Python Exception Handling  (0) 2021.02.24
[Python] Python Class  (0) 2021.02.23
[Python] Python File  (0) 2021.02.23
[Python] Python Function  (0) 2021.02.23
[Python] Python Flow Control  (0) 2021.02.22