Python er eit høgnivå, tolka programmeringsspråk kjent for si lesbarheit, enkelheit og allsidigheit. Det blei skapt av Guido van Rossum og først lansert i 1991. Python støttar fleire programmeringsparadigmer, inkludert prosedyreorientert, objektorientert og funksjonell programmering. Syntaxen er utforma for å vere klar og intuitiv, noko som gjer det mogleg for både nybegynnarar og erfarne utviklarar å skrive rein og vedlikehaldbart kode. Pythons omfattande standardbibliotek og eit stort økosystem av tredjeparts-pakkar gjer det til eit føretrekt val for ulike applikasjonar, frå webutvikling og dataanalyse til kunstig intelligens og vitskapeleg databehandling.
Python blei konseptualisert på slutten av 1980-talet som ein etterfølgjar til ABC-programmeringsspråket. Guido van Rossum byrja å arbeide med det i jula og hadde som mål at det skulle vere eit språk som kunne bygge bro over gapet mellom programmering og brukervennlegheit, med mange av ABC sine funksjonar, men med tillegg for unntakshandtering og funksjonar. Den første versjonen, Python 0.9.0, blei lansert i februar 1991, og viste fram viktige funksjonar som klassar med arv, grunnleggjande datatypar og unntakshandtering.
Python fekk raskt fotfeste i programmeringsmiljøet på grunn av sin enkle syntax og allsidigheit. Lanseringa av Python 2.0 i 2000 introduserte betydelige nye funksjonar som listekomprehensjonar og søppelrydding. Python 3.0, som blei lansert i 2008, hadde som mål å rette opp iboande designfeil og forbetre klarheita, sjølv om det ikkje var bakoverkompatibelt med Python 2.x. Dette førte til ein periode med sameksistens mellom dei to versjonane, men Python 2 nådde slutten av livet sitt i januar 2020, noko som fekk utviklarar til å gå over til Python 3.x.
Den noverande tilstanden til Python reflekterer den utbreidde bruken på tvers av ulike domener. Det blir mykje brukt i webutvikling (Django, Flask), datavitenskap (Pandas, NumPy, SciPy), maskinlæring (TensorFlow, scikit-learn) og skripting. Pythons rike økosystem, store fellesskapsstøtte og kontinuerlege oppdateringar held fram med å forbetre evnene, og gjer det relevant i det stadig utviklande landskapet av programmeringsspråk.
Ein av dei mest definerande funksjonane til Python er fokuset på lesbarheit. Koden liknar typisk på enkel engelsk, noko som gjer det enklare for utviklarar å forstå og vedlikehalde. For eksempel, i staden for å bruke klammer eller semikolon, bruker Python innrykk for å definere kodeblokkar:
if x > 0:
print("Positiv")
else:
print("Ikkje-positiv")
Python bruker dynamisk typing, som betyr at variabeltypar blir bestemt ved kjøretid. Utviklarar treng ikkje å erklære variabeltypar eksplisitt:
number = 42 # Dette er eit heiltal
number = "Hei" # No er det ein streng
Funksjonar i Python er førsteklasses objekt, noko som gjer at dei kan bli sende som argument, returnert frå andre funksjonar, og tildelt til variablar:
def greet(name):
return f"Hei, {name}"
def apply_function(func, value):
return func(value)
print(apply_function(greet, "Verden")) # Utskrift: Hei, Verden
Python støttar listekomprehensjonar, ein kortfatta måte å lage lister frå eksisterande lister:
squares = [x**2 for x in range(10)]
print(squares) # Utskrift: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
Python inkorporerer ein robust unntakshandteringsmodell ved hjelp av try- og except-blokkar, som forbetrar feilhåndteringa:
try:
result = 10 / 0
except ZeroDivisionError:
print("Kan ikkje dele med null")
Python støttar fullt ut objektorientert programmering med klassar og arv, noko som gjer det mogleg å kapsle inn data og metodar:
class Animal:
def speak(self):
return "Lyd"
class Dog(Animal):
def speak(self):
return "Bjeff"
dog = Dog()
print(dog.speak()) # Utskrift: Bjeff
Python gjer det mogleg for utviklarar å organisere kode i moduler og pakkar, noko som forbetrar kodegjenbruk:
# mymodule.py
def my_function():
return "Hei, Modul"
# main.py
import mymodule
print(mymodule.my_function()) # Utskrift: Hei, Modul
Python har dekoratørar, som gjer det mogleg å modifisere funksjonar eller metodar. Dei blir ofte brukt for logging, å håndheve tilgangskontroll, eller instrumentering:
def decorator_function(original_function):
def wrapper_function():
print("Wrapper utført før {}".format(original_function.__name__))
return original_function()
return wrapper_function
@decorator_function
def display():
return "Vis funksjon utført"
print(display()) # Utskrift: Wrapper utført før display /n Vis funksjon utført
Generatorar er ein minneeffektiv måte å lage iteratorar på ved hjelp av yield
-setninga, som gjer det mogleg med lat evaluering av sekvensar:
def countdown(num):
while num > 0:
yield num
num -= 1
for number in countdown(5):
print(number) # Utskrift: 5 4 3 2 1
Python støttar kontekstforvaltarar ved hjelp av with
-setninga, som gir ein måte å handtere ressursar effektivt utan å måtte skrive eksplisitt opprydningskode:
with open("file.txt") as file:
content = file.read()
print(content) # Lukkar automatisk fila etter blokka
Python er først og fremst eit tolka språk, som er avhengig av ulike tolkarar, som CPython (den standard implementasjonen), PyPy (ein Just-In-Time kompilator), og Jython (som køyrer på Java-plattforma). Språket kan bli utført i ulike miljø, inkludert kommandolinjegrensesnitt, webserverar og integrerte utviklingsmiljø.
Fleire integrerte utviklingsmiljø (IDEar) støttar Python-utvikling, og tilbyr funksjonar som intelligent kodefullføring, feilsøkingsverktøy og prosjektleiing. Populære IDEar inkluderer:
For å bygge eit Python-prosjekt, bruker utviklarar typisk eit virtuelt miljø for å handtere avhengigheiter. venv
-modulen gjer det mogleg å opprette isolerte miljø der avhengigheiter kan bli installert utan å påverke den systemomfattande Python-installasjonen.
python -m venv myenv
source myenv/bin/activate # På Windows, bruk `myenv\Scripts\activate`
pip install -r requirements.txt # Installer avhengigheiter
Python blir brukt i eit breitt spekter av applikasjonar, inkludert, men ikkje avgrensa til:
Python blir ofte samanlikna med fleire andre programmeringsspråk basert på deira bruk og paradigmer.
Når ein vurderer kilde-til-kilde oversetting frå Python til andre språk, er det viktig å forstå paradigmet og syntaxen til målspråket. Fleire verktøy eksisterer for dette formålet: