immutable
immutable은 값이 변경 안되는 요소를 얘기한다. 즉, 이뮤테이블은 상수다.
예를 들면 int, str, float, bool, tuple 이런 변수들을 말한다.
def f1(num, name):
print('f1에서 변경 전')
print('num:', num)
print('name:', name)
num = 123
name = 'asf'
print('f1에서 변경후')
print('num:', num)
print('name:', name)
def main():
num = 10
name = 'aaa'
print('main에서 변경 전')
print('num:', num)
print('name:', name)
f1(num, name)
print('main에서 변경후')
print('num:', num)
print('name:', name)
main()
out)
출력을 봤을 때, f1에서는 변수 값이 변화됐지만 메인에서는 변화되지 않았다.
이뮤테이블들은 변화가 불가능한 값이기 때문!
mutable
뮤테이블은 이뮤테이블의 반대이다. 변경되는 값들을 얘기한다. 대표적으로 리스트, 셋, 딕셔너리 등
def f1(arr):
print('f1안에서 변경전:',arr)
arr[0]=100
print('f1안에서 변경후:',arr)
def main():
x = [1,2,3,4,5]
print('main안에서 변경전:',x)
f1(x)
print('main안에서 변경후:',x)
main()
out)
출력에서 보다시비 함수 f1 안에서도 튜플 0번이 바뀌었고 메인에서도 바뀌었다.
이뮤테이블과 뮤테이블의 차이는 변수를 튜플로 인식하냐는 것에서 큰 차이가 있다.
'파이썬이 제일 쉽다면서요' 카테고리의 다른 글
python #연습문제. Email등록과 찾기 (0) | 2021.06.07 |
---|---|
python #인자 (0) | 2021.06.07 |
python #연습문제. 다마고치게임 (0) | 2021.06.07 |
python #함수(4) 지역변수, 전역변수 (0) | 2021.06.04 |
python #함수(3) (0) | 2021.06.04 |