Python (programmeertaal)

Python is 'n hoëvlak-, oopbron-programmeertaal wat deur Guido van Rossum vrygestel is in 1991. Python se ontwerpsfilosofie is om so eenvoudig as moontlik te wees om te lees, en laat 'n programmeerder dus toe om 'n programmatiese funksie uit te voer met minder lyne kode as wat tipies moontlik sou wees in ander tale, bv. C. 'n Goeie voorbeeld van Python se klem op eenvoudigheid is die feit dat blokke kode nie tussen hakkies geskryf word nie, maar liewers staat maak op 'n sekere hoeveelheid spasies om blokke kode saam te groepeer.
Geskiedenis
Python was opgevat in die laat 1980's[1] en die implementering daarvan het begin in Desember 1989[2] deur Guido van Rossum by die Sentrum vir Informatika en Wiskunde (CWI) in Nederland. Die taal was bedoel om 'n 'n verbetering van die ABC-taal te wees, wat sagteware-uitsonderings kan hanteer en kan werk met die Amoeba bedryfstelsel. Van Rossum is Python se hoofontwikkelaar en het steeds die grootste sê in die huidige ontwikkeling en vooruitgaan van Python. Die Python gemeenskap aanvaar sy besluite en het hom die titel gegee van lewenslange welwillende diktator.
Python 2.0 is vrygestel op 16 Oktober 2000 en het 'n verskeidenheid nuwe eienskappe gehad, insluitend verbeterde geheuebestuur (garbage collector) en ondersteuning vir Unicode. Na die vrystelling van die weergawe het die ontwikkelingsproses verander en is die gebruikersgemeenskap aktief ingelig en betrek.[3]
Python 3.0 (populêre vroeë name sluit in Python 3000 en py3k) is vrygestel op 3 Desember 2008 na 'n lang toetsperiode. Dit het baie nuwe eienskappe aangebied maar het nie die vorige weergawes van Python ondersteun nie. Die meerderheid van die sy groot eienskappe is dus geïmplimenteer op die meer gebruikbare (deur vorige weergawes van Python) weergawes Python 2.6.x en 2.7.x [4]
Filosofie van Python
Die kernfilosofie van Python word opgesom in die artikel The Zen of Python(PEP 20) wat die volgende aforismes insluit:
- Beeldskoon is beter as lelik
- Eksplisiet is beter as implisiet
- Eenvoudig is beter as kompleks
- Kompleks is beter as ingewikkeld
- Leesbaarheid is belangrik
Sintaks
Python is bedoel om 'n hoogs leesbare taal te wees en is baie na aan natuurlike taal. Dit maak minimale gebruik van leestekens en verkies om meer sleutelwoorde te gebruik. Python het ook minder sintaktiese uitsonderings en spesiale gevalle as 'n taal soos C (programmeertaal). Python volg die Principle of Least Astonishment wat impliseer dat kode behoort te doen wat jy vanaf natuurlike taal sal verwag dit sal doen.
Inkeping
Python maak gebruik van inkeping (horisontale spasiëring) eerder as sleutelwoorde of krulhakies om die einde van blokke stellings aan te dui (byvoorbeeld die inhoud van 'n lus sal alles die selfde hoeveelheid inkeping hê). Na sekere stellings moet daar verder ingekeep word (by voorbeeld na 'n if-stelling). Die inkeping moet verminder word na die einde van die huige blok kode. Die ingekeepte kode na 'n stelling word na verwys as daai stelling se blok, byvoorbeeld na if x > 5: print "Hello"
, sal print "Hello"
die if-blok wees.
Stellings en beheer van programvloei
Python maak gebruik van die volgende stellings (onder andere):
- Die
if
-stelling sal voorwaardelik 'n blok kode uitvoer, wat gebruik kan word saam met dieelse
enelif
stellings om meer ingewikkelde voorwaardes te skep - Die
for
-stelling, wat iterasie oor sekere objekte toelaat. Dit sal dan elke element in die object aan 'n veranderlike heg vir gebruik in die herhaalde kode. - Die
while
-stelling sal 'n blok kode uitvoer solank as wat sy voorwaarde as waar evalueer - Die
try
-stelling laat mens toe om sagtewareuitsonderings te verhoed en dan met afsonderlike kode na dieexcept
-stelling te hanteer. Dit verseker ook dat alle kode in diefinally
-blok altyd sal hardloop ongeag hoe die blok verlaat word. - Die
class
-stelling, wat 'n blok kode uitvoer en dan die gedefinieerde name heg daaraan. Hierdie word gebruik vir objekgeoriënteerde programmering. - Die
import
-stelling, wat gebruik kan word om modules beskikbaar te maak in die huidige lêer - Die
print
-stelling word gebruik om afvoer te lewer. Verander na dieprint()
-funksie in Python 3. - Die
def
-stelling definieer 'n funksie of metode
Wiskunde
Python het die standaard C wiskundige operators (+
, -
, *
, /
, %
). Dit het ook die **
operator om getalle tot 'n sekere mag te verhef , soos byvoorbeeld 5**3 == 125
en 9**0.5 == 3.0
, asook 'n matriks vermenigvuldiging operator @
wat bygevoeg was in weergawe 3.5.[5]
Biblioteke
Python het 'n groot standaardbiblioteek, wat gereeld aangewys word as een van Python se sterk punte.[6] Hierdie biblioteek bied funksies wat help met 'n verskeidenheid rekenaarprobleme. Hierdie groot biblioteek is deel van die Python-filosofie wat die gebruiker soveel as moontlik van die nodige hulp bied. Vir internetgebaseerde toepassings, word by van die standaard uitsetting en protokolle (soos MIME en HTTP) geondersteun.
Dele van die standaardbiblioteek word volgens spesifieke spesifikasies opgestel, byvoorbeeld die implementering van die Web Server Gateway Interface (WSGI), bekend as wsgiref
, word beskryf deur PEP 333.[7] maar meeste modules is nie so opgestel nie. Hulle word dan gespesifiseer volgens hul kode, interne dokumentasie en toetsprogramme (indien ingesluit).
Die standaardbilbioteek is nie nodig om Python te hardloop nie. Byvoorbeeld Blender 2.48 los meeste daarvan uit.
Sedert Januarie 2016, bied die Python Pakket Indeks (die amptelike bewaarplek vir derde-party Python sagteware) meer as 72000 pakkette wat 'n verskeidenheid funksionaliteit bied, insluitend:
- toetsraamwerke, gereedskap vir dokumentering, stelselbeheer
- wetenskaplike bewerkings
Naam
Python se naam is afgelei vanaf die televisiereeks Monty Python's Flying Circus,[8] en daar is gereeld Monty Python verwysings in voorbeeldkode.
Verwysings
- ↑ http://www.artima.com/intv/pythonP.html
- ↑ http://python-history.blogspot.com/2009/01/brief-timeline-of-python.html
- ↑ https://docs.python.org/whatsnew/2.0.html
- ↑ https://www.python.org/dev/peps/pep-3000/
- ↑ http://legacy.python.org/dev/peps/pep-0465/
- ↑ http://www.oracle.com/technetwork/articles/piotrowski-pythoncore-084049.html
- ↑ https://www.python.org/dev/peps/pep-0333/
- ↑ https://docs.python.org/2/faq/general.html#why-is-it-called-python