본문 바로가기

패스트캠퍼스_컴공전공필수+인공지능/0원 챌린지

2/23(목) 파이썬 - 클래스

1. 모듈과 패키지

  • 모듈이란?
    • 함수나 변수, 클래스를 모아 놓은 파일이다.
    • 모듈은 다른 파이썬 프로그램에서 불러와 사용할 수 있게끔 만든 파이썬 파일이라고도 할 수 있다.
  • 모듈의 종류
    • 표준 모듈 : 파이썬과 함께 따라오는 모듈 (기본 모듈, 따로 import 하지 않아도 자동으로 들어있음)
    • 사용자 생성 모듈 : 프로그래머가 직접 작성한 모듈 (대부분 .py 형태)
    • 서드 파티 모듈 : 파이썬 재단도, 프로그래머(본인) 도 아닌 다른 프로그래머 또는 업체에서 제공한 모듈 (대중적인 것)
  • 외부 모듈을 사용할 수 있도록 하는 방법은 -> improt 파일명
  • 확장자는 생략함.
  • 파일에 있는 변수나 함수는 -> 파일명.변수 또는 파일명.함수() 로 호출
  • 실습)
    • my_func.py 라는 파이썬 파일을 만들어 변수, 함수 작성
    • 실행할 파이썬 파일에서 improt my_func 로 임포트 -> my_func.addition() , mu_func.variable 로 안의 기능들 불러옴
  • import에 대해 더 자세히
    • 다른 모듈 내의 코드에 대한 접근을 가능하게 하는 것이다.
    • 변수, 함수 , 클래스 등이 포함된다.
    • import 모듈 또는 from 모듈 import 함수이름1, 함수이름 2 와 같은 형태로 입력한다.
    • * : 와일드 카드
      • * 이용하면 모듈 내 모든 것을 가져온다.
    • sys.path를 통해서 
      • import 를 입력하면 어떤 폴더를 가져올 지 확인할 수 있다.
      • 이 안에 없으면 import 모듈 불가하다. 따라서 import 할 모듈 경로를 추가해줘야한다.
      • 직접 위치를 추가하려면?
        • sys.path.append('검색할 경로')
        • 이제 import 가 된다! -> import 모듈
      • sys.path 에서의 순서도 중요하다
        • 같은 이름의 모듈이 (다른 모듈이다, 이름만 같음) 다른 위치에 있을 경우 앞에 있는 모듈이 우선시 되기 때문이다.
    • import 모듈 후 -> 모듈 파일 수정 하면
      • 현재 모듈 수정 된 내용 적용 안되어있음
      • -> 다시 모듈 불러와야한다 (런타임 다시 실행)
  • __name__ 변수
    • __name__ 변수란 파이썬이 내부적으로 사용하는 특별한 변수로,
    • 현재 실행중인 파일의 이름은 __main__ 이라는 이름이 부여된다.
      • 직접 실행 모듈이 __main__
      • 사용되는 방법
        • if __name__ == '__main__':
          • ~~~
        • a.py 가 실행하는 파일이고 이 안에 import b.py 를 했다 치자. 
        • b.py 에 다음과 같은 __main__ if문을 넣었으면 실행 시 __main__ 변수는 a.py 이고 b.py 에서의 __name__ 이 b.py 이므로 __main__ if 문은 실행되지 않는다.
        • 대신 b.py 를 별도로 직접적으로 실행할 경우 __main__ 변수는 b.py 가 맞으므로 __main__ if 문이 실행된다. => 이런 식으로 사용된다,,
    • 불러온 모듈의 경우 -> 이름이 __name__ 이란 변수에 저장된다.
  • 패키지란?
    • 모듈을 모아놓은 디렉토리 이다.
    • 패키지에서 특정한 모듈을 가져올 때는
      • from my_package import my_module
      • 이와 같은 형식으로 불러오면 된다.
    • 주의!!!
      • python 3.3 버전 이전에는 
      • 디렉토리가 패키지로 인정받기 위해서는 __init__.py 라는 파일이 내부에 있어야 했다.
      • python 3.3 버전 이후의 버전에서는 필요없지만 이전 버전과의 호환성을 위해서 __init__.py 파일을 추가해주는것을 추천한다.
      • __init__.py 파일이 들어있는 패키지는 파이썬이 패키지라고 인식하는 방식이다.
    • 모듈 안의 모든 내용을 불러올 때는 => * (와일드카드) 를 썼다.
    • 그렇다면 패키지 안의 -> 모든 모듈을 불러오려면 어떻게 해야하나?
      • => 패키지 디렉토리 안에 __init__.py 라는 이름의 파일을 만든다.
      • __all__ = ['모듈이름','모듈이름2']
      • 이런 식으로 *(와일드카드) 로 부를 수 있는 모듈 이름들을 직접 지정해준다.
      • 이러면 import 패키지로 실행되면 -> __init__.py 먼저 실행 -> __all__=[모듈이름]

 

* 필수 삽입 링크 : http://bit.ly/3Y34pE0

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

<사진 2장>