Main Content

이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

사용자 정의 Python 모듈 호출하기

이 예제에서는 다음 Python® 모듈에서 메서드를 호출하는 방법을 보여줍니다. 이 모듈은 이 문서의 예제에서 사용됩니다.

이 예제에서는 MATLAB®에서 모듈을 만드는 방법을 설명합니다. Python 편집기에서 mymod.py를 만드는 경우, 모듈이 Python 검색 경로에 있는지 확인하십시오. 이 예제에서는 또한 숙련된 Python 사용자가 아닌 경우 함수 호출을 위한 도움말을 표시하는 방법도 설명합니다.

현재 폴더를 쓰기 가능한 폴더로 변경합니다.

MATLAB 편집기에서 새 파일을 엽니다.

다음 명령을 복사한 후 파일을 mymod.py로 저장합니다.

# mymod.py
"""Python module demonstrates passing MATLAB types to Python functions"""
def search(words):
    """Return list of words containing 'son'"""
    newlist = [w for w in words if 'son' in w]
    return newlist

def theend(words):
    """Append 'The End' to list of words"""
    words.append('The End')
    return words

MATLAB 명령 프롬프트에서 현재 폴더를 Python 검색 경로에 추가합니다.

if count(py.sys.path,'') == 0
    insert(py.sys.path,int32(0),'');
end

함수 호출 방법을 알아보려면 mymod.py 소스 파일에서 search 함수의 함수 시그니처를 읽어 보십시오. 이 함수는 하나의 입력 인수 words를 받습니다.

def search(words):

mymod.py 소스 파일 내에 있는 함수 도움말을 읽습니다. Python 웹 사이트 문서에 따르면, 도움말은 "모듈, 함수, 클래스 또는 메서드 정의에서 첫 번째로 나오는 문자열 리터럴"로 되어 있습니다. search에 대한 도움말은 다음과 같습니다.

"""Return list of words containing 'son'"""

이 함수는 목록을 반환합니다.

MATLAB에서 입력 인수, 즉 이름 목록을 생성합니다.

N = py.list({'Jones','Johnson','James'})
N = 

  Python list with no properties.

    ['Jones', 'Johnson', 'James']

search 함수를 호출합니다. 모듈 이름과 함수 이름 앞에 py.를 입력하십시오.

names = py.mymod.search(N)
names = 

  Python list with no properties.

    ['Johnson']

이 함수는 py.list 값을 반환합니다.

원래 입력값인 N은 바뀌지 않습니다.

N
N = 

  Python list with no properties.

    ['Jones', 'Johnson', 'James']

관련 항목