Python 자료형(변수)

Nicholas·2022년 4월 12일
0

Python

목록 보기
7/31
post-thumbnail

1. 변수

변수는 자료를 저장해두는 공간을 의미한다

a = 1
b = 'python'
c = [1, 2, 3]

print(id(a))

>>> a의 메모리주소값

print(id(b))

>>> b의 메모리주소값

print(id(c))

>>> c의 메모리주소값

여기서 변수는 a, b, c 이며 a는 1이라는 객체를 가지고있는 변수, b는 python 이라는 문자열 객체를 가지고있는 변수, c는 1,2,3 이라는 리스트 객체를 가지고있는 변수를 말한다
변수는 각각의 메모리의 주소를 할당받게 된다.
id 를 이용하여 메모리의 주소값을 출력할 수 있다.

2. 변수 이름 법칙

  • 변수 이름은 영어 알파벳과 숫자 그리고 underscore(_) 으로만 구성해야한다.
  • 변수 이름 첫글자는 알파벳이나 underscore(_)로만 만든다.
  • 숫자로 시작될 수 없다.
  • 영어 알파벳은 대문자와 소문자가 구분 된다.

    올바른 변수 이름 : name, _name, my_name, myName
    잘못된 변수 이름: 7name, my name

3. 변수의 복사 개념

a = [1, 2, 3]
b = a
print(id(a))

>>> a의 메모리주소값(b의 메모리주소값과 동일)

print(id(b))

>>> b의 메모리주소값(a의 메모리주소값과 동일)

print(a is b)

>>> True

위에 처럼 = 으로 b에 a를 객체로하는 변수를 준다고해서 객체가 복사되는것이 아닌 메모리의 주소값만 복사된다.
결국 같은 객체를 바라보는 상황, id 를 활용하여 동일한 주소인지 확인가능 하다.
is 를 활용하여 참이면 동일, 거짓이면 다른것임을 확인할수 있다.

a = [1, 2, 3]
b = a
a[1] = 4
print(a)

>>> [1, 4, 3]

print(b)

>>> [1, 4, 3]

a 의 객체만 바꼈다고 생각 할 수 있으나 메모리주소값만 복사되어 a와b는 동일한 주소를 가리키는 변수가된다
따라서 b는 a의 객체의 변화를 그대로 출력한다

4. 변수의 객체를 복사하는 방법

1. 리스트의 슬라이싱을 활용

슬라이싱을 이용하여 a 의 객체 전체의 요소를 복사하여 b에 넣고 그뒤에 a에 1번 리스트를 4로 교체한것이니 b로 복사된 a의 객체는 변화하지않는다.

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

print(a)
print(b)

>>> [1, 4, 3]
    [1, 2, 3]

2. copy(모듈)를 활용하여 복사

copy를 활용하여 객체들을 전부 복사하여 b에 다시넣고 그뒤에 a의 1번 리스트를 교체한 것이므로 a 와 b는 다른변수가 된다.

a = [1, 2, 3]
b = copy(a)
a[1] = 4
print(a)

>>> [1, 4, 3]

print(b)

>>> [1, 2, 3]

5. 기타 변수를 만드는방법

1. 각각의 변수와 객체를 작성해준다

2. 튜플, 리스트를 활용하여 변수와 객체를 만들어준다

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

>>> python

print(b)

>>> life

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

>>> python

print(b)

>>> life

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

>>> python

print(b)

>>> life

[a, b] = ['life', 'good']
print(a)

>>> life

print(b)

>>> good

[a, b] = 'life1', 'good1'
print(a)

>>> life1

print(b[0])

>>> g

튜플은 괄호를 생략 가능하다.
리스트이기에 인덱싱이 사용가능하며, 객체가 문자열이므로 지정순번의 값을 출력한다.

profile
WEB Developer

0개의 댓글