Accedi ai moduli di Python da MATLAB - Come iniziare
È possibile accedere a tutti i contenuti standard della libreria di Python® da MATLAB®. Analogamente, è possibile utilizzare le funzionalità dei moduli di terze parti o creati dagli utenti. Per chiamare direttamente la funzionalità Python da MATLAB, aggiungere il prefisso py. al nome della funzione di Python che si desidera chiamare.
Per chiamare il contenuto nella libreria standard di Python, aggiungere
py.davanti al nome della funzione o della classe di Python.py.list({"This","is a","list"}) % Call built-in function listPer chiamare il contenuto nei moduli disponibili, aggiungere
py.davanti al nome del modulo di Python seguito dal nome della funzione o della classe di Python.py.textwrap.wrap("This is a string") % Call wrap function in module textwrap
Non è necessario importare i moduli per poterli utilizzare. Tuttavia, è possibile importare nomi Python nella funzione di MATLAB analogamente a come è possibile importare contenuti negli spazi dei nomi di MATLAB. Per maggiori informazioni, vedere Understanding Python and MATLAB import Commands (Informazioni sui comandi di importazione di Python e MATLAB).
MATLAB fornisce inoltre un modo per eseguire il codice Python nell'interprete di Python direttamente da MATLAB. Per maggiori informazioni, vedere Chiamata diretta di funzionalità Python da MATLAB.
Obiettivi didattici
Questo tutorial spiega come:
Controllare la versione di Python sul proprio computer.
Creare un oggetto Python e chiamare un metodo su di esso.
Visualizzare la guida per i moduli di Python.
Creare tipi specializzati di
list,tupleedict(dizionario) in PythonChiamare un metodo su un oggetto Python con lo stesso nome di una funzione di MATLAB.
Chiamare la funzionalità dal proprio modulo di Python.
Trovare esempi.
Verifica della configurazione di Python
Per utilizzare Python in MATLAB, è necessario disporre di una versione supportata di Python installata sul proprio computer. Per maggiori informazioni, vedere Configurazione del sistema per utilizzare Python.
Assicurati che il percorso di Python sia incluso nella variabile di ambiente del percorso di sistema. Per verificare di disporre di una versione supportata di Python, digitare:
pyenv
ans =
PythonEnvironment with properties:
Version: "3.11"
Executable: "C:\Users\aname\AppData\Local\Programs\Python\Python311\pythonw.exe"
Library: "C:\Users\aname\AppData\Local\Programs\Python\Python311\python311.dll"
Home: "C:\Users\aname\AppData\Local\Programs\Python\Python311"
Status: NotLoaded
ExecutionMode: OutOfProcessSe il valore della proprietà Version è vuoto, significa che non si dispone di una versione supportata disponibile. Per maggiori informazioni sull'installazione di Python, vedere Configurazione del sistema per utilizzare Python.
Accesso ai moduli della libreria standard di Python in MATLAB
MATLAB interagisce con l'interprete di Python sulla macchina dell'utente, consentendo l'accesso a tutti i contenuti della libreria standard. Ad esempio, creare un tipo di dato Python list.
res = py.list({"Name1","Name2","Name3"})res =
Python list with values:
['Name1', 'Name2', 'Name3']
MATLAB riconosce gli oggetti Python e converte automaticamente l'array di celle di MATLAB nel tipo Python appropriato.
È possibile chiamare i metodi di Python su un oggetto. Per visualizzare i metodi disponibili per gli oggetti list, digitare methods(py.list). Ad esempio, aggiornare l'elenco res utilizzando la funzione Python append.
res.append("Name4")
resres =
Python list with values:
['Name1', 'Name2', 'Name3', 'Name4']Per convertire la variabile list in una variabile di MATLAB, chiamare string.
mylist = string(res)
mylist =
1×4 string array
'Name1' 'Name2' 'Name3' 'Name4'Visualizzazione della documentazione di Python in MATLAB
È possibile visualizzare il testo guida per le funzioni di Python in MATLAB. Ad esempio:
py.help("list.append")Help on method_descriptor in list:
list.append = append(...)
L.append(object) -> None -- append object to endIl completamento con il tasto TAB durante la digitazione di py. non visualizza le funzionalità disponibili per Python. Per maggiori informazioni, vedere Help for Python Functions.
Creazione dei tipi List, Tuple e Dictionary
Questa tabella mostra le dichiarazioni per la creazione dei tipi list, tuple e dict. Le dichiarazioni sulla sinistra vengono eseguite dall'interprete di Python. Le dichiarazioni sulla destra sono dichiarazioni di MATLAB.
Python | MATLAB |
|---|---|
>>> ['Robert', 'Mary', 'Joseph'] | >> py.list({"Robert","Mary","Joseph"}) |
>>> [[1,2],[3,4]] | >> py.list({py.list([1,2]),py.list([3,4])}) |
Python | MATLAB |
|---|---|
>>> ('Robert', 19, 'Biology') | >> py.tuple({"Robert",19,"Biology"}) |
Python | MATLAB |
|---|---|
>>> {'Robert': 357, 'Joe': 391, 'Mary': 229} | >> py.dict(Robert=357,Mary=229,Joe=391) |
Ordine di precedenza dei metodi e delle funzioni
Se una classe di Python definisce un metodo con lo stesso nome di un metodo convertitore di MATLAB per i tipi di Python, MATLAB chiama il metodo di Python. Questo significa che non è possibile chiamare il metodo convertitore di MATLAB su un oggetto di quella classe.
Ad esempio, se una classe di Python definisce un metodo char, questa dichiarazione chiama il metodo di Python.
char(obj)
Per utilizzare la funzione di MATLAB char, digitare:
char(py.str(obj))
Accesso ad altri moduli di Python
È possibile utilizzare il proprio codice Python e moduli di terze parti in MATLAB. Il contenuto deve trovarsi nel percorso di Python. L'installazione di un modulo di terze parti inserisce il contenuto nel percorso di Python. Se si creano i propri moduli, si è responsabili del loro inserimento nel percorso.
Per un esempio, vedere Call User-Defined Python Module.
Esempi di Python
Per esempi di codice che è possibile aprire nel Live Editor di MATLAB, cercare Esempi in primo piano nella pagina Chiamata di Python da MATLAB. Per informazioni sulla ricerca di esempi di MATLAB, vedere Esempi di codice MATLAB.
Per un esempio che utilizza un insieme di dati online, vedere questo MathWorks blog post (Post nel blog MathWorks).