Python is een high voor algemeen gebruikniveau dat kan worden uitgebreid en ingebouwd. Het is bijvoorbeeld opgenomen in de applicatiesuite als een hulpmiddel voor het schrijven van macro's. Dit maakt Python een redelijke keuze voor veel programmeertaken, groot en klein, en niet zo goed voor een klein aantal rekentaken.
Waar kan ik het beste gebruiken?
Python is ideaal voor projectensnelle ontwikkeling vereist. Het ondersteunt meerdere programmeerparadigma's, wat goed is voor programma's die flexibiliteit vereisen. En de beschikbaarheid van vele pakketten en modules zorgt voor veelzijdigheid en bespaart tijd.
Guido van Rossum - Schepper van Python, liefkozenddoor de gemeenschap geëerd als "de welwillende dictator voor het leven". Aan het eind van de jaren tachtig hield Guido van de functies van sommige programmeertalen, maar geen van hen had alle functies die hij wilde hebben. De taal moest met name de volgende kenmerken hebben.
Scripttaal
Een script is een programma datbeheert andere programma's. Scripttalen zijn geschikt voor snelle ontwikkeling en prototyping omdat ze goed zijn in het doorgeven van gegevens van de ene component naar de andere en de programmeur behoeden voor lastige zaken zoals geheugenbeheer.
De gebruikersgemeenschap noemt Python liever een dynamische programmeertaal.
Inspringen voor het groeperen van uitspraken
Python bepaalt of expressies behoren tot:één groep die inspringing gebruikt. Zo'n groep wordt een codeblok genoemd. Andere talen gebruiken hiervoor een andere syntaxis of interpunctie. In C bijvoorbeeld geeft het symboolteken { het begin aan en } het einde van een reeks opdrachten. Inspringen wordt ook in andere talen als een goede praktijk beschouwd, maar een van de eersten die inspringen afdwingen was Python. Wat geeft het? Inspringen maakt de code gemakkelijker leesbaar en codeblokken vereisen minder begin- en eindtekens en leestekens die per ongeluk kunnen worden gemist. Dit alles leidt tot minder fouten.
Gegevenstypen op hoog niveau
Computers slaan gegevens op in enen en nullen, maarmensen hebben meer complexe vormen nodig, zoals tekst. Een taal die complexe gegevens ondersteunt, zou gegevenstypen op hoog niveau ondersteunen. Deze gegevenstypen zijn gemakkelijk te manipuleren. In Python kunnen strings bijvoorbeeld worden gesplitst, aaneengeschakeld, hoofdletters, kleine letters, doorzoekbaar, enz. Gegevenstypen op hoog niveau, zoals lijsten en woordenboeken, die andere gegevens kunnen opslaan, hebben veel meer functionaliteit dan andere talen.
Uitbreidbaarheid
Een uitbreidbare programmeertaal kan zijn:toegevoegd. Dergelijke talen zijn erg krachtig omdat de add-ons ze geschikt maken voor veel applicaties en besturingssystemen. Extensies kunnen gegevenstypen of concepten, modules en plug-ins toevoegen. De Python-taal wordt op verschillende manieren uitgebreid. Een kerngroep programmeurs werkt eraan om het te veranderen en te verbeteren, en honderden anderen schrijven modules voor specifieke doeleinden.
Interpretatie
Geïnterpreteerde talen worden uitgevoerdrechtstreeks uit door mensen geschreven broncode, terwijl programma's die zijn geschreven in gecompileerde talen zoals C++ moeten worden vertaald in machinecode. Geïnterpreteerde talen zijn langzamer omdat de vertaling on-the-fly gebeurt, maar het schrijven van programma's en het debuggen ervan gaat sneller omdat het niet nodig is om te wachten tot de compiler is voltooid. Ze zijn gemakkelijker over te zetten naar verschillende platforms.
Men kan discussiëren over de vraag of Python isgeïnterpreteerde of gecompileerde taal. Hoewel het in veel opzichten werkt als een interpreter, wordt het gecompileerd voordat het wordt uitgevoerd (net als in Java), en veel van zijn componenten werken op volle machinesnelheid omdat ze in C zijn geschreven.
Guido begon met het schrijven van Python tijdens Kerstmisvakanties in 1989, en het jaar daarop verfijnde hij de taal op basis van feedback van zijn collega's. Het grote publiek zag het resultaat in februari 1991 toen het op een van de Usenet-nieuwsgroepen werd geplaatst.
Python voor beginners
Om te beginnen met het schrijven van programma's in Python,je moet het installeren. Python 2.7 en Python 3.5 hebben aanzienlijke verschillen waardoor programma's die erin zijn geschreven incompatibel zijn.
Op Macintosh-computers is deze taalvooraf geïnstalleerd, en de versie is afhankelijk van de leeftijd van het besturingssysteem. Op Windows moet u Python zelf installeren. De installatiepakketbestanden kunnen worden geselecteerd op python.org.
Twee manieren om te communiceren
Een van de redenen waarom programmeren in Python zo eenvoudig is, is dat het wordt geleverd met tools waarmee u programma's kunt ontwikkelen, schrijven en debuggen.
In de interactieve modus worden opdrachten één voor één ingevoerd.regel tegelijk, op vrijwel dezelfde manier als een besturingssysteem (shell) opdrachten van de opdrachtregel accepteert. U kunt ook korte programma's met meerdere regels maken of code importeren uit tekstbestanden of ingebouwde Python-modules. Voor beginners is het handig om te weten dat de interactieve modus een uitgebreid helpsysteem bevat. Dit is een handige manier om de mogelijkheden van een programmeertaal te verkennen.
De IDLE-ontwikkelomgeving omvat een interactieveeen modus en tools voor het schrijven en uitvoeren van programma's, en een naamvolgsysteem. De omgeving is geschreven in Python en demonstreert de uitgebreide mogelijkheden van de taal.
interactieve modus
Hier kun je bijna alles doen wat in het programma gedaan kan worden, zelfs meerregelige code schrijven. Deze modus kan dienen:
- sandbox voor veilige experimenten;
- een omgeving waarin je leert programmeren in Python;
- hulpmiddel voor het vinden en corrigeren van fouten.
Houd er rekening mee dat het niet mogelijk is om interactief op te slaan wat u hebt ingevoerd. Om dit te doen, moet u een kopie van de code en de resultaten in een bestand schrijven.
Interactieve modus kan worden gebruikt als:rekenmachine, manipuleer tekst en wijs waarden toe aan variabelen. U kunt ook modules, functies of programmaonderdelen importeren om ze te testen. Het helpt om met Python-objecten te experimenteren zonder lange programma's te schrijven en programma's te debuggen door delen ervan één voor één te importeren.
Interactief werken
Na het uitvoeren van Python zal het terminalvenster informatie weergeven over de huidige versie van het programma, de releasedatum, verschillende aanwijzingen over wat u vervolgens moet doen, en een >>>-prompt.
Om interactief te werken, typt u een opdracht of uitdrukking en drukt u op Enter.
Python interpreteert de invoer en zal reageren als wat u hebt getypt een antwoord vereist of als de tolk het niet begrijpt.
Met de volgende opdracht wordt de tekenreeks afgedrukt. Omdat de afdruklocatie niet is opgegeven, vindt de uitvoer op het scherm plaats.
- >>> afdrukken "Hallo wereld!"
- Hallo Wereld!
Deze enkele regel is het hele programma! In de interactieve modus verwerkt Python elke regel code die wordt ingevoerd nadat de Enter-toets is ingedrukt, en het resultaat verschijnt hieronder.
Informatie over een object bekijken
In de interactieve modus zijn er twee manieren om informatie over een object te bekijken:
- voer het object (of de naam ervan) in en druk op de enter-toets;
- voer de printopdracht en het object (of de naam ervan) in en druk op Enter.
Het resultaat is afhankelijk van het object.
Bij gebruik van bepaalde gegevenstypen (bijvoorbeeld gehele getallen en lijsten) geven deze twee methoden hetzelfde resultaat:
- >>> x = [3,2]
- >>>x
- [3, 2]
- >>> x afdrukken
- [3, 2]
Voor tekenreeksen wijkt het resultaat van het typen van "afdruknaam" enigszins af van het resultaat van het typen van de naam. In het eerste geval staat de waarde tussen aanhalingstekens, maar in het tweede geval niet:
- >>> x = "MijnString"
- >>>x
- "MijnString"
- >>> x afdrukken
- MijnString
Wanneer de naam verwijst naar een codeblok (zoals een functie, module of klasse-instantie), geeft het invoeren van de naam informatie over het gegevenstype, de naam en de opslaglocatie.
In het volgende voorbeeld wordt een klasse gemaakt met de naam Message en wordt informatie weergegeven over
Duits:
- >>> klasse Bericht:
- ... doorgang
- ...
- >>> Bericht
- <klasse ___ hoofd ___. Bericht op 0x58db0>
- >>>bericht afdrukken
- __voornaamst__. Bericht
Snaren
In Python zijn strings reeksenkarakters. Een letterlijke tekenreeks wordt gemaakt door tekens tussen enkele ("), dubbele (") of driedubbele (""" of """) aanhalingstekens te plaatsen. Het volgende voorbeeld wijst een waarde toe aan de variabele x:
- >>> x = "MijnString"
Python-string heeft verschillende ingebouwde functiesmogelijkheden. Eén daarvan is de mogelijkheid om een kopie van jezelf terug te sturen, geheel in kleine letters. Deze mogelijkheden staan bekend als methoden. Om een methode op een object aan te roepen, moet u de puntsyntaxis gebruiken. Dat wil zeggen, na het invoeren van de naam van de variabele, die in dit geval een verwijzing is naar het stringobject, moet u een puntoperator (.) plaatsen, en vervolgens de naam van de methode, gevolgd door een haakje openen en sluiten:
- >>> x.lager()
- "mijnstring"
Je kunt een deel van een string verkrijgen met behulp van de indexeringsoperator s[i]. Het indexeren begint bij nul, dus s[0] retourneert het eerste teken in de tekenreeks, s[1] retourneert het tweede, enzovoort:
- >>> x[0]
- "M"
- >>> x[1]
- "j"
String-methoden werken met zowel gewone strings als Unicode. Ze voeren de volgende acties uit:
- hoofdlettergebruik wijzigen (met hoofdletters, hoofdletters, kleine letters, wisselletters, titel);
- tellen(telling);
- het veranderen van de codering (coderen, decoderen);
- zoeken en vervangen (vinden, vervangen, rfind, index, rindex, vertalen);
- controleer of aan de voorwaarden is voldaan (begintmet, eindigtmet, isalnum, isalpha, isdigit, islower, isspace, istitle, isupper);
- combineren en verdelen (samenvoegen, verdelen, verdelen, splitsen, splitlines);
- formaat (center, ljust, lstrip, rstring, rjust, strip, zfill, expandtabs).
Python: lijsten
Als Python-reeksen beperkt zijn tot tekens, dande lijsten kennen geen beperkingen. Ze vertegenwoordigen geordende reeksen willekeurige objecten, inclusief andere lijsten. Bovendien kunt u hun elementen toevoegen, verwijderen en vervangen. Een reeks objecten gescheiden door komma's tussen vierkante haakjes is een Python-lijst. Wat dit vertegenwoordigt, wordt hieronder weergegeven - hier zijn voorbeelden van gegevens en bewerkingen ermee:
- >>> basen = ["A", "C", "G", "T"]
- >>> basis
- ["A", "C", "G", "T"]
- >>> bases.append("U")
- >>> basis
- ["A", "C", "G", "T", "U"]
- >>> basen.reverse()
- >>> basis
- ["U", "T", "G", "C", "A"]
- >>> basen[0]
- "U"
- >>> basen[1]
- "T"
- >>> bases.remove("U")
- >>> basis
- ["T", "G", "C", "A"]
- >>> basen.sort()
- >>> basis
- ["A", "C", "G", "T"]
In dit voorbeeld een lijst met individuelekarakters. Vervolgens werd aan het einde een element toegevoegd, de volgorde van de elementen werd omgekeerd, de elementen werden opgehaald op basis van hun indexpositie, het element met de waarde "U" werd verwijderd en de elementen werden gesorteerd. Het verwijderen van een element uit een lijst illustreert een situatie waarin de methode remove() aanvullende informatie moet verschaffen, namelijk de waarde die moet worden verwijderd.
Naast methoden als remove(), Pythonheeft nog een vergelijkbare mogelijkheid, een functie genaamd. Het enige verschil tussen een functie en een methode is dat de eerste niet aan een specifiek object is gekoppeld.
Python: functies
Functies voeren acties uit op één of meer waarden en retourneren een resultaat. Een groot aantal daarvan is ingebouwd in Python. Voorbeelden van ingebouwde functies:
- len() – retourneert het aantal elementen in de reeks;
- dir() – retourneert een lijst met tekenreeksen die de attributen van een object vertegenwoordigen;
- list() – retourneert een nieuwe lijst die is geïnitialiseerd vanuit een andere reeks.
- >>> hulp(ronde)
- Hulp bij ingebouwde functieronde:
- ronde(...)
- round(number[, ndigits]) -> drijvende-kommagetal
Het is ook mogelijk om uw eigen functies te definiëren.
Door de gebruiker gedefinieerde functies
Het proces voor het maken van uw eigen Python-functie is als volgt.De eerste regel begint met het sleutelwoord def, gevolgd door de functienaam en argumenten (verwachte invoerwaarden) tussen haakjes, en eindigt met een dubbele punt. Volgende opdrachten vormen de hoofdtekst van de functie en moeten ingesprongen zijn. Als er een opmerking aan het begin van de hoofdtekst van een functie verschijnt, wordt deze onderdeel van de documentatie ervan. De laatste regel van de functie retourneert het resultaat:
- >>> def transcriberen(dna):
- ... """Geef de DNA-reeks terug als RNA-reeks."""
- ... return dna.replace("T", "U")
- ...
- >>> transcriberen("CCGGAAGAGCTTACTTAG")
- "CCGGAAGAGCUUACUUAG"
In dit voorbeeld wordt een functie genaamdtranscriberen, waarbij een string wordt verwacht die een DNA-sequentie vertegenwoordigt. De methode Replace() retourneert een kopie van de originele tekenreeks, waarbij alle exemplaren van het ene teken zijn vervangen door een ander teken. Met drie regels code kon DNA worden getranscribeerd in RNA. De omgekeerde functie ziet er als volgt uit:
- >>> def omgekeerde(n):
- ... """Retourneer de reeksreeks in omgekeerde volgorde."""
- ... letters = lijst(en)
- ... letters.reverse()
- ... return "".join(letters)
- ...
- >>> omgekeerd("CCGGAAGAGCTTACTTAG")
- "GATTCATTCGAGAAGGCC"
De omgekeerde functie neemt een string, creëert een lijst,op basis daarvan, en verandert de volgorde ervan. Nu moeten we de omgekeerde transformatie uitvoeren. Het object heeft een join()-methode die een lijst samenvoegt door elk element te scheiden met een tekenreekswaarde. Omdat er geen scheidingsteken nodig is, wordt de methode gebruikt voor een lege tekenreeks die wordt weergegeven door twee aanhalingstekens ("" of "").
Woordenboeken
Wat is een Python-woordenboek?Het heeft dezelfde voordelen als een gewoon papieren woordenboek. Hiermee kunt u snel de gewenste waarde (definitie) vinden die aan een sleutel (woord) is gekoppeld. Woordenboeken staan tussen accolades en bevatten een door komma's gescheiden reeks sleutel-waardeparen. Woordenboeken zijn niet geordend. In plaats daarvan zijn woordenboekwaarden toegankelijk via hun sleutel in plaats van via hun positie.
- >>> basiscomplement = {"A": "T", "C": "G", "T": "A", "G": "C"}
- >>> basiscomplement.keys()
- ["A", "C", "T", "G"]
- >>> basiscomplement.waarden()
- ["T", "G", "A", "C"]
- >>> basiscomplement["A"]
- "T"
classes
Om je eigen te creërenobjecten, moet u een soort sjabloon definiëren dat een klasse wordt genoemd. In Python gebeurt dit met behulp van de class-instructie, gevolgd door de naam en een dubbele punt. De hoofdtekst van een klassedefinitie bevat eigenschappen en methoden die beschikbaar zullen zijn voor alle instanties van objecten die op die klasse zijn gebaseerd.
voordelen
De meeste programmeertalen biedenhandige functies, maar geen van hen heeft de combinatie van gemak en kracht die Python biedt. Wat zijn deze voordelen? Hier zijn er een aantal:
- De taal kan worden ingebed in andere toepassingen en worden gebruikt om macro's te maken. In Paint Shop Pro 8 en hoger is het bijvoorbeeld een scripttaal.
- Python is gratis te gebruiken en te distribueren, commercieel of niet.
- De taal beschikt over krachtige tekstverwerkings- en zoekmogelijkheden, die worden gebruikt in applicaties die met grote hoeveelheden tekstinformatie werken.
- Je kunt er grote applicaties op bouwen zonder dat je hoeft te controleren welke programma's je draait.
- Python ondersteunt het testen en debuggen van individuele modules en hele programma's.