<개인공부>/[Python]

[python] 파이썬 type, id 함수 정리 및 예제

BlockDMask 2020. 10. 16. 00:30
반응형

안녕하세요. BlockDMask 입니다.
날이 점점 추워지고 있습니다. 옷을 따듯하게 입고다니셔야 할것 같습니다.
오늘은 파이썬 type 함수와 id 함수에 대해서 알아보겠습니다.

급하신 분들을 위해서 간단히 정리하면 id 함수는 객체의 주소값 반환을 하는 함수이고, type 함수는 매개변수로 들어온 값의 자료형을 반환하는 함수 입니다.
잠깐 잠깐..
그렇다고 바로 나가시진 마시고, 아래 예제나 함수 모양이라도 한번 훑고 가세요.

그럼 시작해보겠습니다.

<목차>
1. 파이썬 type 함수?
2. 파이썬 id 함수?


1. type 함수 정리 및 예제


type(x) 함수?

해당 함수는 매개변수로 들어온 x의 타입을 반환하는 함수 입니다.
파이썬은 확실히 유용하고 잘 사용할 수 있게 하는 함수들이 많네요. 데이터의 타입을 알 수 있게 type 함수를 만들어 준다는게, 편리합니다.

공식 문서를 보면 type(object) 라 선언 되어있습니다. 입력받은 매개변수 객체의 타입을 반환한다는 뜻 입니다.

반환하는 데이터 타입은 문자열 타입으로 알려줍니다.
예를들어 인트 타입의 객체라면 "<class 'int'>" 라는 문자열 형태로 우리 프로그래머가 잘 알아들 수 있도록 표현해 줍니다.

type(x) 예제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 파이썬 type(x) 예제
= type(0x12)  # 16진수
print(f'1. type(0x12) : {a}')
 
= type(222)  # 10진수
print(f'2. type(222) : {b}')
 
= type('BlockDMask')  # 문자열
print(f'3. type(\'BlockDMask\') : {c}')
 
= type(3.14)  # float
print(f'4. type(3.14) : {d}')
 
= type([123])  # list
print(f'5. type([1, 2, 3]) : {e}')
 
= type((1'bc'3))  # tuple
print(f'6. type([1, \'bc\', 3]) : {e}')
 
cs

결과값


2. id 함수 정리 및 예제


id(x) 함수?

if(x) 함수는 인자로 객체를 입력 받고, 입력 받은 그 객체의 고유 주소 값을 반환하는 함수 입니다.

고유 주소라는 것은 객체가 메모리 안에 위치 해 있는 주소를 말하며, 객체의 수명 동안 유일하고 바뀌지 않는 특징이 있습니다. 즉, 객체가 처음 메모리에 올라간 후에는 주소가 바뀌지 않는다는 것을 말합니다.


id(x) 예제

1
2
3
4
5
6
7
8
9
10
11
12
13
# 파이썬 id(x) 예제
 
= 'BlockDMask'
print(f'1. id(a) : {id(a)}')
print(f'2. id(\'BlockDMask\') : {id("BlockDMask")}')
 
= a
print(f'3. id(b) : {id(b)}')
 
= a.lower()   # BlockDMask -> blockdmask 로 소문자로 변경하면?
print(f'4. id(c) : {id(c)}')
print(f'5. id("blockdmask") : {id("blockdmask")}')  # 소문자
 
cs

결과

a : 문자열 타입의 객체 a의 주소갚은 25524328 임을 확인할 수 있습니다.
실제 문자열의 주소를 id('BlockDMask')를 통해서 객체 주소를 검색해 보아도 동일한 주소값이 나옴을 확인할 수 있습니다.

b = a
b 객체에 a를 대입해서 id(b)를 진행하면, b가 동일한 객체를 가리킴을 알 수 있습니다.

c = a.lower()
문자열 a를  lower 함수를 통해서 소문자로 만들고, c의 주소를 검색해보면 a의 주소와 다름을 알 수 있습니다. 이는 lower 함수가 a의 문자열을 소문자 형태로 새롭게 만들어서 반환한 다는 것을 알 수 있습니다.


감사합니다. 이렇게 오늘은 파이썬 type 함수와 id 함수에 대해서 알아 보았습니다.

반응형