Python

[Python] 파이썬 프로그래밍 특징 및 소개 | 코딩 | 프로그래밍 언어 | 자동화 | 개발 언어

언에듀걸 2023. 10. 26. 19:36
반응형

소프트웨어를 개발하거나 업무 자동화를 좋아하시는 분들은 파이썬 언어에 관심을 가지실겁니다.

삼성전자의 경우는 대졸 공채 시험에 파이썬을 도입하기도 하였습니다.

 

파이썬이 요즘처럼 대중화 되기 위해서는 몇가지 특징을 갖고 있었기 때문입니다.

 

Python 개발자인 귀도 반 로섬(Guido van Rossum)은 다음과 같이 말했습니다.

 

Simple is better than Complex,

Explicit is better than Implicit,

Readability counts

Life is too short, You need Python

 

단순한 것이 복잡한 것보다 낫다.

명확함이 함축성보다 낫다.

코드 가독성이 필요하다.

인생은 너무 짧아서, 파이썬이 필요하다.

 

이러한 파이썬 언어는 우리에게 익숙한 개발 언어가 되었습니다.

 

파이썬 탄생 배경

귀도 반 로섬(Guido van Rossum)이 1991년 2월 alt, sources를 통해 릴리즈한 파이썬은 1994년 1월에 Python 1.0 버전으로 정식 배포되었습니다.

2001년 12월엔 Python 2.0 버전이 배포되었으며 2008년 10월 Python 3.0 버전이 배포되었습니다.

현재도 지속적으로 업데이트가 되고 있는 언어입니다.

 

아래 링크에서 파이썬 최신 버전을 확인하실 수 있습니다.

https://www.python.org/downloads/

 

Download Python

The official home of the Python Programming Language

www.python.org

1990년 귀도 반 로섬이 일하던 당시엔 C, C++, Fortran, COBOL, 어셈블리 언어가 메이저 언어였습니다.

이러한 언어들은 배우기 어려워 많은 노력이 필요하였습니다.

 

귀도 반 로섬은 1989년 12월 크리스마스 휴가 중 "재미있게 할 수 있는 것"에 대해 고민했고,

'인터프리터'를 만들어 보기로 하였습니다.

'인터프리터'란 프로그래밍 언어의 소스 코드를 바로 실행하는 컴퓨터 환경을 의미합니다.

 

당시 유행하던 'ABC'라는 교육용 언어를 기반으로 Python을 개발하게 되었습니다.

 

 

파이썬 버전

 

파이썬은 위의 링크에 방문하면 다운이 가능합니다.

많은 분들은 Python 2.x 버전과 Python 3.x 버전 중 어떤 버전을 다운받아야 하는지 고민하실 것 같습니다.

초심자나 새로운 프로젝트를 진행하시는 분들이라면 Python 3.x 버전을 추천해드립니다.

3.x 버전은 상대적으로 성능이 좋고 2.x 버전과 호환성이 좋지 않기 때문입니다.

 

파이썬 2.x 버전을 다운받았는데 3.x 버전으로 변경하고 싶으신 분들은 아래를 참고하시기 바랍니다.

 

파이썬의 함수 호출 방식

 

함수란 사정에 정해진 기능을 수행하는 코드 블럭을 의미합니다.

함수가 여러개 모이면 하나의 모듈이 되며 모듈이 모이면 패키지가 됩니다.

 

파이썬의 함수를 잘 이용하기 위해서는 함수의 선언과 정의에 대한 명확한 이해가 필요합니다.

 

함수 선언이란 컴파일러 또는 인터프리터가 인식할 수 있는 함수 시그니처(함수 리턴 타입 + 함수 이름 + 매개변수)

를 알려주는 과정입니다.

 

함수 정의란 실제 정해진 기능을 구현한 부분을 말합니다.

 

이 때 인자와 매개변수의 차이도 확실하게 구별이 가능해야 하는데,

인자(argument)란 함수를 호출할 때 전달되는 값 자체를 의미하며

매개변수(Parameter)이란 호출된 함수에서 전달되는 값(인자)를 담는 변수를 의미합니다.

 

파이썬에서 함수를 정의할 땐 def 키워드를 사용합니다.

함수(파라미터) 끝에는 반드시 콜론(:)을 사용합니다.

 

함수 정의 및  호출 예제)

#함수 정의
def sum(a,b):
	c = a + b
    return c
    
#함수 호출
x = sum(10,20)
print(x)

 

C/C++이나 Java와 같은 컴파일러 언어는 함수 정의부와 선언부가 분리되어 있지만 파이썬과 같은 인터프리터 언어는

분리되어 있지 않습니다.

 

컴파일러 언어는 모든 코드를 한번에 해석하여 실행파일을 만든 후 실행하지만 인터프리터 언어는 작성된 코드를 한 줄 씩 읽으며 해석과 실행을 반복하기 떄문입니다.

 

 

파이썬의 함수 호출 방식은 Call by assignment 입니다.

Call by assignment는 Call by value(값에 의한 호출) + Call by reference(참조에 의한 호출)

즉, 할당에 의한 호출입니다.

함수 호출 시 전달되는 객체의 타입이 할당되는 순간에 호출 방식이 결정됩니다.

이는 파이썬 언어가 런타임 언어, 즉 인터프리터 언어이기 때문입니다.

 

파이썬 객체의 타입은 두가지로 나눠 볼 수 있습니다.

Mutable 객체와 Immutable 객체입니다.

Mutable 객체는 객체 생성 후, 객체의 값 수정이 가능하며,

Immutable 객체는 객체 생성 후 객체의 값 수정이 불가합니다.

 

 

이상으로 파이썬 언어의 역사와 언어적 특징에 대해 설명드렸습니다.

 

반응형