파이썬 기초

문자화된 언어를 다른 언어로 변환하는 것을 번역(Translate)라고 합니다. 반면 언어를 다른 언어로 실시간으로 전달하는 것을 통역(Interpret)이라고 합니다. 비슷하지만 이렇게 차이가 있죠.
번역은 글로된 전체 문장을 번역하는 것이기 때문에 시간이 많이 걸리지만 통역은 실시간으로 말을 듣고 말로 전하기 때문에 실시간으로 빠른 처리가 가능합니다.

컴퓨터에서도 이러한 일들이 비슷하게 일어납니다. 어떤 언어는 번역을 하듯이 전체 프로그램 코드를 일괄적으로 한번에 기계어로 변환하고 어떤 언어는 실시간으로 Line By Line으로 한줄 한줄 실행해나갑니다.

전자의 언어를 Compile 언어라고 하고 Java와 C 언어가 대표적입니다. 반면 파이썬은 한줄 한줄 읽고 바로 실행하기 때문에 Interpret 언어라고 합니다.

인터프리트 언어의 장점은 컴퓨터와 대화하듯이 코딩을 할 수 있다는 장점이 있습니다. 예를 들어서 프로그래머가 “1+2″는 뭐지? 라고 물어보면 컴퓨터는 “3”이라는 결과를 바로 보여주는 식입니다. 이것을 파이썬 코드로 표현하면 어떻게 될까요?

명령어 입력라인에 아래와 같이 입력하면 됩니다. 이전에 java나 C언어를 경험하신 분은 이런 형식의 코드가 얼마나 간결하다는 것을 쉽게 이해할 수 있을 것입니다.

1+2
결과 : 3

이처럼 파이썬 코딩은 굉장히 직관적이고 간단합니다. 또 파이썬은 인터프리트 방식으로 대화식 프로그래밍이 가능합니다. 다음으로는 몇가지 기본적인 산술 연산에 대해서 알아보겠습니다.
참고로 결과라고 쓴 부분은 코드를 실행한 결과가 표시되는 값을 나타낸 것입니다. 실제로 코드를 실행하면 “결과”라는 단어는 나오지 않습니다.

이제부터 파이썬에서 많이 사용하는 중요한 몇가지 기초적인 코드를 설명하고자 합니다. 처음 파이썬을 접하시는 분을 대상으로 최대한 간단하게 그리고 많이 쓰는 것들 위주로 설명하겠습니다. 몇가지 기본적인 코드의 문법만 이해해도 제가 블로그에 작성한 예제 코드를 이해하는데 문제가 없으리라 생각됩니다.

파이썬 사칙연산

2-3
결과 : -1
4*3
결과 : 12
6/4
결과 : 1.5
5**2
결과 : 25

프로그램에서 *는 곱셈, /은 나눗셈, **은 제곱을 의미합니다. 참고로 나눗셈을 표시하는 기호가 /라고 말씀드렸습니다. 그러나 //을 사용하는 경우도 있습니다. 이것은 **과 같이 제곱을 의미하는 것이 아니라 나눈 결과 값에서 소수점 이하를 버린다는 것을 의미합니다. 예를 들어서 6/4의 결과가 1.5로 표시되는데 6//4로 수행하면 결과값은 1로 표시됩니다. 또 가끔 % 연산자를 만나기도 합니다. 해당 연산자는 나눈 값의 나머지를 출력합니다.
6/3 하면 나머지가 0이 됩니다. 그러나 5/3하면 나머지가 2개 생기는데 % 연산자는 이 값을 출력해줍니다.

파이썬 자료형

type(1)
결과 : int
type(3.14)
결과 : float
type('Hello World')
결과 : str

프로그래밍 언어는 각각 자료형(Data Type)이 있습니다. 자료형은 말 그대로 자료(Data)의 형태를 의미합니다. 예를 들어서 위에서 표현한것과 같이 정수형, 실수형, 문자형의 자료 형태가 있고 type()이라는 내장함수로 데이터의 자료형을 알아 볼 수 있습니다.

참고로 내장함수라는 것은 중요하고 자주 사용하는 기능들은 사용자가 별도로 개발하지 않도록 프로그램 언어가 기본적으로 제공하는 함수(function) 입니다. print(), len(), range() 등 많은 내장함수가 있습니다. 이러한 함수들을 중요하고 또 너무나 많이 사용하기 때문에 다른 라이브러리들과는 달리 import 하지 않고 바로 사용할 수 있는 특징이 있습니다.

내장 함수를 모두 외울 필요는 없지만 관심있게 내용을 살펴볼 필요는 있습니다. 아래의 링크에 파이썬 내장함수가 잘 설명된 페이지를 링크합니다.

https://docs.python.org/ko/3/library/functions.html

파이썬 변수

변수(變數)는 Variable이라고 합니다. 말 그대로 변하는 수입니다. 이는 상수(常數)와 반대되는 개념입니다.
변수를 사용하는 가장 큰 이유는 코드의 재활용성과 가독성을 높여 주기 때문입니다. 이는 코드의 복잡성을 낮춰 줄 수 있고 이는 이후의 기능 수정과 변경에 용이한 특징이 있습니다.

a = 10
b = 10
a + b
출력 : 20

여기서 말하는 a, b와 같은 것이 바로 변수입니다. 즉 변할 수 있는 수라는 의미입니다. 변수는 숫자나 문자만 넣을 수 있는 것은 아닙니다. 거의 모든 것을 담을 수 있습니다.

변수는 마치 번지수와 같다고 할 수 있습니다. 예를 들어 10이라는 값은 메모리 영역에 한 부분에 저장됩니다. 그리고 그 주소는 id(a)로 표시해보면 “4521043376’와 같은 숫자 형태의 메모리 주소가 표시됩니다. 그러나 이것은 사람이게 친절한 표기법은 아닙니다. 인간에게는 a,b,c… 혹은 조합된 단어와 같은 인간의 언어코드로 표시하는게 훨씬 이해하기 쉽습니다.

예를 들어서 사각형의 높이를 구하는 공식은 가로×세로 입니다. 이러한 결과 값을 위해서 각 가로와 세로의 값을 곱해줄 수도 있지만 그렇지 않고 변수를 사용해서 변수간의 곱을 할 수도 있습니다. 이렇게 하는 것이 코드를 더 쉽게 이해할 수 있을 것입니다.

# 변수를 사용하지 않음
5 * 5
출력 : 35

# 변수를 사용
width = 5
height = 5
width * height
출력 : 35 

위와 같이 변수를 사용해서 프로그램을 하는 것이 훨씬 이해하기 쉽습니다. 변수 없이 숫자만으로 나열된 코드를 본다는 것은 생각하기도 힘든 일일 것입니다. 보통 변수로 사용되는 것은 알파벳 대소문자와 숫자입니다. 그러나 숫자로 시작하는 변수는 사용할 수 없습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다