[01주차] Python

Sung-E-Gkoght·2022년 11월 2일
0

HYAI - Python class

목록 보기
2/17

01. Python이란?


1989년에 네덜란드의 귀도 반 로섬(Guido Van Rossom)이 구현 시작, 1991년에 처음 개발된 High-Level 프로그래밍 언어이다.


02. Python의 특징

  1. 인터프리터(interpreter) 형식의 언어이다.

    • 컴파일을 통한 목적 파일 생성 없이, 명령어를 한 줄씩 바로 실행하는 방법이다.

    • 인터프리터(interpreter)라고 하는 것은 가상 컴퓨터(소프트웨어)로 프로그램을 실행할 수 있도록 해주는 번역가 역할을 한다. (아래 사진에 스크립트 언어라고 되어 있는데, 이는 인터프리어 언어의 세부 계열로 인터프리터 언어와 작동 방식의 개념은 같다.)

    • 장점:
      - 컴파일 과정 없이 바로 결과를 확인할 수 있다.
      • 운영체제(OS)에 비교적 독립적이다.
    • 단점:
      • 실행 속도가 컴파일 언어에 비해 느리다.
      • 보안에 취약하다.
  2. 동적 타이핑(Dynamic typing)형식이다.

    • 이건 지금 당장 알 필요는 없을 뿐더러, 정적 타이핑 언어를 직접 체험해봐야 체감이 쉬우니 넘어가도 좋다 :)

    • 동적 바인딩(Dynamic binding)이라고도 할 수 있다.

    • 변수와 타입을 연결(binding)을 프로그램 실행 시간(runtime)에 수행하는 것이다.



02 - 1. why Python

[기고] 왜 파이썬(Python)인가?



03. Python Library


라이브러리(Library)란: https://aliencoder.tistory.com/20

  • 요약은 모듈 <= 패키지 <= 라이브러리이다.

  • 모듈과 패키지의 구체적 설명

    • 아마 처음 코딩을 접한다면 지금 당장은 낯설 수 있다.
  • 간단히 말하자면, 라이브러리(Library)란 일종의 단위인 셈이다.

    • 모듈을 모아서 패키지를 만들고, 패키지를 모아서 라이브러리를 구성한다.
  • 이때 라이브러리와 패키지는 종종 혼용해서 쓰는 편인데, "파이썬 라이브러리를 불러온다"라는 말을 "파이썬 패키지를 불러온다"라고도 말한다.

그런데 무엇을, 왜 모아놓은 걸까?

아래 나와있지만
결론만 말하면 프로그래밍을 할 때 필요한 기능을 모아 놓은 것이며, 
특히 라이브러리로 만드는 이유는 라이브러리의 특징으로 거기에 속한 함수들 중\
사용되는 것만 실행 파일에 포함(즉, 용량을 줄인다)하기 때문이다.

03 - 1. Python Standard Library

표준 라이브러리(Standard Library)라고 하면 보통 해당 언어가 기본적으로 특정한 기능을 구현해서 라이브러리 형태로 프로그래밍 환경*과 함께 전달하는 것이다. 왜 이렇게 하는 걸까?

  • 예를 들어 사용자가 키보드로 문자를 입력하면 화면에 띄워주는 프로그램을 만들어본다고 하자.
    • 프로그램은 입력을 받을 수 있어야 한다.
    • 입력을 받는 다는 것은 action event를 처리 가능해야 한다.
      ...
      ...
      ...
    • 프로그램은 입력 받는 내용을 화면에 출력해야 한다.
    • 화면에 출력한다는 것은 하드웨어를 조작한다는 것이다.
    • 하드웨어 조작을 위해선 커널 권한을 얻어야 한다.
      ...
      ...
      ...
  • 벌써부터 어렵다. 개인의 프로그래머가 방대한 컴퓨터의 모든 지식을 학습해서 필요한 기능을 하나씩 구현한다는 게 가능할까?
  • 그 뿐만 아니라 OS(e.g. Windows, Mac, Linux, ...)의 종류나 CPU의 구조(e.g. intel AMD, ARM)마다 같은 기능이더라도 방식이 조금씩 달라서 기능 구현을 위한 코드도 달라질 수밖에 없다. 언제 다 만들지?

이러한 부분을 해결하기 위해 표준 라이브러리(Standard Library)가 존재한다.
여기서 표준이라고 하는 부분은 코딩을 위한 환경*을 설치할 때 내부에 포함되는 라이브러리를 의미한다. 쉽게 사용할 수 있도록 함께 제공하는 것이다.

그렇다면 파이썬 표준 라이브러리(Python Standard Library)라고 하는 것은 파이썬(Python) 언어로 프로그래밍 할 때 자주 쓰일 법한 기능들을 모아놓은 표준 라이브러리(Standard Library)인 셈이다.

*(프로그래밍/코딩을 위한 환경을 설치한다고 하는 것은 우리가 파이썬을 공식 홈페이지에서 설치하는 것이라고 생각해도 좋다)


다음은 파이썬 공식 문서(documentation)의 링크이다.

https://docs.python.org/3/index.html

Library reference 부분에서 라이브러리에 대한 설명과 목록을 볼 수 있다.

  • 파이썬 언어의 핵심적인 함수나 모듈 등을 알고 싶다면 Language reference로 들어가면 된다.

좌측 상단에 언어 설정이 있으니, 한국어로 설정해서 여러군데 읽어보면 도움이 될 것이다.


사진 출처: https://velog.io/@damiano1027

(근데 사실 인터프리터 언어도 작은 의미에서 컴파일이 있긴 한데... 이건 패스)

profile
Sung-E-Gkoght

0개의 댓글