Wat betekent het in Python. Waarom heb ik je Python nodig? Met behulp van de POST-methode

Laten we verder gaan met het theoretische en praktische gedeelte en beginnen met wat een tolk is.

Tolk

Tolk is een programma dat andere programma's uitvoert. Wanneer u een programma in Python schrijft, leest de tolk uw programma en voert de instructies uit die het bevat. In werkelijkheid is de tolk een laag programmalogica tussen uw programmacode en de hardware van uw computer.

Afhankelijk van de versie van Python die je gebruikt, kan de interpreter zelf worden geïmplementeerd als een C-programma, als een set Java-klassen of in een andere vorm, maar daarover later meer.

Een script uitvoeren in de console

Laten we de tolk in de console uitvoeren:

Nu wacht het op commando-invoer, voer daar de volgende instructie in:

Afdrukken" hallo wereld!"

jaja, ons eerste programma! :D

Een script uitvoeren vanuit een bestand

Maak een bestand "test.py", met de inhoud:

# print "Hallo wereld" print "Hallo wereld" # print 2 tot de macht van 10 print 2 ** 10

en voer dit bestand uit:

# python /pad/naar/test.py

Dynamische compilatie en bytecode

Nadat u het script hebt uitgevoerd, compileert het eerst de scriptbron in bytecode voor de virtuele machine. Compilatie is eenvoudigweg een vertaalstap, en bytecode is een platformonafhankelijke weergave op laag niveau van de brontekst van het programma. Python vertaalt elke instructie in de scriptbroncode in groepen bytecode-instructies om de uitvoeringssnelheid van het programma te verbeteren, omdat bytecode veel sneller wordt uitgevoerd. Na compilatie in bytecode wordt een bestand met de extensie ".pyc" naast de originele scripttekst.

De volgende keer dat u uw programma uitvoert, zal de tolk de compilatiefase omzeilen en een gecompileerd bestand met de extensie ".pyc" produceren voor uitvoering. Als u echter de broncode van uw programma wijzigt, zal de stap van het compileren naar bytecode opnieuw plaatsvinden, omdat Python automatisch de wijzigingsdatum van het broncodebestand bijhoudt.

Als Python niet in staat is een bytecodebestand te schrijven, bijvoorbeeld vanwege een gebrek aan schrijfrechten naar de schijf, heeft dit geen gevolgen voor het programma. De bytecode wordt eenvoudigweg in het geheugen verzameld en daaruit verwijderd wanneer het programma wordt afgesloten.

Virtuele Python-machine (PVM)

Na het proces zal doorlopen compilatie, wordt de bytecode doorgegeven aan een mechanisme genaamd virtuele machine, die de instructies van de bytecode zal uitvoeren. Virtuele machine is een runtime-mechanisme, het is altijd aanwezig in het Python-systeem en het is een extreem onderdeel van het systeem dat de “Python-interpreter” wordt genoemd.

Laten we, om te versterken wat we hebben geleerd, de situatie nogmaals verduidelijken: het compileren naar bytecode gebeurt automatisch, en PVM is slechts een onderdeel van het Python-systeem dat je samen met de tolk en compiler hebt geïnstalleerd. Alles gebeurt transparant voor de programmeur en u hoeft deze bewerkingen niet handmatig uit te voeren.

Prestatie

Programmeurs met ervaring met talen als C en C++ kunnen enkele verschillen in het model opmerken Python-uitvoering. De eerste is dat er geen bouwstap is of het hulpprogramma "make" wordt aangeroepen; Python-programma's kunnen onmiddellijk worden uitgevoerd na het schrijven van de broncode. Het tweede verschil is dat bytecode geen binaire machinecode is (bijvoorbeeld instructies voor Intel-microprocessor), het is de interne representatie van een Python-programma.

Om deze redenen kunnen programma's in Python niet zo snel worden uitgevoerd als in C/C++. Het doorlopen van instructies wordt uitgevoerd virtueel systeem, niet de microprocessor, en het uitvoeren van de bytecode vereist aanvullende interpretatie waarvan de instructies langer duren dan de machine-instructies van de microprocessor.

Aan de andere kant is er, in tegenstelling tot traditionele tolken, bijvoorbeeld in PHP, een extra compilatiefase: de tolk hoeft niet elke keer de brontekst van het programma te analyseren.

