[부스트캠프 AI Tech] 공부 정리 (D+2)

Becky's Study Lab·2023년 11월 8일
0

Boostcamp

목록 보기
2/42

위의 그림은 영국 코미디 쇼인 ‘몬티 파이썬의 날아다니는 서커스(Monty python's flying circus)’ 넷플릭스 포스터인데, 놀랍게도 이 포스터는 Python 이라는 프로그래밍 언어의 이름의 시작점이 되었다. 네덜란드 출신의 귀도 반 로섬(Guido van rossum)은 자신이 좋아하는 코미디 쇼 "몬티 파이썬의 날아다니는 서커스"에서 python이라는 이름을 따왔기 때문이다.

부스트캠프 2일차에서는 파이썬이는 언어에 대해서 제대로 하나하나 기초부터 배울 수 있는 시간이었다. 파이썬 언어에 대해서 내가 미처 알지 못했던, 갑자기 궁금해진 것들을 찾아서 정리해 이 포스팅에서 얘기들을 해보려고 한다.

📖공부내용 간단 정리

파이썬은 인터프리터(Interpreter) 언어?

컴파일러(compiler)

  • 전체 파일을 스캔하여 한꺼번에 번역한다.
  • 초기 스캔시간이 오래 걸리지만, 한번 실행 파일이 만들어지고 나면 빠르다.
  • 기계어 번역과정에서 더 많은 메모리를 사용한다.
  • 전체 코드를 스캔하는 과정에서 모든 오류를 한꺼번에 출력해주기 때문에 실행 전에 오류를 알 수 있다.
  • 대표적인 언어로 C, C++, JAVA 등이 있다.

인터프리터(interpreter)

  • 프로그램 실행시 한 번에 한 문장씩 번역한다.
  • 한번에 한문장씩 번역후 실행 시키기 때문에 실행 시간이 느리다.
  • 컴파일러와 같은 오브젝트 코드 생성과정이 없기 때문에 메모리 효율이 좋다.
  • 프로그램을 실행시키고 나서 오류를 발견하면 바로 실행을 중지 시킨다. 실행 후에 오류를 알 수 있다.
  • 대표적인 언어로 Python, Ruby, Javascript 등이 있다.

Dynamic Typing 방식의 Python

파이썬은 변수의 데이터 타입을 지정하지 않고, 변수 선언 시 컴퓨터가 이를 해석해 알아서 타입을 지정한다. 그렇기에 파이썬은 동적 타이핑(Dynamic Typing)방식으로 변수를 할당한다.
동적 타이핑, 정적타이핑에 대해서 정리해보았다.

동적 타이핑 (Dynamic Typing)

동적타이핑은 코드를 작성하는데 있어서 데이터 타입을 명시하지 않는다. 따라서 변수를 지정할 때 해당 변수의 데이터 타입 등을 명시하지 않아도 컴퓨터가 알아서 해석하도록 냅둔다. Python, JavaScript 등의 언어가 동적 타이핑 방식을 따른다.

# python
var = 10
var1 = 3.14
strr = 'a'
  • 코드를 작성하는 시간이 빠르다.
  • 코드를 실행하는 속도가 느리다.
  • 코드의 내용, 로직을 파악하기 쉽다.
  • 처음 프로그래밍을 학습하는 사람에게 적합한 언어이다.
  • 속도를 중요시하는 작업에선 사용하기 부적합하지만 작고 단순한 프로젝트를 하기엔 적합하다.
  • 동적 타이핑을 사용하는 언어 - 파이썬, 루비, php 등...

정적 타이핑 (Static Typing)

정적타이핑은 동적타이핑과 정반대로 코드를 작성할 때 컴퓨터적 구조를 명시해준다. C, Java 등의 언어가 정적 타이핑 방식을 따르는데 앞에 자료형을 꼭 명시해줘야 한다.

# C
int var = 10;
float var1 = 3.14;
char strr = 'a'
  • 코드를 작성하는 시간이 느리다.
  • 코드를 실행하는 속도가 빠르다.
  • 코드의 구조를 파악하기 쉽다.
  • 처음 프로그래밍 언어를 학습하는 사람들에겐 어려울 수 있다.
  • 크고 복잡하며 여러 사람들이 함께 참여하는 프로젝트에 적합하다.
  • 정적 타이핑을 사용하는 언어 - C, C++, 자바 등...

Asterisk(*)

가변인자 (*args)

키워드 가변인자 (**kwargs)

🔖 Reference
Compiler, Interpreter 그림
컴파일러와 인터프리터 차이
동적 타이핑과 정적 타이핑

profile
배우고 공부하고 기록하는 것을 멈추지 않는다.

0개의 댓글