[python] 파이썬 입문하기
작년 node.js와 react.js를 하고 나서 빈둥빈둥 놀다가
올해 초 이직을 하고 새로운 언어를 공부해 볼까 하며 고민하다가
해봐야 겠다고 생각한 파이썬
파이썬의 장점과 단점에 대해서 여기저기 찾아보았는데
개인적으로 내린 결론은
장점
1. 파이썬은 속도가 빠르다.
처리속도가 빠른건 아니고 개발 진행 속도가 빠르다는 의미로 받아들이면 될 것 같다.
리뷰들을 보면 C+ 보다도 느린 처리속도를 보여준다고 하는데
최적화를 하면 C+보다는 조금 더 빠르다고 한다.,
파이썬을 이용해 개발해본 사람들이 말하는 것을 들어 보면 파이썬을 사용하면 빠르다 라는 것은 간편한 문법으로 개발 속도가
빠르다는 의미로 많이 사용 하는 것 같다.
2. 데이터 처리가 용이하다.
1번의 개발속도가 빠르다는 것과 같이 묶어서 생각하면 될듯
3. 비동기 코딩
단일 스레드 대신 이벤트 루프를 활용해 소수 유닛의 비동기 코딩을 하는데 뛰어나다 라고 하는데
사실 이건 직접 경험해봐야 알듯 하다.
단점
1. 처리 속도가 느리다.
스크립트 언어인 인터프리터 언어이기 때문에 컴파일 언어보다는 처리속도가
느리다는데 사실 초 대용량 데이터 쓰거나 하는거 아니면 이젠 하드웨어 성능이 좋아져서
큰 단점이라고 보기는 애매 할듯 하다.
2. 모바일에 취약하다
데스크탑 환경에 맞는 플랫폼은 존재하지만 모바일 컴퓨팅엔 취약 하다고 한다.
사실 이것도 잘 모르겠음...
결론
뭐든 일단 써보고 경험해봐야 이게 어떤 프로젝트에 좋을지 판단 가능 할 것 같다.
그래서 시작해 보았다
파이썬!
책사서 공부하는건 해본적도 없고 돈도 아깝고 적성에도 안맞으니
구굴선생님에게 물어물어 설치를 해 보았다.
일단 파이썬 프레임워크는 장고 보단 플라스크를 선택 하기로 했다.
이유는 그냥 내 주변에 파이썬 공부해봤던 사람이 플라스크를 썼기 떄문이다.
별거 없다. 내 상황에 공부하기 좋은 환경으로 선택해서 진행 하면 된다.
주변에 장고쓰는 사람 있으면 장고 설치 하면 되는것임.
파이썬 설치 하는 방법
1. 파이썬 설치
1) 파이썬 다운로드 및 설치
https://www.python.org/
위 주소로 가서
다운로드 받는다.
파이썬 3.X.X 와 2.X.X가 있는데
처음에 2.x.x를 받았다가
파이썬 공부해본 지인이 파이썬3로 공부 했다고 해서
파이썬 3버전으로 다시 받았다.
요즘 새로 만드는 프로젝트들은 대부분 파이썬3로 진행 한다고 하기도 하고
일단 파이썬3이랑 파이썬2랑 문법이 조금 다르다
일종의 버전커브가 있는데
인터넷에 자료는 파이썬2가 더 많으니 알아서 취사 선택 하면 됨.
일단 다운받아서 설치 하고 나면
환경변수 설정을 해준다.
2) 환경변수 설정
환경변수 설정하는건 자바 환경변수 설정했던거랑 똑같음
path 에 파이썬 설치 경로를 추가 해주면 되는데.
두가지를 추가 해주어야 한다
파이썬 설치 경로에서
C:\Users\cheesu\AppData\Local\Programs\Python\Python36-32
C:\Users\cheesu\AppData\Local\Programs\Python\Python36-32\Scripts
이렇게 두개를 추가 해준다.
그리고 새로만들기를 하고
PYTHONPATH 라는 변수에
값은 C:\Users\cheesu\AppData\Local\Programs\Python\Python36-32\Lib
파이썬이 설치된 경로에 lib 폴더까지의 경로를 선택해 주면 된다.
환경 변수 설정이 끝났다면
CMD 창을 열어서
python 이라고 쳐보자
위 사진과 같은 결과가 나왔다면 완료 된 것이다.
이제 개발할 준비를 해보자
.
2. pip 설치
cmd 창에다가
easy_install pip
라는 명령어를 입력해 pip를 설치 한다.
3. 플라스크(Flask) 설치
CMD 창에
pip install virtualenv
를 타이핑해서 실행 시키고
c드라이브나 아무 드라이브에
작업할 폴더 만들어 놓고
그 폴더 안에서
virtualenv venv
라는 명령어를 실행 시켜보자
그럼 venv 라는 폴더가 생김
그리고
pip install flask
명령어를 실행 시키면
플라스크가 설치 된다.
이제 플라스크 개발 환경은 끝났는데
좀 제대로 개발 하려면
파이썬 에디터가 필요하다
4. 파이썬 에디터 설치 하기
파이썬 에디터는 여러 종류가 있는데
일단 난 파이참 이라는 걸 선택함
별 이유는 없다
걍 무료고 파이참이라는 이름만 들어도 파이썬에 최적화 되어 있을 것만 같다
https://www.jetbrains.com/pycharm/download/#section=windows
위 주소로 들어가서
오른쪽에 있는
커뮤니티 버전으로 다운받고 설치 하자
설치를 다 하고 나서 실행하면
프로젝트를 새로 생성할건지
기존에 있는 경로를 쓸건지 물어보는데
아까 위에 venv 설정 해놓은걸 뒤로 하고
걍 새로 만들어보자
그럼 파이참이 알아서 여러 가지 폴더들과 라이브러리들을 생성해준다
처음 생성하고 나면
위에 있는 폴더리스트에서 app 폴더만 뺴고 나머지가 기본으로 생성이 되어 있는 사앹가 된다.
5. 파이썬으로 웹서버 구동시키기
venv 폴더 아래에 app 라는 이름의 폴더를 하나 만들어주고
그 폴더 안에
index.py 라는 파일을 하나 만들어보자
이름은 상관 없다.
그리고 그 파일에
1 2 3 4 5 6 7 8 9 10 11 12 | from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'welcome fucking hell joseon' if __name__ == '__main__': app.run() | cs |
이렇게 작성을 해준다
그리고 저장한 다음
cmd 창을 키고
저 index.py 파일이 있는 경로에서
python index.py
라는 명령어를 실행하면
이런 메세지가 뜨고
12.7.0.0.1:5000 으로 접속해보면
웰컴 헬조선 이라는 텍스트가 뜬다
이것으로 기본적은 웹서버 구동까지가 끝이다!
오와...
빠르긴 빠르다...
jsp 전자정부 쓸떄는 톰캣설정 따로 해주고 뭐 복잡했는데...
물론 얘도 나중에 html 파일 띄우고 하려면 템플릿 만들어서 뿌려줘야 하니 비슷할지도 모르겠다;;;
그리고 추가로
url 라우터를
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'welcome hell joseon' @app.route('/user/<username>') def show_user_profile(username): # show the user profile for that user return 'User %s' % username @app.route('/post/<int:post_id>') def show_post(post_id): # show the post with the given id, the id is an integer return 'Post %d' % post_id if __name__ == '__main__': app.run() | cs |
이렇게 라우터를 더 만들어 주는데
10번 라인의 경우
127.0.0.1:5000/user/야매개발자
이라는 주소로 접속하면
이렇게 뜬다
우왕 .. 싱기방기...
그리고 파이썬을 쓸때 주의해야 할 점이 있다.
위의 코드에서
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'wellcome fucking hell joseon' @app.route('/user/<username>') def show_user_profile(username): # show the user profile for that user return 'User %s' % username @app.route('/post/<int:post_id>') def show_post(post_id): # show the post with the given id, the id is an integer return 'Post %d' % post_id if __name__ == '__main__': app.run() | cs |
이렇게 탭으로 들여쓰기 하면
/user/유저이름
이거 접속 안됨...
하...
스크립트 언어라서 탭에 예민하다는데..
좀 짜증남...
저것떔에 파이썬에 대한 첫인상은 좋지 않았다.
오늘은 여기 까지 했으니
여기까지만 포스팅을 하고
나중에 공부 더 하면 그때 이어서 포스팅을 해보도록 하겠다.
그럼 다들 야근 그만하고 칼퇴 하시길!