Als gevolg hiervan vallen de prestaties van Python tussen traditioneel compileren en traditioneel interpreteren van programmeertalen.

Alternatieve Python-implementaties

Wat hierboven werd gezegd over de compiler en virtuele machine, is typisch voor de standaard Python-implementatie, de zogenaamde CPython (implementatie in ANSI C). Er zijn echter ook alternatieve implementaties zoals Jython en IronPython, die nu worden besproken.

Dit is de standaard en originele Python-implementatie, zo genoemd omdat deze is geschreven in ANSI C. Dit is wat we hebben geïnstalleerd toen we het pakket selecteerden Actieve Python of geïnstalleerd vanaf FreeBSD havens. Aangezien dit een referentie-implementatie is, is dit in het algemeen ook het geval werkt sneller, consistenter en beter dan alternatieve implementaties.

Jython

Originele naam JPython, hoofddoel - nauwe integratie met de taal Java-programmering . De Jython-implementatie bestaat uit Java-klassen die de compilatie uitvoeren programmacode in Python naar Java-bytecode en breng vervolgens de resulterende bytecode over virtueel Java-machine(JVM).

Het doel van Jython is om Python-programma's Java-applicaties te laten besturen, net zoals CPython C/C++-componenten kan besturen. Deze implementatie heeft een naadloze integratie met Java. Omdat Python-code wordt vertaald naar Java-bytecode, gedraagt ​​deze zich precies zo echt programma in Java-taal. Jython-programma's kunnen fungeren als applets en servlets, een grafische interface creëren met behulp van Java-mechanismen, enz. Bovendien biedt Jython ondersteuning voor de mogelijkheid om Java-klassen in Python-code te importeren en te gebruiken.

Omdat de Jython-implementatie echter langzamer en minder robuust is dan CPython, is deze van belang voor Java-ontwikkelaars die een scripttaal nodig hebben als interface voor Java-code.

De implementatie is bedoeld om integratie te bieden Python-programma's met applicaties die zijn gemaakt om te werken in de Microsoft .NET-omgeving Operationeel raamwerk Windows-systemen, evenals Mono, het open source-equivalent voor Linux. Het .NET-framework en de C#-runtime zijn ontworpen om interoperabiliteit tussen softwareobjecten mogelijk te maken, ongeacht de gebruikte programmeertaal, in de geest van Microsofts eerdere COM-model.

Met IronPython kunnen Python-programma's zowel als client als servercomponenten, beschikbaar vanuit andere .NET-programmeertalen. Omdat ontwikkeling is gaande door Microsoft , zou je onder andere aanzienlijke prestatie-optimalisaties van IronPython verwachten.

Tools voor optimalisatie van de uitvoeringssnelheid

Er zijn andere implementaties, waaronder dynamische compiler Psycho en de Shedskin C++-vertaler, die probeert het onderliggende uitvoeringsmodel te optimaliseren.

Dynamische compiler Psyco

Psycho-systeem is een component die het bytecode-uitvoeringsmodel uitbreidt, waardoor programma's sneller kunnen werken. Psycho is een extensie PVM, dat type-informatie verzamelt en gebruikt om delen van de bytecode van een programma te vertalen naar echte binaire machinecode, die veel sneller wordt uitgevoerd. Voor deze uitzending zijn geen wijzigingen nodig broncode of voer extra compilatie uit tijdens de ontwikkeling.

Tijdens de uitvoering van het programma verzamelt Psyco informatie over objecttypen, en deze informatie wordt vervolgens gebruikt om zeer efficiënte machinecode te genereren die is geoptimaliseerd voor dat type object. De geproduceerde machinecode vervangt vervolgens de overeenkomstige bytecodesecties, waardoor de uitvoeringssnelheid toeneemt.

Idealiter staan ​​sommige delen van de programmacode onder controle van Psyco kan net zo snel werken als gecompileerde C-code.

Psyco biedt snelheidsverhogingen variërend van 2 tot 100 keer, maar meestal 4 keer, bij gebruik van een ongemodificeerde Python-interpreter. Het enige nadeel van Psyco is dat het momenteel alleen machinecode voor de architectuur kan genereren Intel x86.

Psyco wordt niet standaard geleverd; het moet afzonderlijk worden gedownload en geïnstalleerd. Er is ook een project PyPy, wat een poging tot herschrijven vertegenwoordigt PVM om de code te optimaliseren zoals in Psycho, projecteren PyPy zal een groter deel van het project in beslag nemen Psycho.

Shedskin C++-vertaler

Schuurhuid is een systeem dat de Python-broncode omzet in C++-broncode, die vervolgens kan worden gecompileerd tot machinecode. Bovendien implementeert het systeem een ​​platformonafhankelijke benadering voor het uitvoeren van Python-code.

Bevroren binaire bestanden

Soms moet je onafhankelijke programma's maken op basis van je Python-programma's uitvoerbare bestanden. Dit is eerder nodig voor het verpakken en distribueren van programma's.

Vast binaire bestanden samengevoegd in enkel bestand pakketbytecodeprogramma's, PVM en ondersteuningsbestanden, noodzakelijke programma's. Het resultaat is één uitvoerbaar bestand, zoals een bestand met de extensie ".exe" voor Windows.

Tegenwoordig zijn er drie belangrijke hulpmiddelen voor het maken van "bevroren binaire bestanden":

  • py2exe- het kan zelfstandige programma's voor Windows maken die de Tkinter-, PMW-, wxPython- en PyGTK-bibliotheken gebruiken om GUI, programma's die gebruik maken van PyGame-software voor het maken van games, client programma's win32com en vele anderen;
  • PyInstaller- lijkt op py2exe, maar draait ook op Linux en UNIX en kan zelfinstallerende uitvoerbare bestanden produceren;
  • bevriezen- originele versie.

Je moet deze tools apart downloaden vanuit Python, ze zijn gratis.

Vaste binaire bestanden zijn behoorlijk groot omdat ze PVM bevatten, maar naar moderne maatstaven zijn ze nog steeds niet ongebruikelijk groot. Omdat de Python-interpreter rechtstreeks in de vaste binaire bestanden is ingebouwd, is het installeren ervan geen vereiste om programma's aan de ontvangende kant uit te voeren.

Cv

Dat is alles voor vandaag, in het volgende artikel zal ik je erover vertellen standaard typen gegevens in Python, en in volgende artikelen zullen we elk type afzonderlijk beschouwen, evenals functies en operators voor het werken met deze typen.

Laatste update: 24-01-2018

Python is een populaire programmeertaal op hoog niveau die is ontworpen voor het maken van verschillende soorten applicaties. Deze omvatten webapplicaties, games en desktop-programma's en werken met databases. Python is behoorlijk wijdverspreid geworden op het gebied van machine learning en onderzoek naar kunstmatige intelligentie.

De Python-taal werd voor het eerst aangekondigd in 1991 door de Nederlandse ontwikkelaar Guido Van Rossum. Sindsdien heeft deze taal een lange weg afgelegd in ontwikkeling. In 2000 werd versie 2.0 gepubliceerd en in 2008 versie 3.0. Ondanks de ogenschijnlijk grote verschillen tussen de versies, worden er voortdurend subversies vrijgegeven. Dus de huidige huidige versie op het moment van schrijven van dit materiaal bedraagt ​​3,7. Meer gedetailleerde informatie over alle releases, versies en taalwijzigingen, evenals de tolken zelf en noodzakelijke nutsvoorzieningen voor werk en andere nuttige informatie is te vinden op de officiële website https://www.python.org/.

Belangrijkste kenmerken van de taal Python-programmering:

Python is een zeer eenvoudige programmeertaal; het heeft een beknopte en tegelijkertijd vrij eenvoudige en begrijpelijke syntaxis. Dienovereenkomstig is het gemakkelijk te leren, en in feite is dit een van de redenen waarom het een van de meest populaire programmeertalen is, specifiek om te leren. In het bijzonder werd het in 2014 erkend als de meest populaire programmeertaal voor leren in de Verenigde Staten.

Python is ook populair, niet alleen bij het lesgeven, maar ook bij het schrijven specifieke programma's inclusief commerciële. Dit is grotendeels de reden waarom veel bibliotheken zijn geschreven voor deze taal die we kunnen gebruiken.

Bovendien heeft deze programmeertaal een zeer grote community die je op internet kunt vinden; gegeven taal veel nuttige materialen, voorbeelden, krijg gekwalificeerde hulp van specialisten.

