'파이썬 자료형'에 해당되는 글 2건

  1. 2012.11.25 변경 가능성 (python에서 정말 중요하다고 생각하는 개념)
  2. 2012.11.25 자료형의 종류

python 자료형의 분류


 자료형

저장 모델 

변경 가능성 

접근 방법 

수치 형 

리터럴(scalar) 

불가 

직접 

문자열 

리터럴 

불가 

시퀀스 

튜플 

저장 

불가

시퀀스 

리스트 

저장 

가능 

시퀀스 

사전 

저장 

가능 

매핑(mapping) 






















자료형들을 구분하는 또 다른 중요한 구분 기준.

- 자료 값을 변경할 수 있는가? 이다.


변경할 수 있는 자료형을 '변경 가능하다(Mutable)' 고 하고, 그렇지 않은 자료형을 '변경 가능하지 않다(Immutable)' 고 한다. 


변경 가능한 자료형 - 리스트, 사전

변경 가능하지 않은 자료형 - 숫자, 문자열, 튜플




ex) >>> a = 1

>>> a = 2

이렇게 있다고 생각한다면...

결론부터 말해서 a는 숫자 2로 변경된 것이 아니다. 

1은 변경되지 않고 다만 a가 다른 객체(2)를 참조할 뿐이다.

※ python 에서는 객체와 이름은 별도로 관리된다. 이름에 직접 값이 저장되는 것이 아니고, 이름은 언제나 객체를 참조(Referencing) 하게 되어 있다.


a    --->    1    # a=1 한 후

a    --->    2    # a=2 한 후 ( 객체 1은 참조되지 않으므로 버려진다.)


결국, 숫자 객체 1은 값이 변경되지 않았다. 이름 a가 다른 객체를 참조한다. 이때 객체 1은 참조되지 않으므로 메모리에서 제거된다. 

즉, 이름에 의해 참조만 바뀌는 것.


ex) >>> L1 = [1,2]

>>> L2 = [3,4]

이것도 마찬가지로 이름에 의해 참조만 바뀌는 것이다. 

그러나 객체 내부의 값을 변경할 때에, 리스트는 값을 변경할 수 있다.


즉, 어떠한 이름으로 객체 전체를 바꾸는 것은 객체 전체를 변경하는 것이 아니며, 새로운 객체를 할당하는 것이다.


객체 변경의 의미는? 객체 내부의 값을 변경할 수 있는가이다.





python의 이름이라는 것이 c/c++의 포인터와 참조자의 개념과 정말 똑같다. 이름(변수)를 포인터 혹은 참조자라고 인식하면 될 것 같다.

Posted by scii
:

자료형의 종류

Programming/Python 2012. 11. 25. 16:16 |

자료형이란, 컴퓨터로 표현할 수 있는 자료의 종류를 의미한다. 

파이썬에서는 여러 가지의 정보를 저장할 수 있는 자료형을 미리 정해 놓고 있는데, 이를 내장 자료형(Built-in Types)이라고 한다.


※ 파이썬은 다른 언어에서 제공하지 못하는 고수준의 편리한 자료형이 준비되어 있다. 파이썬의 자료형은 강력하여 다른 언어에서는 해야 할 많은 번거로운 작업을 줄여 준다.

대부분의 경우 별다른 자료 구조의 설계 없이, 파이썬에서 제공되는 자료형만 가지고 작업을 충분히 할 수 있다.


파이썬의 내장 자료형 중 중요한 몇가지들


1. 수치 형(Numbers)    - 정수, 롱형 정수, 실수, 복소수 등을 표현.


2. 문자열(Strings)    - 문자들의 모임이다. (내용 변경 불가능)


3. 튜플(Tuples)    - 순서를 가지는 파이썬의 임의 객체의 집합. (내용 변경 불가능)


4. 리스트(Lists)    - 순서를 가지는 파이썬의 임의 객체의 집합.


5. 사전(Dictionaries)    - 순서를 가지지 않는 객체의 집합. 키(key)로 값을 꺼낸다.


6. 파일(Files)    - 파일에 자료를 입/출력하기 위한 객체.


Posted by scii
: