Come chiamare una funzione da un altro file Python

Come chiamare una funzione da un altro file Python
Python è un linguaggio interpretato di alto livello che fornisce agli sviluppatori una sintassi facile da apprendere. Inoltre, Python offre strumenti e utility robusti per la costruzione di applicazioni altamente scalabili e complesse nonostante la sua natura semplicistica.

Python ci consente di implementare la programmazione modulare in cui possiamo definire la logica autonoma e importarla in altre parti del programma.

In questo tutorial, impareremo come iniziare nella programmazione modulare Python definendo e chiamando funzioni da diversi file?

Cos'è un modulo Python?

In Python, un modulo si riferisce a un file Python contenente codice sorgente che può essere importato in altri programmi.

Quindi, qualsiasi file che termina .Py Extension e ha il codice Python può essere considerato un modulo Python.

Dichiarare una funzione Python

Per capire come importare e chiamare una funzione da un altro file in Python, iniziamo definendo quella funzione.

Si consiglia di creare uno spazio di lavoro di esempio in cui è possibile archiviare il tuo codice Python.

$ mkdir Python-workspace
$ cd python-workspace
$ touch import_function.Py

Nell'esempio sopra, creiamo un file Python chiamato import_function.Py. Sentiti libero di rinominare questo file a qualsiasi valore che desideri.

All'interno di import_function.Py File, Definisci una funzione che calcola l'area di un cerchio dato un raggio specifico.

Una definizione di esempio è mostrata di seguito:

area areafcircle (raggio, pi):
restituzione raggio * raggio * pi;

Funzione di importazione di Python

Una volta che la nostra struttura di directory ha creato un file di esempio con la nostra definizione della funzione, possiamo procedere all'importazione della funzione e chiamarla da un altro file.

Crea un nuovo file Python nella stessa directory e chiamalo principale.Py

$ touch main.Py

In questo file, importeremo la funzione areaofcircle e la chiameremo per calcolare l'area di un cerchio.

Esistono vari modi in cui possiamo importare questa funzione. Discutiamo.

Python Import Function

Python ci consente di importare una funzione specifica da un modulo. Sebbene ciò possa sembrare inutile quando si dispone di una singola funzione, può essere utile rispetto all'importazione di tutte le funzioni all'interno di un modulo.

Per importare una funzione specifica in Python, utilizziamo la sintassi mostrata di seguito:

da module_name import function_name

Quindi, per importare la funzione areaofCirce dal modulo import_function, possiamo fare quanto segue:

da import_function import areaofcircle

Una volta importato, possiamo utilizzare la funzione come previsto, come mostrato nel codice di esempio seguente:

Importa matematica
da import_function import areaofcircle
print (f "area: areaofcircle (7, matematica.pi) cm2 ")

Nel codice sopra, chiamiamo la funzione di areafcicle con un raggio di 7 e la costante di Python Pi.

L'esecuzione del codice sopra dovrebbe restituire l'output come mostrato:

$ Python Main.Py
Area: 153.93804002589985 cm2

Python Importa funzione specifica con nome alternativo

Potremmo aver bisogno di rinominare la funzione che stiamo importando in alcuni casi. Ciò potrebbe essere dovuto a motivi di leggibilità o evitare collisioni di nomi nel nostro programma.

Possiamo farlo usando la parola chiave "come". La parola chiave "come" è seguita dal nome alternativo della funzione che stiamo importando.

Ad esempio, per importare la funzione areaofcircle senza rinominarla nel file di origine, possiamo fare quanto segue:

da import_function import areaofCirce come cerchio;

In questo caso, stiamo rinominando la funzione al cerchio.'

Nota: rinominare la funzione utilizzando la parola chiave "As" non altera la definizione della funzione.

Ora possiamo chiamare la funzione con il nuovo nome come:

Importa matematica
da import_function import areaofcircle come cerchio
print (f "area: cerchio (7, matematica.pi) cm2 ")

Il codice sopra deve restituire lo stesso output, dato lo stesso input mostrato di seguito:

$ Python Main.Py
Area: 153.93804002589985 cm2

Python Importa più funzioni specifiche

Supponiamo di voler importare più di una funzione da un modulo? Possiamo farlo separandoli tramite una virgola.

Per illustrare, vai a import_function.Py file e aggiungi una nuova funzione chiamata say_hello. Un codice di esempio è come mostrato:

def say_hello ():
stampa ("ciao")

Ora abbiamo due funzioni nel modulo import_function, una che restituisce l'area di un cerchio e una che stampa 'HI.'

Per importare e utilizzare queste funzioni in main.Py File, Aggiungi la riga:

da import_function import areaofcircle, say_hello

Nota come separeremo ogni funzione tramite una virgola.

Modulo di importazione Python

Altre volte, potrebbe essere necessario importare un intero modulo. Per questo, è possibile utilizzare la parola chiave di importazione seguita dal nome del modulo:

La sintassi è come mostrata:

import module_name

Ad esempio, per importare il modulo import_function, possiamo eseguire:

import import_function;

Una volta importato un modulo, possiamo accedere alla sua funzione utilizzando la notazione punto come mostrato nella sintassi seguente:

module_name.function_name ();

Ad esempio, per chiamare la funzione Say_Hello (), possiamo eseguire:

import_function.di Ciao()

Il codice sopra dovrebbe restituire:

$ Python Main.Py
CIAO

Python Import Module con un nome alternativo

Possiamo fornire un modulo importato e un nome alternativo utilizzando la parola chiave come un'importazione di funzione.

La sintassi è come mostrata:

import module_name come new_name;

Un esempio è come mostrato:

import import_function come i_func;

In questo caso, importiamo il modulo import_function e gli diamo un nome alternativo come i_func.

Possiamo quindi chiamare le funzioni dal modulo usando il suo nome alias:

I_func.di Ciao()

Python Importa tutte le funzioni

Supponiamo di non volere l'intero modulo ma sei interessato solo al modulo specifico. Tuttavia, i moduli potrebbero essere molto, rendendo così inadatto la funzione separata da virgola.

Possiamo farlo specificando un asterisco come nome della funzione.

La sintassi è come mostrato di seguito:

da module_name import *

L'asterisco dice a Python di importare tutte le funzioni da quel modulo.

Conclusione

In questo articolo, abbiamo esplorato vari metodi di importazione di moduli nelle funzioni. Ad esempio, abbiamo coperto

  1. Importazione di una funzione specifica da un modulo
  2. Importazione di una funzione specifica da un modulo con un nome alias.
  3. Importazione di un intero modulo e importazione di un modulo con un nome alternativo.

Grazie per aver letto, ci vediamo nei prossimi.