Ignition Premier (Gold) Integrator since 14-06-2017

Wat is Python (Programmeertaal)

Python is een geïnterpreteerde, objectgeoriënteerde, hoogstaande programmeertaal met dynamische semantiek. Zijn op hoog niveau ingebouwde datastructuren, gecombineerd met dynamisch typing en dynamische binding, maken het zeer aantrekkelijk voor Rapid Application Development, maar ook voor het gebruik als scripting- of ‘glue’taal om bestaande componenten met elkaar te verbinden.

De eenvoudige, gemakkelijk te leren syntax benadrukt de leesbaarheid en verlaagt hierdoor de kosten van programmaonderhoud. Het ondersteunt modules en pakketten, die programma-modulariteit en codehergebruik stimuleren. De Python-interpreter en de uitgebreide standaardbibliotheek zijn kosteloos beschikbaar in bron- of binaire vorm voor alle grote platforms en kunnen vrij worden verspreid.

Bekijk de video

Python

Python Code

Programmeurs vallen vaak voor deze code vanwege de verhoogde productiviteit die het mogelijk maakt. Omdat er geen compilatiestap is, is de edit-test-debugs ongelooflijk snel. Het debuggen van programma’s is eenvoudig: een fout of slechte invoer zal nooit een segmentatiefout veroorzaken.

In plaats daarvan wordt een uitzondering gegenereerd wanneer de interpreter een fout ontdekt. Wanneer het programma de uitzondering niet opvangt, drukt de interpreter een stacktracering af.

Een debugger op bronniveau maakt inspectie mogelijk van lokale en globale variabelen, evaluatie van willekeurige expressions, het instellen van breakpoints, stap voor stap door de code bladeren, enzovoort.

De debugger is geschreven in de programmeertaal zelf en getuigt van de introspectieve kracht ervan. Aan de andere kant, is vaak de snelste manier om een programma te debuggen om een paar print statements toe te voegen aan de bron: de snelle edit-test-debug-cyclus maakt deze eenvoudige benadering zeer effectief.

Python vergeleken met andere programmeertalen

Het wordt vaak vergeleken met andere geïnterpreteerde talen zoals Java of JavaScript. De vergelijking met C ++ kan ook verhelderend werken. In deze sectie vergelijk ik Python kort met elk van deze talen. Deze vergelijkingen concentreren zich alleen op de taalproblemen.

In de praktijk wordt de keuze van een programmeertaal vaak bepaald door andere beperkingen uit de praktijk, zoals kosten, beschikbaarheid, training en eerdere investeringen, of zelfs emotionele gehechtheid. Aangezien deze aspecten zeer variabel zijn, lijkt het een verspilling van de tijd om ze te vergelijken met de rest.

Java

Over het algemeen wordt verwacht dat Python-programma’s langzamer werken dan Java-programma’s, maar ze nemen ook veel minder tijd in beslag om te ontwikkelen. Python-programma’s zijn meestal 3 tot 5 keer korter dan vergelijkbare Java-programma’s. Dit verschil kan worden toegeschreven aan Python’s hoog niveau ingebouwde datatypen en dynamisch typing.

Een Python-programmeur verspilt bijvoorbeeld geen tijd met het declareren van de typen argumenten of variabelen, en de krachtige polymorfe lijst en woordenboektypen van Python waarvoor rijke syntactische ondersteuning rechtstreeks in de taal is ingebouwd, kunnen in bijna elk Python-programma worden gebruikt. Vanwege de runtime typing, moet de runtime van Python harder werken dan die van Java. Wanneer jij bijvoorbeeld de uitdrukking a + b evalueert, moet deze eerst de objecten a en b inspecteren om hun type te achterhalen, wat niet bekend is tijdens het compileren. Vervolgens wordt de juiste optelbewerking aangeroepen, welke misschien een overbelaste gebruiker gedefinieerde methode is.

Java daarentegen kan een efficiënte optelling met een heel getal of een drijvende komma uitvoeren, maar vereist variabele declaraties voor a en b en staat geen overbelasting toe van de operator + voor instanties van door de gebruiker gedefinieerde klassen.

Om deze redenen is Python veel beter geschikt als “glue”-taal, terwijl Java beter wordt gekarakteriseerd als een implementatietaal op een laag niveau. In feite vormen de twee samen een uitstekende combinatie. Componenten kunnen in Java worden ontwikkeld en gecombineerd om applicaties in Python te vormen; Python kan ook worden gebruikt om componenten te prototypen totdat hun ontwerp kan worden “verhard” in een Java implementatie.

Om dit type ontwikkeling te ondersteunen, is een in Java geschreven implementatie van Python in ontwikkeling, waardoor Python-code vanuit Java kan worden aangeroepen en omgekeerd. In deze implementatie wordt de Python-broncode vertaald naar Java bytecode (met behulp van een runtime-bibliotheek om de dynamische semantiek van Python te ondersteunen).

Java Script

De “object-gebaseerde” subset van Python is ongeveer gelijk aan JavaScript. Net als JavaScript (en in tegenstelling tot Java), ondersteunt Python een programmeerstijl die eenvoudige functies en variabelen gebruikt zonder zich bezig te houden met klasse definities. Voor JavaScript is dat echter alles wat er is. Python, aan de andere kant, ondersteunt het schrijven van veel grotere programma’s en beter hergebruik van code door een echte object-georiënteerde programmeerstijl, waarbij klassen en overerving een belangrijke rol spelen.

C++

Bijna alles wat gezegd wordt voor Java geldt ook voor C++, en nog meer: waar de Python-code meestal 3 tot 5 keer korter is dan de equivalente Java-code, is deze vaak 5 tot 10 keer korter dan vergelijkbare C++-code! Anekdotisch bewijs suggereert dat één Python programmeur in twee maanden kan voltooien wat twee C++ programmeurs in een jaar niet kunnen voltooien. Python straalt als een ‘glue’-taal, die wordt gebruikt om componenten te combineren die zijn geschreven in C++.

De voordelen van programmeertaal: Python

Je kunt eindeloos veel met de programmeertaal doen

Het kan onder andere worden gebruikt voor web development, simple scripting, data analyse, machine learning en bij het ontwikkelen van videogames. Verder kan het worden gebruikt als extensietaal voor applicaties die geschreven zijn in een andere programmeertaal.

Python kent een actieve community

Er zijn vrijwilligers te vinden over de hele wereld die de programmeertaal dolgraag willen optimaliseren. Ook zijn er vaak internationale congressen die als broedplaats dienen voor nieuwe ideeën.

Iedereen, van beginner tot expert

Kan deze programmeertaal begrijpen en gebruiken. De codes zijn te simplificeren en daardoor makkelijk aan te passen. Het is daarom de meest aangeleerde programmeertaal bij bètastudies en informatiebedrijven.

Het heeft een rijke bibliotheek; de Standard Library

Hiermee kunnen de meest uiteenlopende projecten sneller en effectiever worden geprogrammeerd. Veel complexe coderingstaken kunnen worden vereenvoudigd, zodat de codebase gestroomlijnder lijkt.

Ontdek hier meer basis informatie over industriële automatisering: