TIL_17 : Module
🙄 モジュールvsスクリプト
モジュール
area.py (모듈)
PI = 3.14
def circle(radius):
return PI * radius ** 2
def square(length):
return length * length
スクリプト#スクリプト#
🙄 importの様々な方法
モジュールの完全な導入
import
お呼び
import area
print(area.circle(2))
print(area.square(3))
print(area.PI)
# 12.56
# 9
# 3.14
一部の関数のみが必要な場合import
모듈.함수()
お呼びfrom area import circle, square
print(circle(2))
print(square(3))
# 12.56
# 9
すべての関数が必要な場合import
함수()
お呼びfrom area import *
print(circle(2))
print(square(3))
print(PI)
# 12.56
# 9
# 3.4
🙄 import名の変更
モジュール名の変更
import area as ar
print(ar.circle(2))
print(ar.square(3))
print(ar.PI)
# 12.56
# 9
# 3.14
名前変更関数
from area import circle as cr, square as sq
print(cr(2))
print(sq(3))
# 12.56
# 9
🙄 現在のファイルで提供されている機能
➡ dir()
import area
print(dir())
print(dir(area))
# 현재 스크립트, 실행파일에 정의된 이름들 출력
# 모듈 area속 정의된 이름들 출력
🙄 モジュール検索パス
モジュールシステム
함수()
従ってlist
追加必要な検索パスを使用可能
import sys
print(sys.path)
# ['D:\\PyCharm Community Edition 2021.1.1\\11111111', 'D:\\PyCharm Community Edition 2021.1.1', 'C:\\Users\\User\\AppData\\Local\\Programs\\Python\\Python39\\python39.zip', 'C:\\Users\\User\\AppData\\Local\\Programs\\Python\\Python39\\DLLs', 'C:\\Users\\User\\AppData\\Local\\Programs\\Python\\Python39\\lib', 'C:\\Users\\User\\AppData\\Local\\Programs\\Python\\Python39', 'C:\\Users\\User\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages']
🙄 特殊変数:name
➡ __name__
append
名前をモジュール名に設定area.py
print(__name__)
# __main__
run.py
import area
print(__name__)
# area
モジュールファイルの実行中の問題
PI = 3.14
def circle(radius):
return PI * radius ** 2
def square(length):
return length * length
print(circle(2) == 12.56)
print(square(3) == 9)
# True
# True
import area
print(area.circle(2))
print(area.square(3))
# True
# True
# 12.56
# 9
import
モジュールに対してすべてのコードを実行し、意図とは異なる出力値を得ることができる.ファイルが直接実行される場合にのみ実行するコード
if name==mainを条件文に置けばよい
area.py
PI = 3.14
def circle(radius):
return PI * radius ** 2
def square(length):
return length * length
if __name__ == '__main__':
print(circle(2) == 12.56)
print(square(3) == 9)
# True
# True
run.py
import area
print(area.circle(2))
print(area.square(3))
# 12.56
# 9
Reference
この問題について(TIL_17 : Module), 我々は、より多くの情報をここで見つけました https://velog.io/@wumusill/TIL17-Moduleテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol