Waar wordt Python voor gebruikt? Serieuze bibliotheken met wetenschappelijke gegevens. Python en ingebedde applicaties

Python is een programmeertaal met een vrij lage instapdrempel en wordt daarom vaak gekozen door beginnende programmeurs. Heb je al besloten om Python te leren? Hier zijn tien feiten over hem die u zullen helpen uw twijfels weg te nemen en uw keuze te maken. Ze zullen niet alleen interessant zijn voor programmeurs!

1. Python werkt bijna overal

Python draait op vrijwel alle bekende platforms: van zakcomputers en smartphones tot netwerkservers. Python-versies zijn geporteerd naar Windows, Linux/UNIX, macOS en macOS X, iPhone OS 2.0 en hoger, Palm OS, OS/2, AS/400 en zelfs OS/390, Windows Mobiel, Symbian en Android.

2. Python heeft eeuwenoude wortels

Sommige programmeurs beschouwen deze programmeertaal als jong. Hoe zeg je dat? Vergeleken met de C-taal is Python jong. Maar het werk eraan begon eind jaren tachtig en de eerste volledige versie verscheen in 1991. Python viert dus al lang zijn volwassenwording. Het is een volwassen en evoluerende programmeertaal, maar zeker niet dood, zoals sommige mensen denken. Trouwens, een maand geleden, op 17 juli 2017, werd versie 3.6.2 uitgebracht.

3. Steun de “grote jongens”

De grote jongens - Google, Yahoo, NASA, Industrial Light & Magic en zelfs Microsoft - gebruiken Python. Bevestiging is gemakkelijk te vinden op internet. Google geeft dus de voorkeur aan C++, Java en Python, en Microsoft heeft zelfs een Python Developer Center geopend.

4. Python is een van de populairste programmeertalen ter wereld



De voordelen van het behalen van een specialiteit bij GeekUniversity zijn als volgt.

  • Er wordt gebruik gemaakt van de aanpak van toonaangevende Amerikaanse trainingscentra. De student zal vier projecten moeten maken - zowel zelfstandig als in teamverband. Een jaar bij GeekUniversity is een jaar van echte ontwikkelingservaring voor je cv.
  • Tijdens de lessen zullen we geen eenvoudige applicatie zoals "Hallo wereld" creëren, maar een volwaardige applicatie client-server-applicatie - betalingssysteem. De student leert werken met databases, GUI-applicaties maken en veilige multi-threaded applicaties.
  • De student krijgt een persoonlijke mentor-curator. Werken met een mentor maakt het leren effectiever.
  • Het doel van GeekUniversity is werkgelegenheid voor afgestudeerden. Werkgelegenheid is gegarandeerd voor alle afgestudeerden.
  • GeekUniversity werkt op basis van staatslicentie nr. 038188. De afgestudeerde krijgt een staatscertificaat.


Krijgen aanvullende informatie U kunt meer te weten komen over de online universiteit door een aanvraag achter te laten op de website.

Al een tijdje spookt de gedachte door mijn hoofd of ik een korte notitie moet schrijven over het onderwerp waarom de programmeertaal Python de moeite waard is om te leren, en bovendien om er softwareprojecten in te maken.

Sommigen van jullie weten dat ik onlangs het grootste evenement in de Python-programmeergemeenschap heb bijgewoond: . Alle kosten werden volledig door mij gedekt zonder tussenkomst van sponsors of werkgevers. Misschien moet je, om zo'n evenement bij te wonen, enige emotionele gehechtheid aan het onderwerp hebben, en dat is waar.

Wat is Python?