Om programma's in Python te maken, hebben we een tolk nodig. Om het te installeren, ga naar de website https://www.python.org/ en op de hoofdpagina in de sectie Downloads vinden we de downloadlink nieuwste versie taal (in op dit moment dit is 3.7.2):

Laten we de link volgen naar de pagina die de nieuwste versie van de taal beschrijft. Dichterbij vindt u een lijst met distributies voor verschillende besturingssystemen. Laten we het pakket selecteren dat we nodig hebben en het downloaden. In mijn geval is het bijvoorbeeld Windows 64-bit, dus ik selecteer de pakketlink Windows x86-64 uitvoerbaar installatieprogramma. Nadat u de distributie heeft gedownload, installeert u deze.

Dienovereenkomstig kunt u voor MacOS het macOS 64-bit-installatieprogramma selecteren.

Wanneer u op Windows OS het installatieprogramma start, wordt het venster van de installatiewizard geopend:

Hier kunnen we het pad instellen waar de tolk zal worden geïnstalleerd. Laten we het als standaard laten, dat wil zeggen C:\Users\[gebruikersnaam]\AppData\Local\Programs\Python\Python36\.

Vink bovendien helemaal onderaan het selectievakje "Add Python 3.6 to PATH" aan om het pad naar de tolk toe te voegen aan de omgevingsvariabelen.

Na de installatie kunnen we pictogrammen voor toegang tot verschillende Python-hulpprogramma's vinden in het Start-menu op Windows OS:

Hier biedt het hulpprogramma Python 3.7 (64-bit) een tolk waarin we het script kunnen uitvoeren. IN bestandssysteem Het tolkbestand zelf is te vinden langs het pad waar de installatie werd uitgevoerd. In Windows is dit het standaardpad C:\Users\[gebruikersnaam]\AppData\Local\Programs\Python\Python37, en de tolk zelf vertegenwoordigt het bestand python.exe. Op besturingssysteem Linux-installatie geproduceerd op het pad /usr/local/bin/python3.7 .

Er zijn veel toepassingen voor Python, maar er zijn er een paar waar het bijzonder goed in is. Laten we eens kijken wat er in deze taal kan worden gedaan.

Belangrijkste verschillen:

  • Flask biedt eenvoud, flexibiliteit en volledige controle op het project. Het stelt de gebruiker in staat zelfstandig te beslissen hoe hij bepaalde zaken wil implementeren.
  • Django is een all-inclusive service. Out of the box heeft het al een beheerderspaneel, database-interfaces, ORM (Object Relational Mapping) en een directorystructuur voor uw projecten.

Wat te kiezen?

  • Kies Flask als je meer ervaring en leermogelijkheden wilt. Of als u maximale controle nodig heeft over alle gebruikte componenten, bijvoorbeeld databases.
  • Kies Django als je geïnteresseerd bent eindproduct. Zeker als je ermee werkt eenvoudige toepassingen, zoals een nieuwssite, een winkel, een blog, en je wilt dat elke taak op één uiterst duidelijke manier wordt opgelost.

Met andere woorden: Flask misschien wel beste keuze voor de beginnende ontwikkelaar omdat het minder componenten bevat. Bovendien is het de moeite waard om te kiezen als je dat nodig hebt fijnafstemming project.

Flask is vanwege zijn flexibiliteit beter geschikt voor het maken van REST API's.

Aan de andere kant, als het doel is om iets snel en gemakkelijk te doen, moet je waarschijnlijk voor Django kiezen.

Data Science: machine learning, data-analyse en visualisatie

Allereerst moet je uitzoeken wat het is.

Stel dat u een programma wilt ontwikkelen dat automatisch detecteert wat er op een afbeelding wordt weergegeven.

Door het bijvoorbeeld met deze afbeelding te presenteren, wilt u dat het programma de hond identificeert.

En hier zou ze een tafel moeten zien.

U denkt misschien dat u eenvoudigweg beeldanalysecode kunt schrijven om dit probleem op te lossen. Als er bijvoorbeeld veel lichtbruine pixels in de foto voorkomen, concluderen we dat het een hond is.

Of je kunt leren randen en grenzen in een afbeelding te identificeren. Dan de foto met een groot aantal rechte grenzen zullen waarschijnlijk een tafel blijken te zijn.

Dit is echter een vrij complexe en slecht doordachte aanpak. Wat moet je doen als de foto een witte hond toont zonder bruine vlekken? Of als de foto een ronde tafel toont?

Dit is waar machinaal leren een rol gaat spelen. Meestal implementeert het een aantal , waardoor automatische detectie van een bekend patroon tussen de invoergegevens mogelijk is.

Je kunt het machine learning-algoritme bijvoorbeeld 1000 afbeeldingen van een hond en 1000 afbeeldingen van tafels invoeren. Het leert het verschil tussen deze objecten. Wanneer je het hem dan geeft nieuwe foto met een tafel of een hond kan hij bepalen wat er precies op staat afgebeeld.

  • scikit-learn heeft verschillende populaire leeralgoritmen kant-en-klaar ingebouwd;
  • TensorFlow is een bibliotheek op een lager niveau. Hiermee kunt u aangepaste algoritmen maken.

Voor nieuwkomers machinaal leren Het is beter om te beginnen met scikit-learn. Meer ervaren ontwikkelaars, die met efficiëntieproblemen worden geconfronteerd, is het de moeite waard om TensorFlow eens nader te bekijken.

Hoe machine learning bestuderen?

Echte analisten, zoals die bij Google of Microsoft, doen hetzelfde, alleen is hun werk complexer en complexer.

Ze gebruiken de SQL-querytaal om gegevens uit databases op te halen. Vervolgens worden ze gebruikt voor analyse en visualisatie speciaal gereedschap, bijvoorbeeld Mathplotlib (voor Python) of D3.js (voor JavaScript).

Manieren om Python te gebruiken voor data-analyse en visualisatie

Een van de meest populaire bibliotheken voor visualisatie is Mathplotlib.

Beginners zouden er om twee redenen mee moeten leren:

  • lage instapdrempel;
  • Door Mathplotlib onder de knie te krijgen, kunt u in de toekomst snel complexere bibliotheken begrijpen die daarop zijn gebaseerd, bijvoorbeeld seaborn.

Hoe leer je data-analyse in Python?

Onlangs zijn sommige bedrijven JavaScript gaan gebruiken om desktopapplicaties te maken. De Slack-desktopapp is bijvoorbeeld gebouwd met behulp van het Electron JavaScript-framework.

Het voordeel van het schrijven van desktopapplicaties in JavaScript is dat je de code uit de webversie kunt hergebruiken.

Python 3 of Python 2

Python 3 is een modernere en populaire keuze.

Uitleg van backend- en frontendcode

Stel dat je iets wilt doen dat doet denken aan Instagram.

Python is een veelgebruikte programmeertaal op hoog niveau, vernoemd naar de beroemde Britse comedy-tv-show " Het vliegende circus van Monty Python" De Python-taal is eenvoudig van structuur, maar toch ongelooflijk flexibel en krachtig. Gezien dat Python-code Het is gemakkelijk te lezen en zonder te strikt te zijn in de syntaxis. Het wordt door velen beschouwd als de beste inleidende programmeertaal.

Python - beschrijving van de taal waarin wordt opgegeven Foundation beschrijft Python:

Python is een geïnterpreteerde, interactieve, objectgeoriënteerde programmeertaal. Het omvat modules, uitzonderingen, dynamisch typen, op hoog niveau dynamische typen gegevens en klassen. Python combineert uitstekende prestaties met duidelijke syntaxis. Het biedt interfaces voor veel systeemaanroepen en bibliotheken, evenals verschillende venstersystemen, en is uitbreidbaar met C en C++. Python wordt gebruikt als uitbreidingstaal voor toepassingen die dat nodig hebben software-interface. Ten slotte is Python een platformonafhankelijke taal: het draait op veel versies van Unix, Macs en computers met MS-DOS, Windows, Windows NT en OS/2.

Welke programmeertaal moet je eerst leren?

Je kunt beginnen met het leren van de programmeertaal Python. Om te illustreren hoe Python verschilt van andere introductietalen, denk eens terug aan de tijd dat je een tiener was.

Leer programmeren met met behulp van Python vergelijkbaar met het besturen van de minibus van je ouders. Nadat u er een paar keer mee op een parkeerplaats heeft rondgereden, begint u te begrijpen hoe u met de auto moet omgaan.

Proberen te leren programmeren met C ( of zelfs assembler) Het is alsof je leert autorijden door de minibus van je ouders in elkaar te zetten. Je zit jarenlang vast in een garage om onderdelen in elkaar te zetten, en tegen de tijd dat je volledig begrijpt hoe de auto werkt en toekomstige problemen kunt oplossen en voorspellen, zul je al opgebrand zijn voordat je ooit achter de auto kunt komen. wiel.

Voordelen van Python

Python is een universele taal voor beginners. Met Python kunt u workflows automatiseren, websites maken en desktopapplicaties en games maken. Overigens is de vraag naar Python-ontwikkelaars ( PostgreSQL, OOP, Flask, Django) is de afgelopen jaren dramatisch gegroeid bij bedrijven als Instagram, Reddit, Tumblr, YouTube en Pinterest.

Taal voor algemeen gebruik op hoog niveau

Python verwijst naar talen op hoog niveau programmeren. Hiermee kunt u vrijwel elk type maken software. Deze veelzijdigheid houdt u geïnteresseerd terwijl u programma's en oplossingen ontwikkelt die op uw interesses zijn gericht, in plaats van vast te lopen in het onkruid van een taal die zich zorgen maakt over de syntaxis ervan.

Geïnterpreteerde taal

De programmeertaal Python voor beginners wordt geïnterpreteerd, waardoor je niet hoeft te weten hoe je code moet compileren. Omdat er geen compilatiestap is, neemt de productiviteit toe en wordt de tijd voor bewerken, testen en debuggen aanzienlijk verkort. Download gewoon de IDE ( IDE), schrijf uw code en klik op "Uitvoeren" ( Loop).

De leesbaarheid van de code is essentieel

De eenvoudige, gemakkelijk te leren syntaxis van Python benadrukt de leesbaarheid en definieert goede stijl programmeren. Met Python kunt u uw concept in minder regels code uitdrukken. Deze taal dwingt je ook om na te denken over programmalogica en algoritmen. Daarom wordt het vaak gebruikt als script- of integratietaal ( lijm taal) om bestaande componenten aan elkaar te koppelen en in korte tijd grote hoeveelheden gemakkelijk leesbare en uitvoerbare code te schrijven.

Het is gewoon leuk

Je kunt geen programmeertaal naar Monty Python vernoemen zonder gevoel voor humor. Bovendien zijn er tests uitgevoerd om de tijd te vergelijken die nodig is om een ​​eenvoudig script in verschillende talen te schrijven ( Python, Java, C, J, BASIS):

...Python heeft minder tijd, minder regels code en minder concepten nodig om je doel te bereiken... En als klap op de vuurpijl is programmeren in Python leuk! Plezier hebben en regelmatig succes hebben, wekt vertrouwen en interesse bij studenten, die beter voorbereid worden op verdere studie Python-taal.

Vertaling van het artikel “Waarom Python leren? "werd opgesteld door het vriendelijke projectteam.

Goed slecht

Er was eens, op een gesloten forum, geprobeerd Python les te geven. Over het algemeen zijn de zaken daar tot stilstand gekomen. Ik had medelijden met de geschreven lessen en besloot ze voor het grote publiek te publiceren. Tot nu toe de allereerste, de eenvoudigste. Wat er daarna gebeurt, is interessanter, maar misschien zal het niet interessant zijn. Over het algemeen zal dit bericht een testballon zijn, als je het leuk vindt, zal ik het verder posten.

Python voor beginners. Hoofdstuk één. "Waar hebben we het over"

