산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> python

파이썬 모듈

파이썬 모듈

이 기사에서는 Python에서 사용자 정의 모듈을 만들고 가져오는 방법을 배웁니다. 또한 Python에서 사용자 정의 및 내장 모듈을 가져오고 사용하는 다양한 기술을 찾을 수 있습니다.

동영상:Python 모듈

파이썬에서 모듈이란 무엇입니까?

모듈은 Python 문 및 정의가 포함된 파일을 참조합니다.

Python 코드가 포함된 파일(예:example.py) , 모듈이라고 하며 모듈 이름은 example입니다. .

우리는 모듈을 사용하여 큰 프로그램을 관리 가능하고 정리된 작은 파일로 나눕니다. 또한 모듈은 코드의 재사용성을 제공합니다.

다른 프로그램에 정의를 복사하는 대신 모듈에서 가장 많이 사용하는 함수를 정의하고 가져올 수 있습니다.

모듈을 만들어 봅시다. 다음을 입력하고 example.py로 저장합니다. .

# Python Module example

def add(a, b):
   """This program adds two
   numbers and return the result"""

   result = a + b
   return result

여기에서 add() 함수를 정의했습니다. example라는 모듈 내부 . 이 함수는 두 개의 숫자를 받아 합을 반환합니다.

<시간>

Python에서 모듈을 가져오는 방법

모듈 내부의 정의를 다른 모듈이나 Python의 대화형 인터프리터로 가져올 수 있습니다.

import를 사용합니다. 이 작업을 수행하는 키워드입니다. 이전에 정의한 모듈 example을 가져오려면 , Python 프롬프트에 다음을 입력합니다.

>>> import example

이것은 example에 정의된 함수의 이름을 가져오지 않습니다. 현재 기호 테이블에서 직접. 모듈 이름 example만 가져옵니다. 거기.

모듈 이름을 사용하면 점 .을 사용하여 함수에 액세스할 수 있습니다. 운영자. 예:

>>> example.add(4,5.5)
9.5

파이썬에는 수많은 표준 모듈이 있습니다. Python 표준 모듈의 전체 목록과 사용 사례를 확인할 수 있습니다. 이 파일은 Python을 설치한 위치 내의 Lib 디렉토리에 있습니다.

표준 모듈은 사용자 정의 모듈을 가져오는 것과 같은 방식으로 가져올 수 있습니다.

모듈을 가져오는 방법은 다양합니다. 아래에 나열되어 있습니다.

<시간>

Python import 문

import를 사용하여 모듈을 가져올 수 있습니다. 문을 열고 위에서 설명한 대로 점 연산자를 사용하여 그 안의 정의에 액세스합니다. 다음은 예입니다.

# import statement example
# to import standard module math

import math
print("The value of pi is", math.pi)

프로그램을 실행하면 다음과 같이 출력됩니다.

The value of pi is 3.141592653589793
<시간>

이름을 변경하여 가져오기

다음과 같이 이름을 변경하여 모듈을 가져올 수 있습니다.

# import module by renaming it

import math as m
print("The value of pi is", m.pi)

math의 이름을 변경했습니다. 모듈을 m으로 . 이렇게 하면 경우에 따라 입력 시간을 절약할 수 있습니다.

이름 math 우리의 범위에서 인정되지 않습니다. 따라서 math.pi 유효하지 않으며 m.pi 올바른 구현입니다.

<시간>

Python from...import 문

전체 모듈을 가져오지 않고 모듈에서 특정 이름을 가져올 수 있습니다. 다음은 예입니다.

# import only pi from math module

from math import pi
print("The value of pi is", pi)

여기서는 pi만 가져왔습니다. math의 속성 모듈.

이러한 경우에는 점 연산자를 사용하지 않습니다. 다음과 같이 여러 속성을 가져올 수도 있습니다.

>>> from math import pi, e
>>> pi
3.141592653589793
>>> e
2.718281828459045
<시간>

모든 이름 가져오기

다음 구성을 사용하여 모듈에서 모든 이름(정의)을 가져올 수 있습니다.

# import all names from the standard module math

from math import *
print("The value of pi is", pi)

여기에서는 수학 모듈에서 모든 정의를 가져왔습니다. 여기에는 밑줄(개인 정의)로 시작하는 이름을 제외하고 범위에서 볼 수 있는 모든 이름이 포함됩니다.

별표(*) 기호가 있는 모든 항목을 가져오는 것은 좋은 프로그래밍 방법이 아닙니다. 이로 인해 식별자에 대한 정의가 중복될 수 있습니다. 또한 코드의 가독성을 저해합니다.

<시간>

모듈을 가져오는 동안 Python은 여러 위치를 살펴봅니다. 인터프리터는 먼저 내장 모듈을 찾습니다. 그런 다음(내장 모듈을 찾을 수 없는 경우) Python은 sys.path에 정의된 디렉토리 목록을 찾습니다. . 이 순서대로 검색됩니다.

>>> import sys
>>> sys.path
['',
'C:\\Python33\\Lib\\idlelib',
'C:\\Windows\\system32\\python33.zip',
'C:\\Python33\\DLLs',
'C:\\Python33\\lib',
'C:\\Python33',
'C:\\Python33\\lib\\site-packages']

이 목록을 추가하고 수정하여 고유한 경로를 추가할 수 있습니다.

<시간>

모듈 다시 로드

Python 인터프리터는 세션 중에 한 번만 모듈을 가져옵니다. 이것은 일을 더 효율적으로 만듭니다. 다음은 이것이 어떻게 작동하는지 보여주는 예입니다.

my_module이라는 모듈에 다음 코드가 있다고 가정합니다. .

# This module shows the effect of
#  multiple imports and reload

print("This code got executed")

이제 우리는 다중 가져오기의 효과를 봅니다.

>>> import my_module
This code got executed
>>> import my_module
>>> import my_module

코드가 한 번만 실행되었음을 알 수 있습니다. 이것은 우리 모듈이 한 번만 가져왔다는 것을 의미합니다.

이제 프로그램이 진행되는 동안 모듈이 변경되면 다시 로드해야 합니다. 이를 수행하는 한 가지 방법은 인터프리터를 다시 시작하는 것입니다. 그러나 이것은 별로 도움이 되지 않습니다.

Python은 이를 수행하는 보다 효율적인 방법을 제공합니다. reload()를 사용할 수 있습니다. imp 내부의 함수 모듈을 다시 로드하는 모듈. 다음과 같은 방법으로 할 수 있습니다.

>>> import imp
>>> import my_module
This code got executed
>>> import my_module
>>> imp.reload(my_module)
This code got executed
<module 'my_module' from '.\\my_module.py'>
<시간>

dir() 내장 함수

dir()을 사용할 수 있습니다. 모듈 내부에 정의된 이름을 찾는 함수입니다.

예를 들어, add() 함수를 정의했습니다. example 모듈에서 우리가 처음에 가지고 있었던 것입니다.

dir를 사용할 수 있습니다. example 다음과 같은 방식으로 모듈:

>>> dir(example)
['__builtins__',
'__cached__',
'__doc__',
'__file__',
'__initializing__',
'__loader__',
'__name__',
'__package__',
'add']

여기에서 정렬된 이름 목록을 볼 수 있습니다(add ). 밑줄로 시작하는 다른 모든 이름은 모듈과 관련된 기본 Python 속성입니다(사용자 정의가 아님).

예를 들어, __name__ 속성은 모듈의 이름을 포함합니다.

>>> import example
>>> example.__name__
'example'

현재 네임스페이스에 정의된 모든 이름은 dir()을 사용하여 찾을 수 있습니다. 인수가 없는 함수입니다.

>>> a = 1
>>> b = "hello"
>>> import math
>>> dir()
['__builtins__', '__doc__', '__name__', 'a', 'b', 'math', 'pyscripter']

python

  1. 파이썬 데이터 유형
  2. 파이썬 입력, 출력 및 가져오기
  3. 파이썬 연산자
  4. 파이썬 함수 인수
  5. 파이썬 모듈
  6. 파이썬 사전
  7. 파이썬 반복자
  8. 파이썬 클로저
  9. 파이썬 날짜 시간
  10. 파이썬 시간 모듈