[Python] 가변객체와 불변객체, 자료형

Inah-_-·2021년 1월 26일
0

Python

목록 보기
1/21
post-thumbnail



🙋‍♀️Mission🙆‍♂️

✅ 파이썬에서 가변객체와 불변객체는 무엇이며, 어떠한 자료형이 있는지 공부한다.

  • BTS혹은 레드벨벳의 멤버정보를 딕셔너리로 구현한다.

  • 스트링, 리스트, 딕셔너리를 반복문으로 돌면서 인자를 출력하는 함수를 작성한다.

  • for in 반복문을 작성해보고, break, continue의 쓰임새를 알아본다.

  • if와 else를 이용해 조건문을 작성한다.

  • list method 중 append, pop, sort 을 활용한 함수를 작성한다.



# 객체

Python의 모든 데이터 타입은 객체(object)로,
객체에는 가변(mutable)객체와 불변(immutable)객체가 있다.

객체에는 3가지 특성인 값(Value), 유형(Type), 정체성(Identity)이 있다.

  • 값(Value): 가변 객체는 값이 변할 수 있지만 불변 객체는 변하지 않는다.

  • 유형(Type): type() 함수를 통해 객체의 유형을 알 수 있으며, 데이터의 타입을 나타낸다.

  • 정체성(Identity): id() 함수를 통해 알 수 있으며, 각각의 객체를 식별하기 위한 고유번호이다.


    대부분의 경우에서 불변 객체 타입이 가변 객체 타입보다 효율적이다.


📋 가변(mutable)객체

객체 생성 이후 값을 변경할 수 있는 object를 의미한다.
객체의 종류에는 list, set, dict가 있다.

a = [2, 4, 6]

>>> a
[2, 4, 6]

a[0] = 8 #가변객체인 list를 사용하여 값을 변경한다. a[list] 안의 0번째 값을 8로 수정한다는 뜻, 0번째인 이유는 카운트가 0부터 시작하기 때문이다.

>>> a
[8, 4, 6]


💬 불변(immutable)객체

객체 생성 이후 값을 변경할 수 없는 object를 의미한다.
객체의 종류에는 int, float, bool, tuple, string, unicode가 있다.

>>> my_str = 'Hello, World!'
'Hello, World!

>>> my_str[2] = '1' # my_str의 2번째 값을 '1'로 수정한다
TypeError: 'str' object does not support item assignment

#오류 발생
#오류가 발생한 이유는 문자열(String)이 불변이기 때문이다.




# 자료형(Python data type)

프로그래밍에 사용되는 숫자, 문자열 등 자료형태의 모든 것,
Python의 자료형은 정수, 실수, 문자, 논리형 등의 기본 자료형 형태를 처리한다.



1. 숫자형(Numeric)

숫자로 이루어진 자료형으로, 정수형과 실수형으로 나뉜다.

  • 정수형(Integer Type) : 양 또는 음의 정수 1, 100, -1, -100
data_int = 100  #정수형 선언

  • 실수형(Float Type) : 소수점이 포함된 실수 1.5, -1.5
data_flo = 1.5  #실수형 선언

2. 문자형(String)

문자열, ' ' 또는 " "로 문자열을 표시할 수 있다. 문자열 내에 ', "를 포함해야 할 때엔
작은 따옴표와 큰 따옴표를 바꿔서 작성한다.

a = ""  #문자를 작성하지 않아도 문자열로 표시된다.

b = 'Hello, World!'  #Hello, World!

c = "'Can I go where you go?'"  #'Can I go where you go?'

3. 논리형(Boolean)

참 or 거짓 단독으로는 거의 사용을 안하며, if문, while문 등 조건문에 사용한다.

a = True
b = False

>>> 1 == 1
True

>>> 2 < 1
False









profile
Backend Developer

0개의 댓글