Python is een programmeertaal algemeen doel, primair gericht op het verhogen van de productiviteit van de programmeur zelf, in plaats van de code die hij schrijft. In eenvoudige mensentaal kun je bijna alles in Python schrijven (web-/desktopapplicaties, games, automatiseringsscripts, complexe systemen berekeningen, levensondersteunende controlesystemen en nog veel, veel meer) zonder merkbare problemen. Bovendien is de toegangsdrempel laag en is de code grotendeels beknopt en begrijpelijk, zelfs voor degenen die er nog nooit in hebben geschreven. Door de eenvoud van de code wordt verder onderhoud van programma’s geschreven in Python eenvoudiger en leuker vergeleken met Java of C++. En vanuit zakelijk oogpunt betekent dit een verlaging van de kosten en een verhoging van de productiviteit van de medewerkers.

Laten we, om de beknoptheid aan te tonen, eens kijken naar de Python- en Java-code die een bestand opent en de inhoud ervan in een variabele opslaat:

Bestand = open("bestand.txt") inhoud = bestand.lezen()

Importeer java.io.IOException; java.nio.file.Files importeren; java.nio.file.Paths importeren; public static void main(String args) gooit IOException ( String content = new String(Files.readAllBytes(Paths.get("file.txt"))); )

De Java-code gebruikt een bijgewerkte interface om met het invoer-/uitvoersysteem te werken. De oude manier zou er nog erger uit hebben gezien :)

Wie gebruikt Python?

Zelfs de meest geavanceerde programmeertaal is waardeloos als niemand er iets om geeft. Een van de componenten van het succes van elke technologie is de gemeenschap die eromheen wordt gecreëerd. Dit is wat de toekomstige vector van ontwikkeling door middel van gezamenlijke inspanningen vooraf bepaalt. De Python-gemeenschap is een van de sterkste in de IT-wereld. Dit is een complex, goed georganiseerd en zich voortdurend ontwikkelend organisme. Naast honderdduizenden individuele ontwikkelaars en kleine softwarebedrijven wordt Python ondersteund door IT-giganten als:

En vele vele anderen. Indrukwekkend, nietwaar? Wat betreft grote en populaire projecten geschreven in Python, dit zijn monsters als:

  • YouTube ( meest codebasis geheel in Python)
  • De eerste versie van de Google-zoekspider is geschreven in Python, en later vanwege de extreem hoge belasting en snelheidsvereisten, werd herschreven in C++.
  • Bureaublad Dropbox-client
  • Reddit
  • Instagram (500 miljoen Python-gebruikers)
  • Bitbucket (Python 2.7 en Django 1.7.11)
  • EVE Online MMOPG
  • Quora
  • Spotify
  • De kritieke services van PayPal verwerken tot 2 miljard verzoeken per dag. Meer informatie vind je in de TalkPython-podcast, aflevering #54
  • Mozilla-diensten
  • Populaire ideeëndienst Pinterest
  • Disqus commentaarservice (ik gebruik het op deze blog, de service is geïmplementeerd in Django)
  • Huiselijk Facebook-diensten(zie poster in de mijne)
  • Mercurial versiecontrolesysteem (tot enige tijd geleden gebruikten Python-ontwikkelaars het in hun werk)
  • Wargaming-diensten

en ik weet zeker dat er nog veel meer interessante en populaire toepassingen, die ik vergat hier te vermelden (welkom in de reacties).

Wat betekent dit? Over veel dingen. En het allerbelangrijkste is dat grote bedrijven zijn niet bang om hun bedrijf rond Python op te bouwen Ze hebben er vertrouwen in dat de technologie zal overleven en mogen daarom geen problemen verwachten bij het vinden van specialisten. Bovendien is de verscheidenheid aan toepassingen ook indrukwekkend, wat het brede scala aan problemen aantoont dat Python meesterlijk oplost.

In een opmerking over het boek "" schreef ik dat het als basis werd genomen educatief materiaal voor een inleidende programmeercursus aan het MIT, computertaal in die tijd was het Lisp-dialect Scheme. De tijden veranderen, wat is nu leidend als digitale lingua franca...? Dat klopt, Python. Het wordt gebruikt als een betrouwbaar hulpmiddel in zo'n geweldig ambacht.

Python-nadelen

