Python 개요

soominlee·2022년 7월 26일
0

🐍 Python

목록 보기
1/14

*해당 게시글은 <NAVER boostcourse> 에서 수강한 강의를 바탕으로 정리한 내용입니다.

파이썬

  • 귀도 반 로섬이 발표
  • 플랫폼 독립적
  • 인터프리터 언어
  • 객체 지향
  • 동적 타이핑 언어
  • 처음 C 언어로 구현

자비로운 종신 독재자 : 파이썬의 개선 사항(PEP)에 대한 최종 의사 결정자

플랫폼 독립적인 인터프리터 언어

플랫폼 = OS
플랫폼에 독립적이다 = OS에 상관 없이 한번 프로그램을 작성하면 사용 가능
인터프리터 = 통역기를 사용하는 언어를 가리키는 말로, 소스코드를 바로 실행할 수 있게 지원하는 프로그램 실행 방법을 말함

작성한 코드가 OS에서 작동하기 위해서는 해석을 해주어야한다. 해석을 해주는 프로그램을 인터프리터라고 함. 각 운영체제에 맞는 인터프리터를 설치해서 번역해주는 것이 필요하다.
적절한 인터프리터가 설치되어있다면 파이썬 언어는 돌아간다라는 특징을 가짐.
요즘엔 다양한 디바이스에서도 파이썬이 실행되어야하는데, 디바이스의 특징을 고려하지 않아도 돌아갈 수 있는 언어다.

[참고] 컴파일러 vs 인터프리터

  • 컴파일러
    • 작동 방식 : 소스코드를 기계어로 먼저 번역함. 해당 플랫폼에 최적화되어 프로그램을 실행함
    • 장점 : 실행 속도가 빠르다
    • 단점 : 메모리 사용량 높음 (많은 기억 장소 필요)
    • 주요 언어 : C, Java, C++, C#
    • high level 언어를 운영 체제에 맞춰서 컴퓨터가 이해할 수 있는 언어로 번역한 파일을 냄. 따라서 같은 운영체제라면 다른 컴퓨터에서도 바로 실행이 가능하며, 설치하는 것도 유용하다.
      source code -> complier -> assembler -> CPU
  • 인터프리터
    • 작동 방식 : 별도의 번역 과정 없이 소스코드를 실행시점에 해석하여 컴퓨터가 처리할 수 있도록 함
    • 장점 : 간단한 작성/실행 방식, 메모리 사용량 낮음
    • 단점 : 실행 속도가 느림
    • 주요 언어 : 파이썬, 스칼라
    • 실행할 때마다 인터프리팅이 되는 방식이라 속도가 느림
      source code -> interpreter -> CPU

이전에는 컴파일 언어를 주로 사용했다. 요즘에는 컴퓨터의 속도가 빨라졌기 때문에 인터프리터 언어가 많이 사용된다.

객체 지향의 동적 타이핑 방식

  • 객체 지향적 언어
    : 실행 순서가 아닌 단위 모듈 중심으로 프로그램을 작성
    <-> (C같은 경우) 프로시저 언어 : 순서대로 실행되는 방식

  • 동적 타이핑 언어
    : 프로그램이 실행하는 시점에 프로그램이 사용해야할 데이터에 대한 타입을 결정함
    *동적: 실행시점에 어떤 동작을 수행한다.

profile
Soominlee

0개의 댓글

관련 채용 정보