ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [혼공파] 6주차 과제 - 모듈 실행, Wrapup
    AI/혼공학습단10기_Python 2023. 8. 10. 14:32

    1. 요약

    - 외부 모듈(external module)은 파이썬이 기본적으로 제공하지 않는 모듈로서 누군가(혹은 기업) 만들어 제공한 모듈임.
    - pip install은 외부 모듈을 설치할 때 사용하는 명령어
    - 라이브러리(library): 개발자가 모듈의 기능을 호출하는 것. 정상적인 제어 모듈.
    - 제어 역전(IoC: Inverse of Control): 개발자가 모듈 함수를 호출하는 것이 일반적이나, 이와 반대로 개발자가 만든 함수를 모듈이 실행하는 것.
       예를 들어 프레임워크(framework)는 제어 역전이 발생되는 모듈임. 즉 개발자가 작성한 코드를 모듈이 실행하는 형태.
    - 엔트리 포인트(entry point): python 명령어를 사용한 첫 진입 파일
    - __name__ == “__main__” : 현재 파일이 엔트리 포인트인지 확인할 때 사용하는 코드
    - 패키지(package): 모듈이 모인 것

    - 객체(object): 속성을 가질 수 있는 모든 것
    - 객체 지향 프로그래밍 언어(Object Oriented Programming Language): 객체를 기반으로 프로그램을 만드는 프로그래밍 언어
    - 추상화(abstraction): 복잡한 자료, 모듈, 시스템 등으로 부터 핵심적 개념 또는 기능을 간추려 내는 것
    - 클래스(class): 객체를 쉽고 편리하게 생성하기 위해 만들어진 구문
    - 인스턴스(instance): 클래스 기반으로 생성한 객체
    - 생성자(constructor): 클래스 이름과 같은 인스턴스를 생성할 때 사용하는 함수
    - 메소드(method): 클래스가 가진 함수
    - isinstance() 함수: 어떤 클래스의 인스턴스인지 확인할 때 사용
    - 클래스 변수클래스 함수: 클래스 이름 뒤에 마침표를 찍고 바로 사용할 수 있는 클래스가 갖고 있는 변수와 함수
    - 상속(inheritance): 어떤 클래스 기반으로 그 속성과 기능을 물려받아 새로운 클래스를 만드는 것



    2. 손코딩: BeautifulSoup, Flask 모듈을 이용한 웹 서버 만들기 (스크레이핑 실행)

    1) BeautifulSoup 모듈을 이용한 날씨 Web 정보 추출
       (소스) - kma.go.kr의 날씨 정보를 BeautifulSoup()모듈을 통해 추출

       (결과)
       - BeautifulSoup()모듈의 html을 parse하고,
       - location 마다의 정보를 for문으로 추출
       - 도시, 날씨정보, 최대온도, 최소온도를 하나씩 추출


    2) FLASK모듈을 이용한 날씨 정보 추출
      (소스) - 1) 번과 같은 내용을 반복하되,
       app = Flask(__name__)
       @app.route(‘/‘)
       를 통해 웹 서버 제작

      (결과)
       - Colab에서 실행하여 cmd box기능을 사용할 수 없어 결과를 미리보기 정도로만 확인
       - cmd에서 실행 코드
          (윈도우)
          set FLASK_APP = flask_basic.py
          flask run
          (리눅스)
          export FLASK_APP=flask_basic.py
          flask run




    3. 주요 내용 정리

    1) 객체(Object): 리스트, 딕셔너리 등 속성을 갖을 수 있는 모든 대상

    2) 클래스(Class): 객체를 조금 더 효율적으로 생성하기 위해 만들어진 구문
      class 클래스이름:
             클래스 내용

    3) 인스턴스(Instance): 클래스 기반으로 만들어진 객체
    “인스턴스 이름(변수 이름) = 클래스 이름()” 의 형태로 정의할 수 있음.

    4) 생성자: 클래스 이름과 같은 함수로서 클래스 내부에 __init__이라는 함수를 만들면 객체를 생성할 때 처리할 내용을 작성할 수 있음.
      class 클래스 이름:
            def __init__(self, 추가적인 매개변수):
                   pass

    5) 메소드: 클래스가 가지고 있는 함수. 클래스 내부에 메소드를 만들 때는
      class 클래스 이름:
            def 메소드 이름(self, 추가적인 매개변수):
                    pass
    와 같이 만듦.

Designed by Tistory.