Een lezer die niet bekend is met Python kan de indruk krijgen dat het een wondermiddel is voor alle kwalen, een wondermiddel en een geneesmiddel tegen kanker. Maar niet alles is zo rooskleurig en prachtig. Zoals alles heeft Python een aantal tekortkomingen, die soms van cruciaal belang kunnen zijn en de keuze kunnen beïnvloeden die niet in het voordeel van de slang is.

Snelheid

Een van de belangrijkste nadelen is de relatief lage uitvoeringssnelheid. Python is een volledig dynamisch getypeerde taal, automatische controle geheugen. Hoewel dit op het eerste gezicht misschien een voordeel lijkt, kan Python bij het ontwikkelen van programma's met hogere efficiëntie-eisen aanzienlijk langzamer zijn dan zijn statische broers (C/C++, Java, Go). Wat zijn dynamische tegenhangers (PHP, Ruby, JavaScript) betreft, is het hier veel beter; Python voert code in de meeste gevallen sneller uit dankzij pre-compilatie in bytecode en een aanzienlijk deel standaard bibliotheek, geschreven in C. Op conferenties had ik de gelegenheid om te praten met jongens van grote bedrijven als Wargaming, velen van hen hebben de neiging om in de richting van statistiek te evolueren, en meestal is dit Go, Rust.

Een interessant rapport over de snelheid en optimalisatie van CPython (native implementatie van de taal in C) werd gelezen op PiterPy 2015 in St. Petersburg:

Dynamisch typen

Voor beginnende programmeurs lijkt een programmeertaal met dynamisch typen op het eerste gezicht (en op de tweede en zelfs op de derde) misschien een uitlaatklep, een hemels genot, vooral voor degenen die eerder met 'statistieken' te maken hebben gehad. Maar dat is er ook achterkant maan. Naarmate de codebasis groeit (en dit is vaak een onvermijdelijk proces bij succesvolle projecten), moet u het type in de gaten houden doorgegeven aan een vriend Het kan erg moeilijk zijn voor een datavriend (en bij gebrek aan duidelijke documentatie en tests is het bijna onmogelijk), dit is waar problemen ontstaan ​​wanneer ze bijvoorbeeld een methode op Geen proberen aan te roepen of tijdens het coderen toegang krijgen tot een attribuut uitvoering. Om dit soort problemen op te lossen, worden dynamische talen overwoekerd met allerlei krukken, fluitjes en trucs in de vorm van type-annotaties, mypy-projecten voor statische code-analyse, enzovoort. Dit geeft op zijn beurt een negatieve connotatie aan de esthetische kant van de code.

Vanwege taalbeperkingen verschijnen er alternatieve implementaties van tolken: PyPy, Pyston, Jython, Cython en vele anderen. Nu is de trend duidelijk zichtbaar in deze richting, Pyston wordt bijvoorbeeld ontwikkeld binnen de muren van de zogenaamde. Mekka van Python-programmeurs - Dropbox :)

Conclusie

