Python - Number

python 숫자형 (Number)

정수형

정수형(Integer)이란 말 그대로 정수를 뜻하는 자료형을 말한다. 다음 예는 양의 정수와 음의 정수, 숫자 0을 변수 a에 대입하는 예이다.

>>> a = 123
>>> a = -178
>>> a = 0

실수형

파이썬에서 실수형(Floating-point)은 소수점이 포함된 숫자를 말한다. 다음 예는 실수를 변수 a에 대입하는 예이다.

>>> a = 1.2
>>> a = -3.45

우리가 일반적으로 볼 수 있는 실수형의 소수점 표현 방식이다.

>>> a = 4.24E10
>>> a = 4.24e-10

여기서 4.24E10은 4.24∗10104.24∗1010, 4.24e-10은 4.24∗10−104.24∗10−10을 의미한다.

8진수와 16진수

8진수(Octal)를 만들기 위해서는 숫자가 0o 또는 0O(숫자 0 + 알파벳 소문자 o 또는 대문자 O)로 시작하면 된다.

>>> a = 0o177

16진수(Hexadecimal)를 만들기 위해서는 0x로 시작하면 된다.

>>> a = 0x8ff
>>> b = 0xABC

8진수나 16진수는 파이썬에서 잘 사용하지 않는 형태의 숫자 자료형이니 간단히 눈으로 익히고 넘어가자.

변수

파이썬은 모든 (정수, 문자열, 함수)이 객체 (object)로 이루어져 있다. 객체는 데이터의 형태를 결정해주는 타입으로, 파이썬에서는 객체의 타입을 바꿀 수 없다.

변수를 선언하면 -> 객체의 메모리 주소를 가리킨다.

일반적으로, 프로그래밍 언어에서 같다(Equal)의 의미는 =이 아닌 ==이 담당한다.

변수는 단지 이름일 뿐이며, 그 자체가 어떤 값을 갖는것이 아니다.

  var1 = 100
  var2 = var1
  var3 = var1
  var4 = var1

어떠한 변수가 참조하고 있는 객체가 메모리 상에서 가지고 있는 고유 주소를 출력하는 (id) 내장함수를 사용한다.

  id(var1) 4520513888
  id(var2) 4520513888
  id(var3) 4520513888
  id(var4) 4520513888

모든 변수들이 같은 객체를 가리킨다.

var1 = 101
id(var1)
4520513920

변수의 타입 확인

내장함수type사용

 type('안녕하세요')
 <class 'str'>

문자열은 str(문자열)형임을 나타낸다.

위의 출력에서, 클래스(class)는 객체의 타임(정의)를 나타낸다. classtype은 거의 같은 의미로 사용된다.

변수의 이름 제한

사용 가능한 문자

  • 소문자
  • 대문자
  • 숫자
  • 언더스토어(_)

이름은 숫자로 시작할 수 없으며, 언더스코어로 시작하는 변수명은 특별한 처리방법을 따르므로 일반적으로 사용하지 않는다.

예약어

아래 예약어는 파이썬 구문을 정의하는데 사용되기 때문에 변수로 사용할 수 없다.

False, class, finally, is, return, None, continue, for, lambda, try, True, def, from, nonlocal, while, and, del, global, not, with, as, elif, if, or, yield, assert, else, import, pass, break, except, in, raise

변수의 입력과 출력

입력은 내장함수 input사용

 var = input()

입력받는 프롬프트를 띄우려고 할 경우, input에 문자열을 인자로 전달해 준다.

 var = input ('숫자를 입력해주세요 : ')

출력은 내장함수 print 사용

내장 데이터 타입 (숫자)

수학 연산자

연산자 설명 결과
+ 더하기 32 + 7 39
- 빼기 82 - 2 80
* 곱하기 3 * 7 21
/ 나누기 7 / 2 3.5
// 정수나누기 7 // 2 3
% 나머지 7 % 3 1
** 지수 2**10 1024

산술 연산자 결합

a에 100을 할당하고, 3을 뺀 결과를 다시 a에 할당한다.

 a = 100
 result = a - 3
 a = result
 print(a)
 97

위 코드는 아래와 같이 줄여서 사용 가능

a = 100
a = a -3
print(a)
97

산술 연산자 결합으로

a = 100
a -= -3
print(a)
97

x의 y제곱을 나타내는 ** 연산자

>>> a = 3
>>> b = 4
>>> a ** b
81

우선순위

 10 + 5 * 4

우선 순위 규칙이 적용 되지만, 가독석에 문제가 있을 경우 괄호호 묶어준다.

 20 + (300 + 25 * 4)

진수(base)

기본적으로 숫자형 데이터는 10진수로 간주되지만, 파이썬에서는 2진수, 8진수, 16진수 표현 가능

  • 2진수(binary): 0b또는 0B로 시작
  • 8진수(octal): 0o또는 0O로 시작
  • 16진수(hex): 0x또는 0X로 시작

형변환

내장함수 int, float를 사용

int("35")
35