Вызов пользовательского модуля Python

В этом примере показано, как вызвать методы от следующего модуля Python®. Этот модуль используется примерами в документации.

Этот пример объясняет, как создать модуль в MATLAB®. Если вы создаете mymod.py в редакторе Python, быть уверенным, что модуль находится на пути поиска файлов 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

Чтобы изучить, как вызвать функцию, считайте функциональную подпись для search функция в mymod.py исходный файл. Функция берет один входной параметр, 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']

Похожие темы