Main Content

MATLAB에서 Python 모듈 액세스하기 - 시작하기

MATLAB®에서 표준 Python® 라이브러리의 모든 콘텐츠에 액세스할 수 있습니다. 마찬가지로, 타사 또는 사용자가 생성한 모듈에서 기능을 사용할 수 있습니다. Python 기능을 MATLAB에서 직접 호출하려면 호출하려는 Python 함수의 이름에 py. 접두사를 추가하십시오.

  • Python 표준 라이브러리의 콘텐츠를 호출하려면 Python 함수 이름이나 클래스 이름 앞에 py.을 추가하십시오.

    py.list({'This','is a','list'}) % Call built-in function list
  • 사용할 수 있는 모듈의 콘텐츠를 호출하려면 Python 모듈 이름과 Python 함수 이름 또는 클래스 이름이 결합된 형태 앞에 py.을 추가하십시오.

    py.textwrap.wrap('This is a string') % Call wrap function in module textwrap

모듈을 사용하기 위해 모듈을 가져올 필요는 없습니다. 그러나 MATLAB 패키지의 콘텐츠를 가져오는 것과 동일한 방법으로 Python 이름을 MATLAB 함수로 가져올 수 있습니다. 자세한 내용은 Understanding Python and MATLAB import Commands를 참조하십시오.

MATLAB은 MATLAB에서 직접 Python 인터프리터의 Python 코드를 실행하는 방법도 제공합니다. 자세한 내용은 MATLAB에서 직접 Python 기능 호출 항목을 참조하십시오.

학습 목표

이 튜토리얼에서는 다음을 수행하는 방법을 설명합니다.

  • 사용자 컴퓨터의 Python 버전 확인.

  • Python 객체 생성 및 이 객체의 메서드 호출.

  • Python 모듈에 대한 도움말 표시.

  • 특화된 Python list, tupledict(사전) 유형 생성.

  • MATLAB 함수와 동일한 이름을 가진 Python 객체의 메서드 호출.

  • 사용자 고유의 Python 모듈에서 기능 호출.

  • 예제 찾기.

Python 구성 확인하기

MATLAB에서 Python을 사용하려면 지원되는 버전의 Python이 컴퓨터에 설치되어 있어야 합니다. 지원되는 버전이 설치되어 있는지 확인하려면 다음을 입력하십시오.

pyenv
ans = 

  PythonEnvironment with properties:

          Version: "3.8"
       Executable: "C:\Users\aname\AppData\Local\Programs\Python\Python38\pythonw.exe"
          Library: "C:\Users\aname\AppData\Local\Programs\Python\Python38\python38.dll"
             Home: "C:\Users\aname\AppData\Local\Programs\Python\Python38"
           Status: NotLoaded
    ExecutionMode: OutOfProcess

Version 속성의 값이 비어 있으면 지원되는 버전이 없는 것입니다. Python 설치 방법에 대한 자세한 내용은 Python을 사용하도록 시스템 구성하기 항목을 참조하십시오.

MATLAB에서 표준 Python 라이브러리 모듈에 액세스하기

MATLAB은 컴퓨터의 Python 인터프리터와 상호 작용하여 표준 라이브러리의 모든 콘텐츠에 대한 액세스 권한을 제공합니다. 예를 들어 Python list 데이터형을 만들어 보겠습니다.

res = py.list({'Name1','Name2','Name3'})
res = 

  Python list with no properties.

    ['Name1', 'Name2', 'Name3']

MATLAB이 Python 객체를 인식하고 MATLAB 셀형 배열을 적절한 Python 유형으로 자동 변환합니다.

객체의 Python 메서드를 호출할 수 있습니다. list 객체에서 사용할 수 있는 메서드를 표시하려면 methods(py.list)를 입력하십시오. 예를 들어 Python append 함수를 사용하여 목록 res를 업데이트해 보겠습니다.

res.append('Name4')
res
res = 

  Python list with no properties.

    ['Name1', 'Name2', 'Name3', 'Name4']

list 변수를 MATLAB 변수로 변환하려면 목록에 대해 cell을 호출하고 목록의 요소에 대해 char을 호출하십시오.

mylist = cellfun(@char,cell(res),'UniformOutput',false)
mylist =

  1×4 cell array

    {'Name1'}    {'Name2'}    {'Name3'}    {'Name4'}

MATLAB에서 Python 도움말 문서 표시하기

MATLAB에서 Python 함수에 대한 도움말 텍스트를 표시할 수 있습니다. 예를 들면 다음과 같습니다.

py.help('list.append')
Help on method_descriptor in list:

list.append = append(...)
    L.append(object) -> None -- append object to end

py.를 입력할 때 탭 완성 기능은 사용 가능한 Python 기능을 표시해 주지 않습니다. 자세한 내용은 Python 함수에 대한 도움말 항목을 참조하십시오.

목록, 튜플 및 사전 유형 만들기

다음 표에는 list, tuple, dict 유형을 생성할 수 있는 명령문이 나와 있습니다. 왼쪽에 있는 명령문은 Python 인터프리터에서 실행됩니다. 오른쪽에 있는 명령문은 MATLAB 명령문입니다.

Python list[]

MATLAB py.list

>>> ['Robert', 'Mary', 'Joseph']>> py.list({'Robert','Mary','Joseph'})
>>> [[1,2],[3,4]]>> py.list({py.list([1,2]),py.list([3,4])})

Python tuple()

MATLAB py.tuple

>>> ('Robert', 19, 'Biology')>> py.tuple({'Robert',19,'Biology'})

Python dict{}

MATLAB py.dict

>>> {'Robert': 357, 'Joe': 391, 'Mary': 229}>> py.dict(pyargs(...
'Robert',357,'Mary',229,'Joe',391))


키워드 인수를 전달하는 방법에 대한 자세한 내용은 pyargs를 참조하십시오.

메서드와 함수의 우선 순위

Python 클래스가 Python 유형에 대한 MATLAB 변환 메서드와 동일한 이름의 메서드를 정의하는 경우 MATLAB은 Python 메서드를 호출합니다. 즉, 해당 클래스의 객체에 있는 MATLAB 변환 메서드를 호출할 수 없습니다.

예를 들어, Python 클래스가 char 메서드를 정의하는 경우, 다음 명령문은 Python 메서드를 호출합니다.

char(obj)

MATLAB char 함수를 사용하려면 다음을 입력하십시오.

char(py.str(obj))

다른 Python 모듈에 액세스하기

자신만의 고유한 Python 코드와 타사 모듈을 MATLAB에서 사용할 수 있습니다. 콘텐츠는 Python 경로에 있어야 합니다. 타사 모듈을 설치하면 Python 경로에 콘텐츠가 배치됩니다. 자신만의 고유한 모듈을 만드는 경우에는 직접 이 모듈을 경로에 배치해야 합니다.

예제는 사용자 정의 Python 모듈 호출하기 항목을 참조하십시오.

Python 예제

MATLAB 라이브 편집기에서 열 수 있는 예제 코드는 MATLAB에서 Python 호출하기 페이지의 추천 예제에서 확인하십시오. MATLAB 예제를 검색하는 방법에 대한 자세한 내용은 MATLAB 코드 예제 항목을 참조하십시오.

온라인 데이터 세트를 사용하는 예제는 MathWorks 블로그 게시물을 참조하십시오.

참고 항목

관련 항목