여태까지 써본적 없는 언어의 단점은 라이브러리를 잘 모른다는 것에 있는 것같다.

C++ 나 자바를 썼을 때와 다른 방식으로 코드를 짜야하는 것과 별개로 함수부터 다른 것이 낯설게 느껴지면서 오히려 다르니까 재밌기도 하다.

copy 방법 중에 얇은 복사라 불리는 shallow copy 그리고 깊은 복사라 불리는 Deep copy를 비교해보려한다.

shallow copy는 같은 주소를 사용하는 방식이다.

그러므로 다음과 같이 a = b (얕은 복사) 를 할 경우 a 를 변경하면 b 도 같이 변경되게 된다.


>>> import copy
>>> a = [1,2,3]
>>> b = a
>>> print (b)
[1, 2, 3]
>>> print (a)
[1, 2, 3]
>>> a.append(5)
>>> print (a)
[1, 2, 3, 5]
>>> print (b)
[1, 2, 3, 5]
>>> a[0] = 4
>>> print (a)
[4, 2, 3, 5]
>>> print (b)
[4, 2, 3, 5]

반면 deep copy 깊은 복사의 경우는 완전히 새로운 공간에 값을 만드는 것이다.


>>> c = copy.deepcopy(a)
>>> print (c)
[4, 2, 3, 5]
>>> c.append(10)
>>> print (c)
[4, 2, 3, 5, 10]
>>> print (a)
[4, 2, 3, 5]

'개발자로 살아남기 > Django' 카테고리의 다른 글

day 0. Python 이해하기  (0) 2019.08.28

내가 너무 주식에 몰두해서 개발에 대한 공부를 전혀 못하고 있다는 생각이 들었다.

 

python에 대해서 아무것도 모르고 시작했으니 당연한 말이기도하다.

(대학교때 잠깐 데이터 마이닝 프로세싱 정도한게 전부..)

 

그래서 python을 이해하고 기초부터 공부하는 것이 목표이다. 그러면 더 잘 다룰 수 있고 더 좋은 주식투자를 할 수 있지않을까? 

 

예전에 공부할때는 책을 보면서 따라하는 방식으로 했으나, 이제는 시간이 그렇게 많지 않기때문에 크게크게 접근해보려고한다.

 

 

파이썬의 특징은 다음과 같다고한다.

 

1. Easy to Use

2. Expressive Language

3. Interpredted Language

4. Cross-Platform Language

5. Free and Open source

6. Object Oriented Language

7. Extensible

8. Large Standard Library

9. GUI programming

10. Integreted

 

굉장히 많은 특징들이 있지만 

2. Expressive Language

3. Interpredted Language

6. Object Oriented Language

 

이러한 특징들이 대해서 조금 깊게 살펴볼 생각이다. 

다른 특징들도 많기 때문에 그외의 단점으로는 C 보다 느리다는 점 뿐 아니라 GO 보다도 느리다는 점이 있다. 

 

하나씩하나씩 하다보면 배움의 재미가 있지않을까? 생각된다. 

(이직을 대비해서 자바를 다시 공부할걸 그랬나.. 하는 생각도 드네...) 

 

우연히 알게된 이것을 통해서 한번 해볼까한다.

 

https://tutorial.djangogirls.org/ko/

 

들어가며 · Django Girls Tutorial

이 튜토리얼은 열정적인 장고걸스 코치들과 자원봉사자들의 수고로 번역되었습니다. 장고걸스 튜토리얼에 오신 여러분들을 환경합니다! 이 곳에서 만나게 되어 기뻐요 :) 여러분을 웹 테크놀로지의 여정으로 초대하여 함께 조금씩 맛보면서 웹이 어떻게 작동하는지 알 수 있도록 도와드릴 거에요. 아직 발견하지 못한 것을 알아가야하는 꽤 도전적인 모험이 될 것이지만, 지금 이 튜토리얼을 보는 여러분들은 용기를 가지고 있기 때문에, 끝까지 잘 해낼 거라 믿어요. :) 점점

tutorial.djangogirls.org

 

'개발자로 살아남기 > Django' 카테고리의 다른 글

01. "Shallow copy" vs "Deep copy"  (0) 2019.09.07

+ Recent posts