Hvordan ringe en funksjon fra en annen fil Python

Hvordan ringe en funksjon fra en annen fil Python
Python er et tolket språk på høyt nivå som gir utviklere lett å lære syntaks. I tillegg leverer Python robuste verktøy og verktøy for å bygge svært skalerbare og komplekse applikasjoner til tross for sin forenklede natur.

Python lar oss implementere modulær programmering der vi kan definere frittstående logikk og importere den til andre deler av programmet.

I denne opplæringen lærer vi hvordan du kan komme i gang med Python Modular Programming ved å definere og ringe funksjoner fra forskjellige filer?

Hva er en Python -modul?

I Python refererer en modul til en Python -fil som inneholder kildekode som kan importeres til andre programmer.

Derfor en hvilken som helst fil som ender inn .py extension og har python -kode kan betraktes som en python -modul.

Erklære en python -funksjon

For å forstå hvordan du importerer og kaller en funksjon fra en annen fil i Python, la oss starte med å definere den funksjonen.

Vi anbefaler å lage et eksempel på arbeidsområdet der du kan lagre Python -koden din.

$ mkdir python-workspace
$ CD Python-Workspace
$ Touch import_funksjon.py

I eksemplet ovenfor lager vi en python -fil som heter import_funksjon.py. Følg gjerne med å gi nytt navn til denne filen til enhver verdi du ønsker.

Inne i import_funksjonen.PY -fil, definer en funksjon som beregner et sirkelsområde gitt en spesifikk radius.

En eksempeldefinisjon vises nedenfor:

Def AreaOfCircle (Radius, PI):
returradius * radius * pi;

Python importfunksjon

Når vi har opprettet katalogstrukturen vår en prøvefil med vår funksjonsdefinisjon, kan vi fortsette å importere funksjonen og ringe den fra en annen fil.

Opprett en ny Python -fil i samme katalog og navngi den hoved.py

$ Touch Main.py

I denne filen vil vi importere områdets funksjonsfunksjon og ringe den for å beregne området til en sirkel.

Det er forskjellige måter vi kan importere denne funksjonen. La oss diskutere.

Python importspesifikk funksjon

Python lar oss importere en spesifikk funksjon fra en modul. Selv om dette kan virke meningsløst når du har en enkelt funksjon, kan det være gunstig sammenlignet med å importere alle funksjonene i en modul.

For å importere en spesifikk funksjon i Python, bruker vi syntaks vist nedenfor:

Fra Module_name Import Function_name

For å importere områdets funksjon fra import_funksjonsmodulen, kan vi derfor gjøre følgende:

fra import_function import areaofcircle

Når vi er importert, kan vi bruke funksjonen som ment, som vist i eksempelkoden nedenfor:

Importer matematikk
fra import_function import areaofcircle
Print (F "Area: AreaOfCircle (7, Math.pi) cm2 ")

I koden ovenfor kaller vi områdets funksjon med en radius på 7 og python pi konstant.

Å kjøre koden over skal returnere utdataene som vist:

$ Python Main.py
Område: 153.93804002589985 CM2

Python import spesifikk funksjon med alternativt navn

Det kan hende vi må gi nytt navn til funksjonen vi importerer i noen tilfeller. Dette kan skyldes lesbarhetsgrunner eller unngå navnekollisjoner i programmet vårt.

Vi kan gjøre dette ved hjelp av 'som' nøkkelord. 'Som' nøkkelord blir fulgt av det alternative navnet på funksjonen vi importerer.

For å importere områdets funksjon uten å gi nytt navn til den i kildefilen, kan vi for eksempel gjøre følgende:

fra import_funksjon import areaofcirlce as Circle;

I dette tilfellet gir vi nytt navn til funksjonen til å sirkle.'

Merk: Omkring om funksjonen ved å bruke 'As' nøkkelordet endrer ikke funksjonsdefinisjonen.

Vi kan nå kalle funksjonen med det nye navnet som:

Importer matematikk
fra import_funksjon import areaofcircle som sirkel
Print (F "Area: Circle (7, Math.pi) cm2 ")

Ovennevnte kode skal returnere den samme utgangen, gitt den samme inngangen som vist nedenfor:

$ Python Main.py
Område: 153.93804002589985 CM2

Python importerer flere spesifikke funksjoner

Anta at vi vil importere mer enn en funksjon fra en modul? Vi kan gjøre dette ved å skille dem via et komma.

For å illustrere, gå til import_funksjonen.PY -fil og legg til en ny funksjon som heter Say_hello. Et eksempelkode er som vist:

def say_hello ():
trykk ("Hei")

Nå har vi to funksjoner i import_funksjonsmodulen, en som returnerer området til en sirkel og en som skriver ut hei.'

Å importere og bruke disse funksjonene i hovedsak.PY -fil, legg til linjen:

Fra import_function import areaofcircle, si_hello

Legg merke til hvordan vi skiller hver funksjon via et komma.

Python importmodul

Andre ganger kan det hende du må importere en hel modul. For det kan du bruke importnøkkelordet etterfulgt av modulnavnet:

Syntaksen er som vist:

Importer modulnavn

For å importere import_funksjonsmodulen, kan vi for eksempel kjøre:

import import_funksjon;

Når vi har importert en modul, kan vi få tilgang til dens funksjon ved å bruke DOT -notasjonen som vist i syntaksen nedenfor:

modulnavn.funksjon_name ();

For å kalle Say_hello () -funksjonen, kan vi for eksempel kjøre:

import_funksjon.si hei()

Koden over skal returnere:

$ Python Main.py
Hei

Python importmodul med et alternativt navn

Vi kan gi en importert modul og alternativt navn ved hjelp av nøkkelordet som en funksjonsimport.

Syntaksen er som vist:

import module_name som new_name;

Et eksempel er som vist:

import import_funksjon som i_func;

I dette tilfellet importerer vi import_funksjonsmodulen og gir den et alternativt navn som i_func.

Vi kan deretter kalle funksjonene fra modulen ved hjelp av aliasnavnet:

i_func.si hei()

Python importerer alle funksjoner

Anta at du ikke vil ha hele modulen, men bare er interessert i den spesifikke modulen. Imidlertid kan modulene være mye, og dermed gjøre den komma-separerte funksjonen importert uegnet.

Vi kan gjøre dette ved å spesifisere en stjerne som funksjonsnavn.

Syntaksen er som vist nedenfor:

fra import av modul_navn *

Asterisken forteller Python å importere alle funksjonene fra den modulen.

Konklusjon

I denne artikkelen undersøkte vi forskjellige metoder for å importere moduler i funksjoner. For eksempel dekket vi

  1. Importere en spesifikk funksjon fra en modul
  2. Importere en spesifikk funksjon fra en modul med et aliasnavn.
  3. Importere en hel modul og importere en modul med et alternativt navn.

Takk for at du leser, vi sees i de neste.