티스토리 뷰
python(파이썬)
1991년 프로그래머인 귀도 반 로섬이 발표한 고급 프로그래밍 언어로, 플랫폼에 독립적이며 인터프리터식, 객체지향적, 동적 타이핑(dynamically typed) 대화형 언어
- 주요 특징
- 동적 타이핑(dynamic typing). (실행 시간에 자료형을 검사한다.)
- 객체의 멤버에 무제한으로 접근할 수 있다. (속성이나 전용의 메서드 훅을 만들어 제한할 수는 있음.)
- 모듈, 클래스, 객체와 같은 언어의 요소가 내부에서 접근할 수 있고, 리플렉션을 이용한 기술을 쓸 수 있다.
현대 파이썬은 사용자가 모르는 사이에 소스코드를 컴파일하여 바이트 코드(Byte code, .pyc)를 만들어 다음 수행 시 빠름
파이썬에서는 들여쓰기를 사용해서 블록을 구분하는 독특한 문법을 채용
Pyrex, Psyco, NumPy 등을 이용하면 수치를 빠르게 연산 : 과학, 공학 분야에서도 많이 이용
- 고급프로그래밍 언어(하이 레벨 프로그래밍 언어, high-level programming language)
사람이 이해하기 쉽게 작성된 프로그래밍 언어로서, 저급 프로그래밍 언어보다 가독성이 높고 다루기 간단
- 객체지향적
객체 지향 프로그래밍(Object-Oriented Programming, OOP)은 컴퓨터 프로그래밍의 패러다임 중 하나
프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용
개발과 보수를 간편하게 하며, 보다 직관적인 코드 분석을 가능하게 하는 장점
기본 구성 요소
- 클래스(Class)
같은 종류(또는 문제 해결을 위한)의 집단에 속하는 속성(attribute)과 행위(behavior)를 정의한 것으로 객체지향 프로그램의 기본적인 사용자 정의 데이터형(user defined data type)
- 객체(Object)
클래스의 인스턴스(실제로 메모리상에 할당된 것)
객체는 자신 고유의 속성(attribute)을 가지며 클래스에서 정의한 행위(behavior)를 수행
객체의 행위는 클래스에 정의된 행위에 대한 정의를 공유함으로써 메모리를 경제적으로 사용
- 메서드(Method), 메세지(Message)
클래스로부터 생성된 객체를 사용하는 방법으로서 객체에 명령을 내리는 메시지
메서드는 한 객체의 서브루틴(subroutine) 형태로 객체의 속성을 조작하는 데 사용
객체 간의 통신은 메시지를 통해 이루어짐
python 철학
- "아름다운 게 추한 것보다 낫다." (Beautiful is better than ugly)
- "명시적인 것이 암시적인 것 보다 낫다." (Explicit is better than implicit)
- "단순함이 복잡함보다 낫다." (Simple is better than complex)
- "복잡함이 난해한 것보다 낫다." (Complex is better than complicated)
- "가독성은 중요하다." (Readability counts)
출처 : 위키, ko.wikipedia.org/wiki/파이썬
파이썬으로 할 수 있는 일
- 시스템 유틸리티 제작
- GUI 프로그래밍
- C/C++와의 결합
- 웹 프로그래밍 : ex> django를 이용한 web-site 제작
- 수치 연산 프로그래밍 : ex> numpy, pandas, statmodel
- 데이터베이스 프로그래밍 : ex> python sqlite3 DB, Maria DB, MySQL
- 데이터 분석, 사물 인터넷 : ex> Machine Learning, Dip Learning, Raspberry Pi or Aduino 제어
파이썬으로 할 수 없는 일
출처 : 위키독, wikidocs.net/7
'python > Lecture' 카테고리의 다른 글
python 기초 #4 : Code Block(제어문 : 조건문/반복문) (0) | 2021.02.25 |
---|---|
python 기초 #3 : Data-type Handling(자료형 다루기) (0) | 2021.02.24 |
python 기초 #2 : Data-type(자료형) (0) | 2021.02.23 |
python 기초 #1 : 기본 문법 (0) | 2021.02.22 |
개발 환경 구축 : macOS/python, SublimeText Editor (0) | 2021.02.22 |
- Total
- Today
- Yesterday
- raspberrypi
- template
- 자가격리
- SSH
- Python
- DAQ
- Regression
- sublime text
- Raspberry Pi
- arduino
- vscode
- Pandas
- git
- CSV
- github
- Templates
- 라즈베리파이
- pyserial
- server
- Model
- 코로나19
- 확진
- r
- ERP
- 코로나
- DS18B20
- COVID-19
- analysis
- MacOS
- Django
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |