본문 바로가기

파이썬

파이썬 숫자 자료형 이해하기 1

반응형

파이썬 공부하기

이번 파이썬 포스팅에서 자료형에 대해서 알아보겠습니다. 자료형이란 프로그래밍할 때 쓰는 숫자, 문자열 등 자료 형태로 사용하는 모든 것을 말합니다. 프로그램의 기본이 바로 자료형입니다. 어떤 자료형을, 어떻게 사용하는지를 아는 것이 파이썬 프로그래밍의 기본 중의 기본입니다.

 

따라서 자료형에 관한 충분한 이해 없이 프로그래밍하려는 것은 기초 공사 없이 집을 짓는 것과 같습니다. 파이썬에서 사용할 수 있는 다양한 자료형 중에 먼저 숫자 자료형을 배워보겠습니다.

파이썬 숫자 자료형

 

[이전 포스팅] 파이썬 변수와 이름공간

 

파이썬강좌 변수와 이름공간

파이썬강좌 포스팅을 시작합니다 이번 파이썬강좌 포스팅에서는 파이썬의 특징을 잘 나타내는 변수를 배워보겠습니다 파이썬 다른 언어와 달리 그 값 자체를 저장하는 하는 것이 아니라 그 값이 저장된 주소를 저..

www.itple.co.kr

 

파이썬 숫자 자료형(Data type) 알아보기

자료형이란 프로그래밍할 때 쓰는 숫자, 문자열 등 자료 형태로 사용하는 모든 것을 말합니다. 프로그램의 기본이 바로 자료형입니다. 어떤 자료형을, 어떻게 사용하는지를 아는 것이 프로그래밍의 기본 중의 기본입니다. 따라서 자료형에 관한 충분한 이해 없이 프로그래밍하려는 것은 기초 공사 없이집을 짓는 것과 같습니다.


파이썬에서 사용할 수 있는 다양한 자료형 중에 먼저 숫자 자료형을 배워보겠습니다. 정수는 -1, 0, 1, 2와 같이 0과 양수, 음수로 된 수를 말합니다. 파이썬은 정수를 하나의 클래스로, 정수에 포함되는 0, 양수와 음수를 객체로 생각합니다. 파이썬은 객체가 사용할 수 있는 다양한 값(속성)과 기능(메소드)을 가지고 있습니다.

 

파이썬은 객체를 만들 때 클래스를 실행하지 않아도 클래스에 객체를 만드는 방식을 리터럴 표기법으로 제공합니다. 정수도 클래스이지만 객체를 만들 때 대부분 리터럴 표기법으로 객체를 만듭니다. ‘변수이름 = 클래스 이름()’처럼 클래스를 쓰지 않아도 정수 객체를 만들 수 있습니다.

 

정수로 객체 알아보기

100을 입력하고 단축키로 실행하면 정수 객체가 만들어집니다. 이 방법이 리터럴 표기법입니다. 리터럴 표기법으로 객체를 만들면 메모리 주솟값(레퍼런스)을 보여주는 것이 아니라 실제 정숫값 100을 출력합니다.

 

객체가 어떤 클래스로 만들어졌는지 확인하는 방법이 있습니다. 객체를 괄호로 묶고 점(.)을 쓴 후에 __class__를 입력합니다. 점(.)은 객체 접근 연산자로 쓰는 겁니다. 아래 그림을 보면 출력 결과가 int라고 표시됩니다. 정수는 영어로 integer라고 합니다. 이 객체는 정수 클래스로 만들어졌다는 것을 알 수 있습니다.

 

정수 객체를 만들 때 리터럴 표기법을 써서 만드는 것을 알았습니다. isinstance 함수로 정수 클래스로 만들어졌는지 확인해볼까요?

 

실수로 객체 알아보기

1.2, 2.9와 같이 소수점을 사용하는 수를 실수라고 합니다. 실수도 정수처럼 리터럴 표기법으로 실수 객체를 만들 수 있습니다. 실수는 소수점을 가진 숫자이므로 소수점을 써서 리터럴 표기법으로 나타냅니다. 정수의 클래스를 확인하는 방법과 같이 괄호에 실수를 넣고 점을 쓴 후에 __class__를 입력하고 실행하면 ‘float’를 출력합니다. 파이썬에서 실수 클래스 이름은 float라는 것을 알 수 있습니다.

파이썬 __class__

 

실수 클래스가 float라는 것을 확인했습니다. 리터럴 표기법으로 만든 실수들이 실제 객체인지 isinstance 함수를 통해 확인하면 모두 float 클래스로 만든 객체라는 것을 확인할 수 있습니다. 그러면 0은 실수 객체일까요? 0이 실수(float) 클래스가 만들었는지 isinstance로 확인해보면 거짓으로 나옵니다.

 

우리가 보기엔 0은 정수도 되고 실수도 되기 때문에 참이 될 것 같지만, 파이썬은 정수와 실수를 각각 다른 클래스에서 관리한다는 것을 기억하세요.

파이썬 isintance

하지만, ‘0.0’처럼 소수점을 붙여 확인해보면 참이 됩니다.

 

변수에 숫자 자료형 할당하기

자바는 –1, 0, 1과 같은 정수를 저장하는 변수를 사용하려면 변수이름에 int를 붙여야 합니다. 파이썬은 변수를 정의할 때 다른 프로그래밍 언어처럼 변수 앞에 키워드를 붙이지 않습니다. 왜 그럴까요? 파이썬에서 만든 것은 모두 객체이고, 어떤 객체도 변수에 할당할 수 있기 때문입니다.

 

같은 변수 이름에 다양한 클래스로 만든 객체를 할당할 수 있다는 말입니다. 변수를 정의하고 객체를 할당합니다. 변수에 할당된 객체가 어떤 클래스인지 확인할 수 있습니다. 이것을 타입 체크(type check)라고 합니다.

파이썬 정수 

 

변수 x에 정수 객체 300을 할당하면 변수가 정의된 것입니다. 변수를 정의하면 프로그램에 사용할 수 있습니다. 변수 x에 저장된 것은 정수 객체입니다. 객체는 자기가 만들어질 때의 상태 즉 자기 값의 정보(상태)를 속성(attribute)에 보관합니다.


변수 x도 정수 객체를 저장하므로 정수 객체를 확인할 수 있는 속성에 접근할 수 있습니다. 정수 객체는 정숫값만 상태로 보관하므로 real속성에 값이 들어가 있는지 확인해 봅니다.

 

변수이름. __class__로 코드를 쓰면 어떤 클래스로 만들었는지 알 수 있습니다. '_'를 'class' 앞 뒤로 각각 2개씩 붙입니다.주피터 노트북에서 제공하는 편리한 기능을 이용해도 됩니다. 변수이름만 쓰고 탭(tab) 키를 누르면 객체의 속성과 메소드가 자동으로 보입니다.

 

탭(tab)키로 자동완성 기능 사용하기

 

파이썬 자동완성

 

여기서 밑줄(_) 2개를 쓰고(__) tab을 누릅니다. 파이썬에서 ‘__’ 시작하는 코드는 특별한 코드라고 생각하면 됩니다.

 

여기서 화살표 위-아래 키나 마우스로 __class__를 찾아서 엔터키를 누릅니다.

이런 기능을 ‘자동완성’이라고 합니다. 자동완성 기능을 이용하면 편하게 코딩을 할 수 있어서 여러 가지 코드를 외우지 않아도 됩니다. 변수 y에 실수 객체인 3.3을 저장하고 정수 객체에 있는 real 속성을 변수 y에 표시해 확인하면 숫자에 대한 정보는 다른 클래스이지만 동일한 속성이름으로 만들어서 관리하는 것을 알 수 있습니다.

 

앞에서 만든 두 변수 x와 y를 가지고 덧셈을 해봅시다. 두 변수에 들어있는 객체는 다르지만, 실수가 정수를 포함하므로 계산할 수 있습니다. 실행한 결과는 새로운 변수 z에 할당합니다.

 

변수 z를 넣고 실행하면 두 변수의 값을 더한 결과가 실수로 표시되는 것을 알 수 있습니다. 파이썬는 정수와 실수만 제공하는 것이 아니라 복소수도 제공합니다. 복소수는 실수와 허수로 된 수를 말합니다. 수학에서는 허수로 i를 사용하지만 파이썬은 j를 사용합니다. 복소수도 리터럴 표기법으로 객체로 만들 수 있습니다. 리터럴 표기법으로 만든 객체를 변수 c에 할당하고 변수 c를 이용해서 클래스를 확인해볼까요? __class__를 입력합니다. 그러면 복소수 클래스 이름인 complex가 출력됩니다.

 

복소수는 실수부와 허수부를 따로 관리합니다. 이를 확인하기 위해 변수 c로 real 속성으로 실수부 값을, imag 속성으로 허수부 값을 확인할 수 있습니다. 허수는 영어로 ‘imaginary number’라고 합니다.

파이썬 복소수

 

복소수는 실수를 포함하므로 복소수와 실수를 계산하면 복소수가 됩니다.

 

파이썬 포스팅의 내용을 바탕으로 <반드시 알아야 할 파이썬 입문 A to Z>이라는 책을 정리했습니다. 책으로 구매하여 공부하고 싶은 분들은 아래 링크를 클릭하길 바랍니다.

 

반드시 알아야 할 파이썬 입문 A to Z

 

파이썬 입문 A to Z

파이썬을 파이썬 방식으로 구현하는 것은 문법보다는 개념...

www.kyobobook.co.kr

 

반응형