Python TIL(パッケージ、モジュール)
モジュール
モジュールは、さまざまな変数、関数、クラスを含むファイルです.
モジュールを別のPythonプログラムから読み込んで使用するPythonファイル.
パッケージには複数のモジュールが含まれています(特殊な機能が必要な場合は、パッケージを読み込むだけです)
Pythonをインストールする場合、デフォルトでは複数のモジュールとパッケージがインストールされます
基本モジュールとパッケージが欠けている場合は、他人が作成した有名なモジュールとパッケージを使用することを避けることができます.
Pythonを学習すると、モジュール、パッケージ、Python標準ライブラリなどの用語に触れます.概念は似ていますが、少し違います.
importモジュールのインポート
import module
import modul1, module2
import math
math.pi # 3.141592......
math.sqrt(4.0) # 2.0
math.sqrt(2.0) # 1.14121.....
asモジュールのインポート
import math as m
m.pi # 3.141592....
importからモジュールの一部のみインポート
fromモジュール名import変数または関数またはクラス
from math import pi # math모듈에 있는 pi만 가져다 쓰겠다!
from math import sqrt # math모듈에 있는 sqrt만 가져다 쓰겠다.
pi # 3.141592
sqrt(4.0) # 2.0
importからすべてのモジュールをインポート
from math import *
pi #3.141592.....
sqrt(4.0) # 2.0
パッケージをimportにインポート
import 패키지.모듈
import 패키지.모듈1 , 패키지.모듈2
import 패키지.모듈.변수
import 패키지.모듈.함수()
import 패지키.모듈.클래스()
import urllib.request as r # urllib 패키지의 request 모듈을 가져오면서 이름을 r로 지정
# from urllib import request as r 바로 위에서 선언한거랑 똑같은 문법
response = r.urlopen("http://www.google.com") # r로 urlopen 함수 사용
response.status # 200
モジュールとパッケージの作成
例1
# test.py
base = 2
def square(n):
return base**n # 제곱해주는 함수
# test2.py
import test
print(test.base) # 2
print(test.square(2) # 4
例2# person.py
class Person:
class Person:
def __init__(self, name, age, address):
self.name = name
self.age = age
self.address = address
def greeting(self):
print("안녕하세요 저는 {}입니다.".format(self.name))
# main.py
import person
# from person import Person as p
# from person import Person
p1 = person.Person("김현진", 20, "인천")
p1.greeting()
例3フォルダ構造
# main.py
from calcpkg import operation
add = operation.add(1,2)
print(add) # 3
# calcpkg/operation.py
def add(a, b):
return a + b
def mul(a, b):
return a * b
__init__.py用途
__init__.py
ファイルは、このディレクトリがパッケージの一部であることを通知する役割を果たす.__init__.py
ファイルがなければ、パッケージとはみなされません.Reference
この問題について(Python TIL(パッケージ、モジュール)), 我々は、より多くの情報をここで見つけました https://velog.io/@wmc1415/파이썬TILpackage-Moduleテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol