복대가리의 개발

[기타] 스터디/[혼공학습단 9기] 파이썬

파이썬 공부 (6)

복대가리 2023. 2. 19. 01:49
728x90

이번 포스팅 내용

1. 외부모듈

2. 클래스


외부 모듈

파이썬이 기본적으로 제공해 주는 것이 아니라, 다른 사람들이 만들어 배포하는 모듈을 '외부 모듈'이라고 부릅니다.

모듈 설치하기

명령 프롬프트 창에서 아래와 같이 명령어를 입력하게 되면 모듈을 설치할 수 있습니다.

pip install 모듈 이름

예를 들어 아래의 이미지와 같이 Beautiful Soup라는 모듈을 설치한다면 다음과 같이 입력하면됩니다.

 

이미 모듈이 설치되어 있다면 아래의 이미지와 같이 나오게 됩니다.

 

 

Beautiful Soup 모듈

해당 모듈은 유명한 파이썬의 웹 페이지 분석 모듈입니다.

해당 모듈을 사용하여 기상청의 날씨 정보를 가져와 출력해보겠습니다.

 

태그를 여러 개 선택할 때는 select()함수를, 하나만 선택할 때는 select_one() 함수를 사용해서 원하는 값을 추출합니다.

기상청의 XML 파일을 확인해보면 location 태그와 city, wf, tmn, tmx 태그를 찾아볼 수 있습니다.

 

Flask 모듈

일반적으로 파이썬을 이용하여 웹 개발을 할 때는 Django또는 Flask 등의 모듈을 사용합니다.

Django는 매우 다양한 기능을 제공하는 웹 개발 프레임워크이고, Flask는 작은 기능만을 제공하는 웹 개발 프레임워크입니다.

 

위의 코드를 작성하고 아래와 같이 명령프롬프트 창에서 실행하고 웹브라우저에서 "http://127.0.0.1:5000"을 입력하면 날씨 정보를 가지고온 페이지를 확인해 볼 수 있습니다.

 

window 기준 "flask run" 명령어를 입력 하였을 때 제대로 실행이 되지 않는다면 "python -m flask run"으로 실행해보시기 바랍니다.

 

 

 

라이브러리와 프레임워크

  • 라이브러리 : 개발자가 모듈의 기능을 호출하는 형태와 같이 정상적인 제어를 하는 모듈
    • ex) math 모듈
  • 프레임워크 : 개발자가 작성한 코드를 실행하는 형태의 모듈
    • ex) Flask 모듈

 

클래스의 기본

클래스 기반의 객체 지향 프로그래밍 언어는 클래스라는 것을 기반으로 객체를 만들고, 그러한 객체를 우선으로 생각해서 프로그래밍해야 합니다.

객체

객체란 여러 가지 속성을 가질 수 있는 대상을 말합니다.

위의 코드에서 학생이 바로 객체입니다.

아래의 코드는 이전과 같은 결과 값을 반환하지만 코드가 조금 분리되어있습니다.

학생이라는 객체와 관련된 기능이 위로 올라갔고, 객체를 사용하는 처리가 아래로 내려갔습니다.

이렇게 만들면 '학생 객체와 관련된 기능'을 별도의 모듈로 빼서 관리할 수도 있습니다.

이러한 코드를 분리할 수 있게 하는것이 객체 지향 프로그래밍의 핵심입니다.

 

그런데 이런 코드를 너무 자주 사용되다 보니, 클래스 라는 구조를 만들게 되었습니다.

클래스 선언하기

클래스는 객체를 조금 더 효율적으로 생성하기 위해서 만들어진 구문입니다.

class 클래스 이름:
    클래스 내용

이렇게 만들어진 클래스는 클래스 이름과 같은 함수(생성자)를 사용해서 객체를 만듭니다.

 

인스턴스 이름(변수 이름) = 클래스 이름()

 

이러한 클래스를 기반으로 만들어진 객체를 인스턴스 라고 부릅니다.

생성자

클래스 이름과 같은 함수를 생성자라고 부릅니다.

클래스 내부에 __init__라는 함수를 만들면 객체를 생성할 때 처리할 내용을 작성할 수 있습니다.

class 클래스 이름:
    def __init__(self, 추가적인 매개변수):
        pass

 

self는 '자기 자신'을 나타내는 딕셔너리라고 생각하면 되며 속성과 기능에 접근할 때는 self.<식별자> 형태로 접근합니다.

메소드

클래스가 가지고 있는 함수를 메소드라고 부릅니다.

클래스 내부에서 매소드를 만들 때는 다음과 같이 사용합니다.

class 클래스 이름:
    def 메소드 이름(self, 추가적인 매개변수):
        pass

 


필자의 간단 용어 요약 

  • 객체 : 어떠한 속성값과 행동을 가지고 있는 데이터
  • 클래스 : 객체를 만들어내기 위한 틀
  • 인스턴스 : 클래스의 의해 만들어진 객체
  • 생성자 : 객체를 생성할 때 호출되는 함수
  • 메소드 : 클래스 안의 함수
728x90

'[기타] 스터디 > [혼공학습단 9기] 파이썬' 카테고리의 다른 글

파이썬 공부 (5)  (0) 2023.02.11
파이썬 공부 (4)  (0) 2023.02.05
파이썬 공부 (3)  (0) 2023.01.24
파이썬 공부 (2)  (0) 2023.01.13
파이썬 공부 (1)  (0) 2023.01.06