본문 바로가기

Programming/Phython

[파이썬] 9. 변수

반응형
>>> a = 1
>>> b = "python"
>>> c = [1,2,3]

변수를 만들 때 자료형을 지정하지 않아도 된다.

왜냐면 파이썬은 스스로 판단하여 자료형을 지정하기 때문이다.

>>> a = [1, 2, 3]

>>> id(a)
4303029896

id 함수는 변수가 가리키고 있는 객체가 가리키는 메모리의 주소 값을 돌려주는 파이썬 내장 함수이다.

 

 

리스트를 복사할 때

>>> a = [1,2,3]
>>> b = a

>>> id(a)
4303029896
>>> id(b)
4303029896

>>> a is b  # a와 b가 가리키는 객체는 동일한가?
True

>>> a[1] = 4

>>> a
[1, 4, 3]
>>> b
[1, 4, 3]

a가 가리키는 대상과 b가 가리키는 대상이 동일해지는 즉 [1, 2, 3] 리스트를 참조하는 변수가 a와 b가 되는 것이다.

 

a의 변수의 값을 가져오지만 다른 주소를 가리키게 하는 법

1. [:] 이용

>>> a = [1, 2, 3]
>>> b = a[:]

>>> a[1] = 4

>>> a
[1, 4, 3]

>>> b
[1, 2, 3]

a 리스트 값을 바꾸더라도 b 리스트에는 영향을 끼치지 않는다. 즉, 다른 주소를 갖는다.

 

2. copy 모듈 이용

>>> from copy import copy
>>> b = copy(a)

>>> b is a
False

 

변수를 만드는 여러 가지 방법

>>> a, b = ('python', 'life')

>>> (a, b) = 'python', 'life'

>>> [a,b] = ['python', 'life']


>>> a = b = 'python'

>>> a = 3
>>> b = 5

>>> a, b = b, a

>>> a
5
>>> b
3

 

a, b= b,a

두 변수의 값을 바꾸는 간단한 방법

반응형

'Programming > Phython' 카테고리의 다른 글

[파이썬] 10. if문  (0) 2021.02.14
[파이썬] 자료형 정리  (0) 2021.02.14
[파이썬] 8. 불  (0) 2021.02.12
[파이썬] 7. 집합  (0) 2021.02.11
[파이썬] 6. 딕셔너리  (0) 2021.02.11