Ondanks een aantal problemen die historisch inherent zijn aan Python, blijft het een toonaangevend hulpmiddel in een aantal niches:

  • Ontwikkeling van webapplicaties (hier hebben we de onbetwiste leider in de vorm van Django).
  • Data-analyse en machinaal leren (scipy, scikit-learn, panda's, numpy-pakketten erkend door de wereldwijde wetenschappelijke gemeenschap).
  • Inleiding tot programmeren (pygame, schildpad zijn goed in het motiveren van kinderen om te beginnen met coderen).
  • Snelle prototyping van ideeën in het bedrijfsleven dankzij de overvloed aan kant-en-klare bibliotheken, een lage toegangsdrempel tot de taal en de hoge productiviteit van programmeurs die in Python schrijven.
  • Schrijven van scripts (scenario’s) om taken te automatiseren. Python wordt standaard geleverd bij alle distributies van Unix-achtige systemen en is in alle opzichten een uitstekende vervanging voor Bash.

Ik weet zeker dat ik nog iets vergeten ben. Over het algemeen regeert Python!

Koppelingen

  • Uitstekend rapport over GIL(Algemene tolkvergrendeling). GIL is een van de ernstige knelpunten in Python op weg naar parallel programmeren.
  • Guido van Rossum's lezing over typeannotaties op de PyCon US van vorig jaar.
  • Raymond Hettinger op de PyCon van vorig jaar lees een uitstekend rapport over het onderwerp van de pythonische benadering van het schrijven van code, waarin wordt getoond hoe Java-achtige code kan worden omgezet in Python-achtige code. Onvoorwaardelijk moet kijken.
  • Post-in technische blog Instagram over hoe ze omgaan met werklasten met Python en Django.
  • 10 mythen over Enterprise Python op de PayPal-blog.

Soms komen ze bij mij langs verschillende ideeën op zelfontwikkeling. Dit zijn totaal verschillende gedachten over wat ik zou moeten beheersen, wat ik zou moeten leren, wat ik zou moeten begrijpen. En op een van deze momenten dacht ik erover om te leren programmeren. Ik begon met Pascal-taal, relevant in die tijd, en nu ik al ongeveer 3 talen had gestudeerd, begon ik te denken: is het de moeite waard om Python te leren?

Uit dit artikel leer je:

Ik, Gridin Semyon, heet alle lezers van mijn blog Kip-World welkom. Denk je er al lang over om te beginnen met programmeren? Misschien denkt u erover na hoe u om te beginnen een programmeertaal kunt kiezen?

Of misschien ben je gewoon bang om te beginnen? Of ben je gewoon iemand die per ongeluk op mijn artikel stuitte? In ieder geval vindt u hier antwoorden op enkele van uw vragen!

In elk van de bovenstaande gevallen wil ik u de belangrijkste vraag stellen: welke problemen gaat u oplossen met deze of gene taal?

Ik heb een klein “micro-artikel” samengesteld waar u over kunt nadenken.

Is het de moeite waard om Python te leren?

Ik denk dat het voor niemand een geheim is dat letterlijk 5-6 jaar geleden Pascal de eerste taal was om programmeren op welke school dan ook te studeren. Pascal is een prachtige taal van zijn tijd, maar helaas of gelukkig heeft het zijn bruikbaarheid overleefd en nu is het, als eerste programmeertaal, een slimme keuze voor elke beginnende programmeur!

Je vraagt ​​je nu misschien af: “Waarom is het de moeite waard om Python als je eerste programmeertaal te leren?” Er schuilt geen mysterie in, net zoals er geen raadsel is.

Voordelen van de programmeertaal Python

Ten eerste, het is belangrijk om dat te weten gegeven taal Er is nu veel vraag naar programmeren in veel bedrijven, vooral in Moskou en St. Petersburg. Dus als je het geluk hebt om in deze steden te wonen, dan kun je met deze taal op zoek gaan naar een zeer interessante en goedbetaalde baan.

Ten tweede, is een evoluerende programmeertaal, diverse veranderingen komt daarin eens in de twee tot drie jaar voor, en dit is erg goede indicator voor een programmeertaal.

Vierde, veel ondersteunen script-programmeertaal. Je kunt mee chatten buitenwereld via externe in- en uitgangen.

Programmeurs zijn dol op deze taal vanwege de beknoptheid en eenvoud van de code. Waar je in JavaScript of C++ twee of drie pagina's zou moeten schrijven, kan dat in Python in slechts één pagina!

En ook heel belangrijk kenmerk Python-taal is dat het wordt gebruikt voor webontwikkeling. Bovendien wordt het niet als gewone taal gebruikt, maar voert het er een uit interessante kenmerken. Python voor webontwikkeling wordt gebruikt in gevallen waarin andere talen falen! Dit is een zeer interessant en merkwaardig feit. Op dit gebied heeft de taal zijn eigen, persoonlijke niche!

Laten we het kort samenvatten:

  • Python is een compleet en multifunctionele taal programmering
  • Deze taal wordt op verschillende gebieden gebruikt, waaronder webprogrammering
  • Dit is een ideale taal om je ontwikkeling als programmeur te starten, omdat het duidelijk en gemakkelijk te gebruiken is.
  • Het is de favoriete taal van veel professionele programmeurs.

En als iemand nog vragen heeft: “Is het de moeite waard om Python te leren?”, “Is deze taal geschikt voor beginners?”, “Kan ik, nadat ik deze taal heb geleerd, een baan krijgen?” goed werk? Mijn antwoord: “Zeker ja! Leer deze taal, ongeacht of je een beginnende programmeur of een ervaren programmeur bent. Het zal zeker nuttig voor u zijn en u helpen bij uw activiteiten!”

Op dit punt moet ik afscheid van je nemen. Abonneer je op mijn blog, vertel je vrienden erover - hier zal veel interessante en belangrijke informatie te vinden zijn!

P.S. Met welke taal kun je volgens jou het beste beginnen? Misschien heeft iemand je ander advies gegeven? Ik zou heel blij zijn met een mening van buitenaf in de reacties!

Python wel universele taal hoog niveau, die kan worden uitgebreid en ingebed. Het is bijvoorbeeld opgenomen in het applicatiepakket als hulpmiddel voor het schrijven van macro's. Python doet het slimme keuze voor veel programmeertaken, groot en klein, en niet zo succesvol voor een klein aantal computertaken.

Waar kan ik het het beste gebruiken?

Python is ideaal voor projecten waarvoor snelle ontwikkeling. Het ondersteunt meerdere programmeerparadigma's, wat goed is voor programma's die flexibiliteit vereisen. En de aanwezigheid van veel pakketten en modules zorgt voor veelzijdigheid en bespaart tijd.

Guido van Rossum is de maker van Python, liefdevol geëerd door de gemeenschap met de titel van ‘goedaardige dictator voor het leven’. Eind jaren tachtig vond Guido de eigenschappen van sommige programmeertalen leuk, maar geen enkele had alle eigenschappen die hij wilde. In het bijzonder moest de taal de volgende kenmerken hebben.

Scripttaal

Een script is een programma dat andere programma's bestuurt. 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 bevrijden van probleemloze zaken als geheugenbeheer.

De gebruikersgemeenschap noemt het liever Python dynamische taal programmeren.

Inspringing voor het groeperen van instructies

Python bepaalt met behulp van inspringing of expressies tot dezelfde groep behoren. Deze groep wordt een codeblok genoemd. Andere talen gebruiken hiervoor een andere syntaxis of interpunctie. In C is het symbool ( geeft het begin aan en ) het einde van een reeks opdrachten. Inspringen wordt in andere talen als een goede praktijk beschouwd, maar een van de eersten die inspringen afdwong was Python. Wat geeft dit? Door inspringen is code gemakkelijker te lezen, 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, maar mensen hebben complexere vormen nodig, zoals tekst. Van een taal die complexe gegevens ondersteunt, wordt gezegd dat deze gegevenstypen op hoog niveau ondersteunt. Dit soort gegevens zijn gemakkelijk te manipuleren. In Python kunnen tekenreeksen bijvoorbeeld worden gesplitst, samengevoegd, geconverteerd naar hoofdletters of kleine letters, doorzocht, enz. Gegevenstypen op hoog niveau, zoals lijsten en woordenboeken, die andere gegevens kunnen opslaan, hebben veel meer functionaliteit dan andere talen.

Uitbreidbaarheid

De uitbreidbare programmeertaal kan worden uitgebreid. Dergelijke talen zijn erg krachtig omdat ze door de extensies geschikt zijn voor een verscheidenheid aan applicaties en besturingssystemen. Extensies kunnen concepten, modules of plug-ins toevoegen. De Python-taal is op verschillende manieren uitbreidbaar. Een kerngroep programmeurs werkt eraan om dit te veranderen en te verbeteren, en honderden anderen schrijven modules voor specifieke doeleinden.

Interpretatie

Geïnterpreteerde talen worden rechtstreeks uitgevoerd vanuit broncode geschreven door mensen, en programma's geschreven in gecompileerde talen zoals C++ moeten worden vertaald in langzamere talen omdat de vertaling on-the-fly gebeurt, maar het schrijven en debuggen van programma's gaat sneller omdat er niet hoeft te worden gewacht tot de compiler is voltooid. Ze zijn gemakkelijker over te zetten naar verschillende platforms.

Het is de vraag of Python een geïnterpreteerde of gecompileerde taal is. Hoewel het in veel opzichten geïnterpreteerd wordt, wordt de code gecompileerd voordat deze wordt uitgevoerd (zoals Java), en veel van de componenten draaien op volledige machinesnelheid omdat ze in C zijn geschreven.

Guido begon tijdens de kerstvakantie van 1989 met het schrijven van Python 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 Usenet-nieuwsgroep werd geplaatst.

Om programma's in Python te kunnen schrijven, moet je 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 taal vooraf geïnstalleerd en de versie ervan is afhankelijk van de leeftijd van het besturingssysteem. Als je Windows gebruikt, moet je Python zelf installeren. De installatiepakketbestanden kunnen worden geselecteerd op de python.org-website.

Twee manieren om te communiceren

Een van de redenen waarom programmeren in Python zo eenvoudig is, is dat het wordt geleverd met tools waarmee je programma's kunt ontwerpen, schrijven en debuggen.

IN interactieve modus opdrachten worden regel voor regel ingevoerd, net zoals het besturingssysteem (shell) opdrachten van de opdrachtregel accepteert. U kunt ook korte meerregelige programma's maken of code importeren tekstbestanden of ingebouwde Python-modules. Voor beginners is het handig om te weten dat de interactieve modus uitgebreid is hulp systeem. Dit handige manier het verkennen van de mogelijkheden van een programmeertaal.

De IDLE-ontwikkelomgeving omvat een interactieve modus en tools voor het schrijven en uitvoeren van programma's, evenals een naamvolgsysteem. De omgeving is geschreven in Python en demonstreert de uitgebreide mogelijkheden van de taal.

Interactieve modus

Hier kunt u bijna alles doen wat in een programma kan worden gedaan, zelfs code met meerdere regels schrijven. Deze modus kan dienen:

  • sandbox voor veilige experimenten;
  • een omgeving waarin je Python-programmeren kunt leren;
  • hulpmiddel voor het opsporen en oplossen van fouten.

De interactieve modus kan worden gebruikt als rekenmachine, tekst manipuleren en waarden aan variabelen toewijzen. U kunt ook modules, functies of delen van programma's importeren om ze te testen. Het helpt je te experimenteren met Python-objecten 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 huidige versie programma, de releasedatum, een paar tips verdere acties en de >>> invoerprompt.

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=
  • >>>x
  • >>> x afdrukken

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 met de naam Message gemaakt en wordt informatie weergegeven over

  • >>> klasse Bericht:
  • ... doorgang
  • >>> Bericht
  • >>>bericht afdrukken
  • __voornaamst__. Bericht

Snaren

In Python zijn strings reeksen karakters. Een letterlijke tekenreeks wordt gemaakt door tekens tussen enkele ("), dubbele (") of driedubbele (""" of """) aanhalingstekens te plaatsen. In het volgende voorbeeld wordt een waarde toegewezen aan de variabele x:

  • >>> x = "MijnString"

Python-string heeft verschillende ingebouwde mogelijkheden. Een daarvan is de mogelijkheid om een ​​kopie van jezelf terug te sturen. Al 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 erin zit in dit geval een verwijzing is naar een stringobject, moet u een puntoperator (.) plaatsen, gevolgd door 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 retourneert het eerste teken in de tekenreeks, s retourneert het tweede, enzovoort:

  • >>>x
  • >>>x

String-methoden werken met beide reguliere lijnen en met 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

Hoewel Python-tekenreeksen beperkt zijn tot tekens, zijn lijsten dat niet. Ze vertegenwoordigen geordende reeksen willekeurige objecten, inclusief andere lijsten. Bovendien kunt u hun elementen toevoegen, verwijderen en vervangen. Het vertegenwoordigt een reeks objecten, gescheiden door komma's, zoals 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"]
  • >>> basis
  • >>> basis
  • >>> bases.remove("U")
  • >>> basis
  • ["T", "G", "C", "A"]
  • >>> bases.sort()
  • >>> basis
  • ["A", "C", "G", "T"]

In dit voorbeeld is een lijst met individuele tekens gemaakt. 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() heeft Python nog een soortgelijke functie, 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 het object vertegenwoordigen;
  • lijst() - retourneert nieuwe lijst, 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 trefwoord def gevolgd door de functienaam en argumenten (verwachte invoerwaarden) tussen haakjes en eindigend 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 is een functie met de naam transcriberen gemaakt die een string 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. ziet er zo 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, maakt op basis daarvan een lijst en keert de volgorde om. 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 het scheidingsteken niet nodig is, wordt de methode gebruikt op lege regel, 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"]

Klassen

Om uw eigen objecten te maken, 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 bieden gemaksfuncties, maar geen enkele heeft de combinatie van gemak en kracht die Python biedt. Wat zijn deze voordelen? Hier zijn er enkele:

  • 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 waarmee wordt gewerkt een groot aantal tekst informatie.
  • Je kunt er op creëren grote toepassingen zonder dat u actieve programma's hoeft te controleren.
  • Python ondersteunt testen en debuggen individuele modules en hele programma's.

Waarschijnlijk hebben veel beginnende programmeurs zich herhaaldelijk afgevraagd: . Ik wil graag mijn ervaring met u delen over deze kwestie, namelijk, ik zal u vertellen hoe ik elkaar heb ontmoet Python, sloot zich aan bij de webontwikkelaars en begon desktopapplicaties voor elk systeem te ontwikkelen.

Ik leerde Python voor het eerst kennen in 2010. Wie heeft er geen idee wat het is, misschien wel meer gedetailleerde informatie Leer meer over Python op . Het belangrijkste voordeel van Python is hoe gemakkelijk het is om te leren. Feit is dat het zo dicht mogelijk bij de begrijpelijke (menselijke) Engelse taal. Waarschijnlijk wil je mij een vraag stellen: ‘Tenslotte, als jij ervaren ontwikkelaar PHP, waarom heb je Python nodig?. Het is een feit dat ik bij het leren van Python tegelijkertijd Engelse woorden en Ik leer ze tegelijkertijd. Tegelijkertijd doe ik NIET alleen webontwikkeling, maar werk ik met desktopapplicaties voor verschillende besturingssystemen, en krijg ik de mogelijkheid om games te ontwikkelen.

Eén ding kan ik nu met vertrouwen zeggen: als het mogelijk zou zijn om de tijd terug te draaien, zou ik allereerst de taal gaan leren Python.

Hoe Python te leren

Mijn Python-lessen worden gegeven in een klassieke stijl. Ik zal je alles leren, van kaft tot kaft. Je leert alles wat ik zelf weet. Na slechts een paar lessen proberen we eenvoudige programma's te schrijven, zoals Hello World.

Python

print("Hallo wereld")

print("Hallo wereld")

Nadat je mijn lessen hebt voltooid " « , leer je alles wat je nodig hebt om in de toekomst je eigen websites te ontwikkelen. Daarnaast leer je desktopapplicaties en consolescripts schrijven. Na voltooiing van de training beschikken al mijn studenten over niveaukennis Junior Python-ontwikkelaar .

Over het algemeen zal ik proberen u het maximale nuttige en nuttige over te brengen noodzakelijke informatie in elke les die ik geef.

Als iemand de taal wil leren kennen Python, na het lezen van de bovenstaande regels, heeft ieder van jullie nu de kans om te beginnen met studeren en zich bij de gelederen aan te sluiten Junior Python-ontwikkelaar .