Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- GTM
- DAU
- pvalue
- sql로데이터
- data
- onehot
- engagement
- 데이터가공
- 전처리
- row추가
- INSERTINTO
- 특정컬럼
- dataanalysis
- 표본
- 그로스마케터
- dataanalyst
- 데이터
- 데이터분석가
- 이전행
- 데이터분석
- 그룹
- warehouser
- 코테
- Python
- SQL
- ABTest
- 통계
- 리텐션
- categorical
- WAU
Archives
- Today
- Total
Meiren
[Python/ Grammar] python overview(파이썬 언어 기본 특징 정리) 본문
Life is short
You need Python
1. python의 시작
- 191 귀도 반 로섬이 발표
- 플랫폼 독립적
- 인터프리터언어
- 객체 지향
- 동적 타이핑 언어
- 초기엔 C언어로 구현되어 있음 (c로 컴파일 등)
1-1. 귀도 반 로섬
- 파이썬의 개선사항(PEP)에 대한 최종 의사결정자
- 자비로운 종신 독재자 > 현재 사임함
- 오픈소스 커뮤니티 멤버들의 악플에 힘들어했음
- MS의 오픈소스 정책을 동의하며 MS로 이직
- 구글, DropBox, MS 근무
1-2. 파이썬 이름의 유래
- Monty Python's Flying Circus (개그 프로그램명)
- pytho(피톤)은 그리스 신화 속의 괴물 뱀
- 몬티 파이썬이라는 코메디 그룹의 이름에서 유래
2. 언어의 특징
2-1. 플랫폼 독립적인 인터프리터 언어
플랫폼
- OS
- 윈도우, 리눅싀, 안드로이드, 맥OS, IOS 등 프로그램이 실행되는 운영체제가 플랫폼임
독립적인
- 관계없는 = 상관없는
- OS에 상관없이 한번 프로그램을 작성하면 사용가능
인터프리터
- 통역기를 사용하는 언어
- 소스코드를 바로 실행할 수 있게 지원하는 프로그램 실행 방법
- 보통 특정 언어의 문법으로 만들어진 코드를 특정 운영체제에서 돌리기 위해선, 그 운영체제에 맞춰서 번역을 해줘야함
하지만 파이썬은 윈도우/맥/ios 등 작성하면 그냥 바로 돌아간다 (디바이스 고려하지 않아도 된다)
2-2. 컴파일러 vs 인터프리터
컴파일러
- 작동방식 : 소스코드를 기계어로 먼저 번역해 > 해당 플랫폼에 최적화되어 프로그램을 실행
- 장점 : 실행 속도가 바름
- 단점 : 한번에 많은 기억장소가 필요함
- 주요 언어 : C, Java, C++, C#
인터프리터
- 작동방식 : 별도의 번역과정 없이 소스코드를 실행시점에 해석하여 컴퓨터가 처리할 수 있도록 함
- 장점 : 간단히 작성, 메모리가 적게 필요
- 단점 : 실행 속도가 느림
- 주요 언어 : python, scala
프로그램의 동작 과정 : 소스코드 기계어로 번역
사람이 알 수 있는 고급언어를 기계만 알 수 있는 저급언어로 변환
컴파일언어 : os에 맞춰서 변형된 cpu만 이해할 수 있는 언어로 변경됨
파이썬은 처음에 컴파일러 언어인 C로 작성되었다.
따라서 실행시 assembler와 같은 기계어 변환 과정을 거친다
3. 객체 지향 & 동적 타이핑 언어
3-1. 객체지향
실행 순서사 아닌 단위 모듈(객체) 중심으로 프로그램을 작성
하나의 객체는 어떤 목적을 달성하기 위한 행동(methods)와 속성(attribute)을 가지고 있음
목적에 맞춰 만든 모듈을 조합해서 실행
3-2. 동적 타이핑 언어
프로그램이 실행하는 시점에서 프로그램이 사용해야 할 데이터에 대한 타입을 결정함
동적 = 실행 시점!!!에 무언가 결정됨
4. Why Python (장점)
1. 이해하기 쉬운 문법
사람의 시간이 >>> 기계의 시간보다 중요
2. 다양한 라이브러리
무엇을 생각하든 그것을 구현할 수 있다.
다른 사용자에 의해 수많은 라이브러리들이 구현되어 있음(통계, 데이터 분석)
3. 이미 널리 쓰이는 언어
어디에든 쓸 수 있는 언어
알파고, 아인슈타인 중력파 확인 코드, 태양의 핵점 찍는 천체만원경 연결에 쓰임
유튜브, reddit, instagram 등
AI 분야의 표준어다.
한번 쓰고 버리는 코드(검증용)에 파이썬 만큼 좋은 언어가 없다.
'Python' 카테고리의 다른 글
[naver boostcourse] Python data structure/ 데이터 스트럭쳐 (0) | 2023.01.04 |
---|