• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

18:00부터에서 app 변수 개념에 대해서 궁금합니다.

21.08.29 02:21 작성 조회수 164

2

1. 제가 아는 변수라는 개념은

숫자나, 문자열 등을 저장하는 개념이었는데

여기서 app = Flask(__name__)

은 아예 웹 프로세스 전체를 저장하는 개념 같아요...

맞나요?

2. 그리고 flask라는 라이브러리?프레임워크에서 Flask 라이브러리 모듈을 호출해서 그것을 app = Flask(__name__) 으로 인스턴스화 해서 만들잖아요. 그러면 app이라는 이 프로세스 변수에서는 Flask에 있는 모듈(함수)들을 호출해서 마음대로 쓸 수 있는 건가요?

예를 들면 if 문에서 app.run() 인 것 처럼요

3. 마지막으로 몽고DB에서

강의하실 때

변수명 = 라이브러리명.함수()

conn = pymongo.MongoClient(00,00)

이런식으로 쓴 문법이 많은데 

어떤 것은 변수를 정하고

app.run()처럼 어떤 것은 변수를 따로 지정해서 안만들고

차이가 있나요??

뭔가 너무 헷갈려서...제 질문이 뭔가 두서없이 말해지네요.

뭔가 제가 아는 변수라는 개념이 흔들리고 있는 것만은 맞는거 같아요 ㅜㅜ

 

답변 1

답변을 작성해보세요.

0

1. app = Flask(__name__) 는 플라스크의 인스턴스를 생성해서 app 에 저장하는 내용입니다. 웹 프로세스 전체를 저장하는 개념과 비슷하다고 생각하셔도 됩니다.

 

2.  Flask 객체를 생성했기 때문에 Flask 내에 기능을 사용할 수 있습니다.

 

3. conn = pymongo.MongoClient() 는 pymongo 안에 있는 MongoClient 를 사용한다는 의미이고 app.run() 은 Flask.run() 을 사용하는 의미인데 클래스가 생성되지 않고 직접 사용가능한 함수가 있고 어떤건 클래스를 생성해서 변수에 할당 되어야만 사용가능한 함수가 있습니다. 그래서 그런 차이가 발생할수도 있고 클래스를 어떻게 디자인했느냐에 따라서도 달라질 수 있습니다.