program/python

[python] aliasing

momoa210 2024. 1. 28. 15:35

alias는 '가명'이라는 뜻을 가지고 있는데 이는 쉽게 말해 파이썬에서 
 
변수 = 객체 일때,
 
객체에 변수라는 가명을 정해준다고 생각하시면 됩니다.
 
이렇게 객체와 변수의 연관짓는 것을 참조(reference)


하나 이상의 참조를 가진 객체는 한 개 이상의 이름을 갖게 되어서 
객체가 에일리어스(aliased)되었다고 합니다. 
만약 에일리어스된 객체가 변경 가능하면, 변화의 여파는 다른 객체에도 영향을 끼치기 때문입니다.
x = [2, 3, 4, 1, 10, 2]
y = x
y[2] = 15


print(x)
print(y)


[2, 3, 15, 1, 10, 2]
[2, 3, 15, 1, 10, 2]


x의 리스트 값은 우리의 예상과 다르게 y와  동일하게 나옵니다.
 
이는 x가 객체를 참조하고 y 가 x를 참조하면서, 두 변수는 동일한 객체를 참조합니다.
 
그래서 파이썬에서는 리스트를 넘길때는 list()를 이용합니다.



x = [2, 3, 4, 1, 10, 2]
y = list(x)
y[2] = 15


print(x)
print(y)
[2, 3, 4, 1, 10, 2]
[2, 3, 15, 1, 10, 2]

'program > python' 카테고리의 다른 글

[python] strip  (0) 2024.01.28
[python] 리스트와 문자열  (0) 2024.01.28
[python] 사전 dictionary  (0) 2024.01.28
[python] for문 Range  (0) 2024.01.28
[Python]소수점,올림,반올림  (0) 2024.01.28