Voor het geval dat, een beetje saaie “evangelisatie”. Als je hem beu bent, kun je een paar alinea's overslaan.
Python (uitgesproken als "Python" in plaats van "python") is een scripttaal ontwikkeld door Guido van Rossum als een eenvoudige taal, gemakkelijk te leren voor een beginner.
Tegenwoordig is Python een veelgebruikte taal die op veel gebieden wordt gebruikt:
- Ontwikkeling van applicatiesoftware (bijvoorbeeld Linux-hulpprogramma's yum, pirut, system-config-*, Gajim IM-client en vele anderen)
- Ontwikkeling van webapplicaties (de krachtigste applicatieserver die Zope en het CMS Plone op basis daarvan ontwikkelden, waarop bijvoorbeeld de CIA-website werkt, en veel raamwerken voor snelle ontwikkeling toepassingen Plones, Django, TurboGears en vele anderen)
- Gebruik als inbouw scripttaal in veel games, en niet alleen (in kantoorpakket OpenOffice.org, 3D-editor Blender, Postgre DBMS)
- Gebruik bij wetenschappelijke berekeningen (met de SciPy- en numPy-pakketten voor berekeningen en PyPlot voor het tekenen van grafieken wordt Python bijna vergelijkbaar met pakketten als MatLab)

En dit is natuurlijk verre van volledige lijst projecten waarin deze prachtige taal wordt gebruikt.

1. De tolk zelf, je kunt deze hier verkrijgen (http://python.org/download/).
2. Ontwikkelomgeving. Het is om te beginnen niet nodig, en de IDLE die in de distributie zit, is geschikt voor een beginner, maar voor serieuze projecten heb je iets serieuzers nodig.
Voor Windows gebruik ik de prachtige lichtgewicht PyScripter (http://tinyurl.com/5jc63t), voor Linux - Komodo IDE.

Hoewel voor de eerste les alleen de interactieve shell van Python zelf voldoende zal zijn.

Voer gewoon Python.exe uit. Het duurt niet lang voordat de invoerprompt verschijnt, deze ziet er als volgt uit:

U kunt ook programma's schrijven naar bestanden met de py-extensie, in uw favoriet teksteditor, die geen eigen opmaaktekens aan de tekst toevoegt (geen enkel Word zal niet werken). Het is ook wenselijk dat deze editor “slimme tabbladen” kan maken en geen spaties kan vervangen door tabbladen.
Om bestanden te starten voor uitvoering, kunt u erop dubbelklikken. Als het consolevenster te snel sluit, voegt u de volgende regel in aan het einde van het programma:

Vervolgens wacht de tolk tot u aan het einde van het programma op Enter drukt.

Of koppel py-bestanden in Far met Python en open deze door op Enter te drukken.

Ten slotte kunt u een van de vele handige IDE's voor Python gebruiken, die debug-mogelijkheden, syntaxisaccentuering en vele andere "gemakken" bieden.

Een beetje theorie.

Om te beginnen is Python een sterk dynamisch getypeerde taal. Wat betekent dit?

Er zijn talen met sterk typen (pascal, java, c, etc.), waarbij het type van een variabele vooraf wordt bepaald en niet kan worden gewijzigd, en er zijn talen met dynamisch typen (python, ruby, vb ), waarin het type van een variabele wordt geïnterpreteerd afhankelijk van de toegewezen waarde.
Dynamisch getypeerde talen kunnen worden onderverdeeld in nog 2 typen. Strikte, die geen impliciete typeconversie toestaan ​​(Python), en losse, die impliciete typeconversies uitvoeren (bijvoorbeeld VB, waarin u eenvoudig de string "123" en het getal 456 kunt toevoegen).
Laten we, nadat we de classificatie van Python hebben behandeld, proberen een beetje met de tolk te ‘spelen’.

>>> a = b = 1 >>> a, b (1, 1) >>> b = 2 >>> a, b (1, 2) >>> a, b = b, a >>> een , b (2, 1)

We zien dus dat de toewijzing wordt uitgevoerd met behulp van het =-teken. U kunt aan meerdere variabelen tegelijk een waarde toekennen. Wanneer u een variabelenaam opgeeft voor de tolk in interactieve modus, het drukt zijn waarde af.

Het volgende dat u moet weten, is hoe de basisalgoritmische eenheden zijn opgebouwd: vertakkingen en lussen. Om te beginnen is een beetje hulp nodig. In Python is er geen speciaal scheidingsteken voor codeblokken. Dat wil zeggen, wat met dezelfde inspringing is geschreven, is één commando blok. In eerste instantie lijkt dit misschien vreemd, maar na een beetje wennen besef je dat je met deze "geforceerde" maatregel zeer leesbare code kunt krijgen.
Dus de voorwaarden.

De voorwaarde wordt gespecificeerd met behulp van een if-instructie die eindigt met “:”. Alternatieve voorwaarden waaraan zal worden voldaan als de eerste controle mislukt, worden gespecificeerd door de elif-operator. Ten slotte specificeert else een vertakking die zal worden uitgevoerd als aan geen van de voorwaarden wordt voldaan.
Houd er rekening mee dat de tolk na het typen van if de prompt "..." gebruikt om aan te geven dat hij op verdere invoer wacht. Om hem te vertellen dat we klaar zijn, moeten we een lege regel invoeren.

(Het voorbeeld met branches verbreekt om de een of andere reden de markup op de hub, ondanks de dansen met de pre- en codetags. Sorry voor het ongemak, ik heb het hier op pastebin.com/f66af97ba geplaatst, als iemand me vertelt wat er mis is, zal ik het doen wees heel dankbaar)

Cycli.

Het eenvoudigste geval van een lus is terwijl lus. Het neemt een voorwaarde als parameter en wordt uitgevoerd zolang deze waar is.
Hier is een klein voorbeeld.

>>> x = 0 >>> terwijl x<=10: ... print x ... x += 1 ... 0 1 2 ........... 10

Houd er rekening mee dat, aangezien zowel print x als x+=1 met dezelfde inspringing zijn geschreven, ze worden beschouwd als het lichaam van de lus (weet je nog wat ik zei over blokken? ;-)).

Het tweede type lus in Python is de for-lus. Het is vergelijkbaar met de foreach-lus in andere talen. De syntaxis is ongeveer als volgt.

Voor variabele in lijst:
ploegen

Alle waarden uit de lijst worden op hun beurt aan de variabele toegewezen (in feite kan er niet alleen een lijst zijn, maar ook elke andere iterator, maar laten we ons daar voorlopig geen zorgen over maken).

Hier is een eenvoudig voorbeeld. De lijst zal een string zijn, wat niets meer is dan een lijst met karakters.

>>> x = "Hallo, Python!" >>> voor teken in x: ... print teken ... H e l ........... !

Op deze manier kunnen we de string in karakters ontleden.
Wat moeten we doen als we een lus nodig hebben die een bepaald aantal keren wordt herhaald? Het is heel eenvoudig, de bereikfunctie komt te hulp.

Bij de invoer zijn er één tot drie parameters nodig, bij de uitvoer retourneert het een lijst met getallen die we kunnen 'doornemen' met de operator for.

Hier volgen enkele voorbeelden van het gebruik van de bereikfunctie, waarin de rol van de parameters worden uitgelegd.

>>> bereik(10) >>> bereik(2, 12) >>> bereik(2, 12, 3) >>> bereik(12, 2, -2)

En een klein voorbeeld met een cyclus.

>>> voor x binnen bereik(10): ... print x ... 0 1 2 ..... 9

IO

Het laatste dat u moet weten voordat u Python volledig gaat gebruiken, is hoe input-output daarin wordt uitgevoerd.

Voor uitvoer wordt het printcommando gebruikt, dat alle argumenten in voor mensen leesbare vorm afdrukt.

Voor console-invoer wordt de functie raw_input(prompt) gebruikt, die een prompt weergeeft en wacht op gebruikersinvoer, waarbij wordt geretourneerd wat de gebruiker als waarde heeft ingevoerd.

X = int(raw_input("Voer een getal in:")) print "Het kwadraat van dit getal is ", x * x

Aandacht! Ondanks het bestaan ​​van de functie input() met een vergelijkbare actie, wordt het niet aanbevolen om deze in programma's te gebruiken, omdat de tolk probeert syntaxisexpressies uit te voeren die ermee worden ingevoerd, wat een ernstig gat in de beveiliging van het programma is.

Dat was het voor de eerste les.

Huiswerk.

1. Maak een programma voor het berekenen van de hypotenusa van een rechthoekige driehoek. De lengte van de poten wordt opgevraagd bij de gebruiker.
2. Maak een programma voor het vinden van de wortels van een kwadratische vergelijking in algemeen beeld. De coëfficiënten worden opgevraagd bij de gebruiker.
3. Maak een programma om een ​​tafel van vermenigvuldiging met het getal M weer te geven. De tabel wordt samengesteld van M * a, tot M * b, waarbij M, a, b wordt opgevraagd bij de gebruiker. De uitvoer moet in een kolom worden uitgevoerd, één voorbeeld per regel in de volgende vorm (bijvoorbeeld):
5 x 4 = 20
5 x 5 = 25
En zo verder.