본문 바로가기

Python

Flask Application Context 애플리케이션 컨텍스트는 요청, CLI 명령 중 애플리케이션 레벨 데이터를 추적한다. 각 함수에 애플리케이션을 전달하는 대신 current_app, g 프록시가 대신 접근된다. 요청 중 요청 레벨 데이터를 추적하는 요청 컨텍스트와 유사하다. 요청 컨텍스트가 푸시되면 같은 애플리케이션 컨텍스트가 푸시된다. 컨텍스트의 목적 플라스크 애플리케이션 객체는 뷰, CLI 명령 내에서 접근하기 유용한 config라는 속성을 갖는다. 그러나 프로젝트 모듈 내에 app 인스턴스를 임포트하는 것은 순환 참조 문제가 발생하기 쉽다. 앱 팩토리 패턴을 사용하거나, 재사용 가능한 blueprint, 확장 프로그램을 작성할 때 앱 인스턴스를 임포트할 필요가 없다. 플라스크는 이 문제를 애플리케이션 컨텍스트로 해결했다. app을 바..
플라스크 서버 동작 원리 from flask import Flask # Flask 모듈을 import하고 Flask 웹 서버를 생성한다. app = Flask(__name__) # __name__은 현재 파일을 의미함. main.py가 된다. app이라고 하는 Flask 인스턴스를 생성한다. 새로운 웹 앱이 생성된다. @app.route("/") # default 페이지 def home(): # 사용자가 default 페이지로 접속하면 home()이 실행됨. return "Hello, World!" if __name__ == "__main__": # 파이썬 스크립트가 실행될 때 파이썬은 __main__을 스크립트에 할당한다. app.run(debug=True) # 앱 실행 FLASK_APP=main.py flask run fla..
python static method, class method 공통점 static method, class method는 둘 다 정적 메서드이다 둘 다 인스턴스를 생성하지 않고 class의 메서드를 바로 실행할 수 있다는 것이다. 인스턴스 없이 클래스의 속성에 접근할 수 있게 해준다. 차이점 class method 사용 시 cls 인자가 추가된다. cls란? 클래스를 가리킴. 클래스의 속성에 접근할 수 있게 해줌. @staticmethod class hello: num = 10 #@staticmethod def calc(x): return x + hello.num print(hello.calc(10)) class hello: num = 10 @staticmethod def calc(x): return x + hello.num print(hello.calc(10)) ..
데코레이터 데코레이터라는 명칭의 모호성. 사실 데코레이터는 구문 트리를 파싱하고 애너테이션하는 컴파일러 분야에서의 용법과 관련이 더 깊다. 함수 데코레이터는 소스 코드에 있는 함수를 '표시'해서 함수의 작동을 개선할 수 있게 해준다. 데코레이터를 자유자재로 사용하려면 먼저 클로저를 알아야 한다. 자신만의 데코레이터를 구현하고자 한다면 클로저를 잘 이해해야 하며, nonlocal이 필요해진다. 클로저는 콜백을 이용한 효율적인 비동기 프로그래밍과 필요에 따라 함수형 스타일로 코딩하는 데에도 필수적이다. 목표 단순한 등록 데코레이터 복잡한 매개변수화된 데코레이터 함수 데코레이터가 정확히 어떻게 동작하는가 설명할 수 있어야 한다. 선행 지식 파이썬이 데코레이터 구문을 평가하는 방식 변수가 지역 변수인지 파이..
파이썬 코드 예제 사이트 https://www.programcreek.com/ ProgramCreek.com www.programcreek.com https://www.programcreek.com/python ProgramCreek.com www.programcreek.com 잘 찾아보면 패키지 응용 예제가 있어서 유용하다 marchmallow, boto3 등
pip3 사용하기 https://evansdianga.com/install-pip-osx/ Installing Python 3 and Pip on Mac OS | Evans Dianga Apple’s Mac OS comes with python 2.7 installed by default. Perhaps you may want to use python 3.x.x on your machine and also use pip for package management with python 3.x.x. The easiest way to achieve this is by: NOTE: This tutorial does not use Virtual E evansdianga.com python 3를 다운받고 cd /Library/Fram..
파이썬으로 기상청 API 호출하기 동네예보정보조회서비스 동네예보정보조회서비스는 공공데이터포털에서 제공하는 동네의 날씨 정보 API다. https://www.data.go.kr/dataset/15000099/openapi.do 공공데이터포털 국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Dataset)와 Open API로 제공하는 사이트입니다. www.data.go.kr 사이트 접속 후 회원가입, 로그인을 해야 한다. API를 받아내려면 로그인하고 요청을 해야 한다. 로그인을 하고 동네예보정보조회 서비스 Open API에 접속하면 활용신청 버튼이 있다. 양식을 작성하고 신청한다. 몇시간 또는 며칠 정도의 시간이 지난 후 공공데..
파이썬 질문 http://net-informations.com/python/iq/default.htm Python Interview Questions and Answers net-informations.com