본문 바로가기
FastCampus/한 번에 끝내는 파이썬 웹 개발 초격차 패키지 Online.

한 번에 끝내는 파이썬 웹 개발 초격차 패키지 42일차

by Dream_World 2021. 10. 17.

파이썬 심화 문법

심화 문법 파트 마지막 부분 강의를 듣고자 한다. 강의 리스트가 나열되어 있다보니 어떻게 진행되어 가는지 볼 수 있어서 글 작성하는데 도움이 되는 것 같다. 좀 의아한 부분이 있다는 거 이론적 강의 마지막 부분이지만 다음 클립에는 문자열 실습이 들어있다는게 좀 당황 스럽다. 문자열 리스트 이전 강의에서 다룬건데 지금 나온다는게 맞는지 당황스럽기 할 뿐이다. 받아들이고 안 들이고 차이는 나의 자유이지만 내가 공부하고자 하는 방향의 순서가 틀어지면 마음도 같이 뒤틀리는 느낌이 들어서 이런 마음을 표현하게 되는 것 같다. 각 잡힌거 좋아하는 나로써는 하나가 어긋나면 내 기억에서도 같이 빠져버리고 군대 방식을 좋아했던 나로써는 순서 절차적 즉, C언어 같은 유형을 좋아하기는 한다. 어려워서 그렇지 객체 지향보다 나쁘지 않은 언어인것은 분명한 것 같다. 그럼에도 Python을 왜 선택했는가 내가 30일 챌린지 마치면서 후기글에 장문으로 이유를 작성하기는 했다. 시작을 했기에 끝을 내보고 싶었고 구지 다 이해 못하더라도 웹페이지 하나 정도는 만들고 싶은 욕구가 강하기 때문이라는 점이다.

 


자료형 심화

할당과 복사

파이썬에서는 데이터도 객체이다.

- 변수에 데이터가 저장된다 (거짓)

- 변수가 데이터를 가리킨다 (진실)

파이썬에서는 혼동할 수 있다는 부분 Check
변수 = 데이터

메모리 안에 객체가 있으면 변수가 객체를 가리킨다

 

리스트(딕셔너리)할당과 복사의 차이점

- 리스트 할당 방식

# 리스트 할당 방식

x = [1, 2, 3, 4, 5]
y = x
y[2] = 0
print(x)
print(y)
print(id(x)) # 메모리 주소 값 : id()
print(id(y))

리스트 할당

- 리스트 복사 방식

# 리스트 복사 방식

x = [1, 2, 3, 4, 5]
y = x.copy()
y[2] = 0
print(x)
print(y)
print(id(x))
print(id(y))

리스트 복사

- 다차원 리스트 복사 방식

# 다차원 리스트 복사 방식

x = [[1, 2], [3, 4, 5]]
import copy # deepcopy를 사용하기 위한 모듈
y = copy.deepcopy(x)
y[1][0] = 1
print(x)
print(y)
print(id(x))
print(id(y))

다차원 리스트 복사

다차원 리스트에서는 그냥 copy를 사용할 수가 없다.

- 다차원 리스트 복사 방식(모듈 없이)

# 다차원 리스트 복사 방식 (모듈 없이)

x = [[1, 2], [3, 4, 5]]
y = x.copy()
y[1][0] = 1
print(x)
print(y)
print(id(x))
print(id(y))

다차원 리스트 복사(모듈 x)

모듈 없이 테스트 결과, 메모리는 변경되는 것을 확인

 

오늘은 할당과 복사에 대한 강의를 학습하는 시간을 가졌다. 처음에 볼 때 모 대단한거 나올까 기대 없이 강의를 시청했는데 놀라운 변화를 볼 수 있었다. 할당을 할 경우 변수랑 데이터 값이 변경되지 않는다는 것을 보았고 복사를 진행하면서 copy 명령어를 사용해 보면서 변경되는 것을 보고 신기해 하였다. 다차원 리스트를 잘 사용은 안하지만 deepcopy를 사용하지 않는다면 아무리 변경해도 변경되지 않는 점도 테스트를 통해 확인해 볼 수 있었다. 오늘 강의는 유익한 시간이 되었던 것 같다.

42일차는 여기서 마무리 하고자 합니다.



패스트캠퍼스 링크 : https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

댓글