python 파이쏜, 파이썬

Life is too short, You need Python. 
인생은 짧다, 그래서 파이썬이 필요하다.
python의 엄청나게 빠른 개발 속도를 두고 개발자들 사이에서 유행처럼 퍼진 말이다.


다시말하면 개인용도로는 좋지만 산업용으로 별로. 생산성 Vs 안정성

그냥 한번쓰고마는 test용 프로그램, 시험용으로 쓸때 괜찮은것같다. 

설치 과정또 한 구질구질하다 특히 리눅스에서 

https://wikidocs.net/8

 

장단점 비교대상 C#

장점:

생산성:  구현이 빠르고 쉽다 - 이게 다임 

파이썬이 list사용은 편하게 잘되어있습니다.

indexing이 바로 가능함

물론 편한만큼 단점(reference문제)가 있어서 크고복잡한경우 debugging문제가 좀있긴합니다.

deepcopy로도 3단계 list복사는 안되는것같음 (아래 단점 참조)

iterator관련이 잘 되어있다

OS에 무관: c#에 비해 이식성좋음, linux에 설치가능

대신 배포의 문제가 있다. 윈도건, 리눅스건 배포시 문제

결국, 대부분 윈도 기준이라고 봤을때는 이식성의 문제보다는 배포성 문제가 더 크다고 할수있다

 

단점: 

가독력: 애매함: 좋다고도 할 수 있고 아니라고도 할수있다

취향마다 갈리지만 대체적으로 안좋다고할수있겠다.

for i in range(lenn-1, -1, -1): #파이선의 가독성 안좋음 예

case 문이없다

 

개인용으로는 좋을지 모르겠지만, 상용화에 한계가 있음

관리문제, 디버깅등(tool에서해결봐야할듯) type문제

code관리문제: 인덴트문제 

변수초기화는 있어야할것같고, 클래스의 private member부재는 스파게티코드양산

build시 잡아야할 오류를 놓쳐서 run time시 발생하게하는것은 심각한 상용언어로써의 자질이 부족해보인다.

* typo가 엉뚱한데 날경우 찾기 어려운 경우가 생기고,

* refactoring시 rename할때도 멀쩡한 string text 값을바꿔서(이클립스의 한계일수도) 골때리게 만든다

* list copy가 잘안되는 문제가 있다. 심지어 deep copy를 써도 정안되면 temp list를 만들어서 작업해야하는경우도있고..

* 전역 변수및 변수 scope가 다른언어와 다르게 동작하여 예상하지못하는 경우가 있고 디버깅의 난제

* exe실행화일화 되지못하는것도 상용화의 단점이고...

비슷한 맥락으로 code의 보안성또한 

 

python에서 global

python에선 global이라는게 애매하고 c의 extern처럼 사용한다

global이 잘동작하는 경우도있지만, loop속에 있던지 해서 참조안되는경우도 있다. 파이썬의 한계, 잘 디자인된게 아님 

http://stackoverflow.com/questions/9264763/unboundlocalerror-in-python

openpyxl로 엑셀파일 다루기

해당 lib를 카피해서 복사해두면 편리하고 없을경우는 다음 링크 설명을 통해 직접 받는다.

https://dejavuqa.tistory.com/25

+ Recent posts