이 강의는 Python의 모듈과 패키지에 대해 다룹니다.
파일 형식으로 코드를 구성하는 방법이며 Python으로 웹 응용 프로그램을 빌드하려는 경우 정말 중요합니다.
모듈
Python의 모듈은 기본적으로 코드를 파일로 구성하는 데 사용하는 일부 Python 코드가 포함된 파일입니다. 슈퍼마켓의 섹션과 같다고 생각하십시오. 슈퍼마켓에 가면 과일, 야채, 청소용품 등을 위한 다양한 섹션이 있습니다. 모든 제품이 한 섹션에 있는 것은 아닙니다.
프로그래밍에서도 같은 개념입니다. main.py의 모든 함수와 클래스로 모든 코드를 작성하는 대신 코드를 여러 파일로 나눕니다. 각 파일을 모듈이라고 합니다. 이를 통해 코드가 더 잘 구성되고 구조화될 뿐만 아니라 코드를 재사용할 수 있습니다. 예를 통해 알아보겠습니다.
무게를 파운드에서 킬로그램으로 또는 그 반대로 변환하는 두 가지 함수를 정의해 보겠습니다.
def lbs_to_kg(weight):
return weight * 0.45
def kg_to_lbs(weight):
return weight / 0.45
이제 이 두 함수를 "변환기"라는 별도의 모듈에 넣은 다음 이러한 변환기 기능이 필요한 모든 프로그램으로 가져올 수 있습니다. 이 작업을 수행하는 방법을 보여 드리겠습니다.
프로젝트 패널을 열고 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 새 파일을 추가해 보겠습니다. 이 파일을 "Converters.py"라고 부를 것입니다.
이제 기본 파일에서 코드를 복사하여 "Converters.py"에 붙여넣습니다.
이것으로 우리는 메인 모듈을 정리했고 다른 기능으로 부풀려지지 않았습니다. 클래스로 더 많은 함수를 작성할 때 해당 모듈에 넣습니다. 모듈은 관련된 모든 기능과 클래스를 포함해야 합니다. 이제 변환기 모듈을 앱 모듈로 가져오고 싶습니다. 이렇게 하려면 다음을 작성하십시오. import converters
확장자 ".py" 없이 상단에.
메소드와 유사한 점 연산자를 사용하여 모듈의 멤버에 액세스할 수 있습니다.
70kg을 파운드로 변환해 보겠습니다.
모듈을 가져오기 위한 또 다른 구문도 있습니다. 전체 모듈을 가져오는 대신 해당 모듈에서 특정 기능을 가져올 수 있습니다. 우리는 입력할 수 있습니다 from Converters import
사용 가능한 기능 목록을 표시하려면 "control + space"를 누르십시오. 이를 통해 이 함수를 직접 호출할 수 있습니다.
운동
여기 당신의 운동이 있습니다.
이것은 우리가 논의한 강의의 연습과 관련이 있습니다.for 루프” 목록에서 가장 큰 수를 찾는 프로그램을 작성했습니다.
numbers = [8, 3, 6, 10, 5]
max = numbers[0]
for number in numbers:
if number > max:
max = number
print(max)
이 코드에는 현재 조직이 없습니다. 우리는 어떤 기능이나 모듈도 가지고 있지 않으며 프로그램은 단일 파일에 작성됩니다. 작은 프로그램에서는 괜찮지만 프로그램이 커짐에 따라 코드를 클래스와 모듈로 적절하게 구성해야 합니다. 따라서 이 연습의 일부로 함수를 작성하고 find_max
. 이 함수는 목록을 가져와서 해당 목록에서 가장 큰 숫자를 반환해야 합니다. 그런 다음 이 함수를 별도의 모듈에 넣고 여기에서 추출하여 이라는 모듈에 넣습니다. utils
. 이 모듈은 많은 유틸리티 기능을 포함해야 합니다. 가져오기 utils
모듈을 현재 모듈에 넣고 호출 find_max
기능. 마지막으로 결과를 가져와 터미널에 인쇄합니다.
이 운동은 조금 어렵지만 쉽게 할 수 있습니다.
해법
함수 정의부터 시작 find_max
숫자라는 매개변수를 추가합니다. 이 함수 안에 목록에서 가장 큰 수를 찾는 알고리즘을 작성하십시오.
def find_max(numbers):
max = numbers[0]
for number in numbers:
if number > max:
max = number
return max
이 코드를 "utils.py" 파일에 모듈로 저장합니다.
메인 프로그램으로 돌아가서 두 구문 중 하나를 사용하여 모듈을 가져오고 단순히 논리를 실행하면 됩니다.
한 가지 주의해야 할 점은 훼손된 max
. 그 이유는 max
Python의 내장 함수이며 우리는 이를 재정의하고 있습니다. 그래서 이것은 파이썬 컴파일러 더 이상 max를 내장 함수로 사용할 수 없습니다.
Python의 내장 모듈
Python은 이메일 보내기, 날짜 및 시간 작업, 임의 값 및 암호 생성 등과 같은 일반적인 작업을 위한 여러 모듈이 포함된 표준 라이브러리와 함께 제공됩니다. Python에 이미 빌드된 모듈이 너무 많아서 재사용할 수 있는 기능이 이미 많이 있습니다. 다음 모듈을 찾을 수 있습니다. 여기에서 지금 확인해 보세요..
패키지
패키지는 기본적으로 모듈 위에 코드를 구성하는 또 다른 방법입니다. 실제 프로젝트에는 수백 또는 수천 개의 모듈이 포함될 수 있으며 시간이 지남에 따라 디렉토리는 너무 많은 파일로 부풀려집니다. 따라서 더 나은 접근 방식은 패키지 내부에 관련 모듈을 구성하여 패키지를 여러 모듈에 대한 컨테이너로 만드는 것입니다.
새 디렉토리가 프로젝트에 추가되고 모든 관련 모듈이 해당 디렉토리에 추가됩니다. 예를 들어 쇼핑몰을 생각해보세요. 패키지 같은 쇼핑몰에는 남성, 여성 및 아동복 섹션이 있습니다. 각 섹션에는 신발, 티셔츠 및 재킷과 같은 다양한 제품의 영역이 있습니다. 이것을 모듈로 생각하십시오.
Python에서 패키지를 만들고 사용하는 방법을 살펴보겠습니다.
먼저 프로젝트 패널에서 새 디렉토리를 추가합니다. "전자상거래"라고 합시다. 이 패키지에는 전자상거래 애플리케이션과 관련된 모든 모듈이 포함됩니다.
그것은 여전히 빈 디렉토리이고 패키지로 변환하려면 그 안에 특수 파일을 만들어야 합니다. 이 디렉토리에 새 python 파일을 추가하고 파일 이름을 "__init__"으로 지정합니다. 이것은 Python의 특별한 규칙이며 Python 인터프리터가 디렉토리에서 이 이름을 가진 파일을 볼 때 이 디렉토리를 패키지로 취급합니다.
또한 패키지를 생성하는 대체적이고 간결한 방법이 있습니다. 프로젝트 패널을 마우스 오른쪽 버튼으로 클릭하고 목록에서 Python 패키지를 생성하기만 하면 됩니다. 이름을 "전자 상거래"로 지정하면 됩니다. "__init__"이라는 Python 파일이 있는 디렉토리를 자동으로 생성합니다.
이제 패키지에 모듈을 만들고 이름을 "shipping"으로 지정해 보겠습니다. 이 모듈에서는 배송비를 계산하는 간단한 함수를 만들어 보겠습니다.
def calc_shipping():
print("calc_shipping")
메인 모듈에서 이 기능에 액세스하려면 전자 상거래 패키지를 통해 액세스해야 합니다. 다시 한 번 이 모듈을 가져오는 두 가지 방법이 있습니다.
첫 번째 방법에서는 전체 모듈을 가져온 다음 다음과 같이 함수를 독립적으로 호출할 수 있습니다.
import eCommerce.shipping
eCommerce.shipping.calc_shipping()
그러나 이 접근 방식을 사용하면 이 모듈에 대한 함수 중 하나를 호출하려면 이 모듈에 접두사를 붙여야 합니다. eCommerce.shipping.
매우 장황합니다. 따라서 패키지로 작업할 때 종종 두 번째 접근 방식을 사용하고 from
성명서.
from eCommerce.shipping import calc_shipping
calc_shipping()
하나의 모듈에 여러 기능이 있는 경우 함수 사이에 쉼표를 사용하여 한 줄에 모두 가져올 수 있습니다. 배송 모듈에 세금을 계산하는 또 다른 기능이 있다고 가정해 보겠습니다. 다음과 같이 가져올 것입니다.
from eCommerce.shipping import calc_shipping, calc_tax
또한 개별 모듈을 가져오고 프로그램의 나중 단계에서 호출되도록 함수를 그대로 둘 수 있습니다. 모듈 배송을 가져온 다음 점 연산자를 사용하여 함수를 호출해 보겠습니다. calc_shipping.
from eCommerce import shipping
shipping.calc_shipping()
마무리!
패키지와 모듈은 Python에서 매우 중요합니다. 특히 빌드에 사용되는 Django와 같은 프레임워크로 작업하려는 경우 웹 애플리케이션 파이썬으로. 우리는 다른 Python 과정에서 Django를 살펴볼 것입니다.
이 시리즈의 마지막 일반 강의였습니다. 다음 강의는 일반적인 형식에서 벗어나 Python에서 몇 가지 중요한 사용 사례를 배웁니다. 이것으로 이 시리즈의 끝을 알리고 다음 Python 시리즈로 넘어갈 것입니다. 계속 지켜봐 주십시오.
댓글을 남겨주세요.