Python sprogsyntaks. Funktioner i programmeringssproget Python

Sprog syntaks Python ligner på mange måder syntaksen for sprog som Perl, C og Java, men har samtidig en række forskelle fra disse programmeringssprog. I denne artikel vil vi se på det nødvendige grundlæggende denne programmeringssprog.

Første Python-program:

For det første skal det bemærkes, at Python du kan programmere i to tilstande: interaktive Og scriptet

Interaktiv programmeringstilstand:

Uden at videregive filnavnet som et argument, vil det køre Python tolk:

Indtast følgende tekst efter promptlinjen Python og tryk på Enter:

>>> print "Hej, Python!"

Hvis du gjorde alt korrekt, vil tolken producere linjen:

Hvis du modtager en fejl, skal du sørge for, at du har omskrevet koden korrekt, og at du bruger version 2.x af tolken (til version 3.x skal du bruge kommandoen print ("Hej, Python"))

Script programmeringstilstand:

Kører på python-kommandolinjen med navnet på filen (også kaldet et script) som parameter, begynder at udføre koden skrevet i denne fil. Når scriptet er afsluttet, vil tolken være inaktiv igen.

Lad os oprette et simpelt scriptprogram ved hjælp af Python. Åbn en hvilken som helst teksteditor (Sublime, Notepad++, gedit...), opret en fil i den med navnet test og filtypenavnet .py (alle filer, der indeholder kode i Python skal have en forlængelse .py) og skriv den kode, vi allerede kender til, i denne fil og gem filen:

Udskriv "Hej, Python!"

(Det antages at Python tolk du har den indstillet i PATH-variablen, det vil sige, at du er i en hvilken som helst mappe, kan du indtaste python for at starte fortolkeren)

Derefter skal du skrive følgende linje i kommandoprompten og trykke på Enter:

Identifikatorer i Python:

Identifikatorer i Python disse er navne, der bruges til at betegne en variabel, funktion, klasse, modul eller andet objekt. Identifikationen skal begynde med et bogstav (a til Z) eller en understregning (_), efterfulgt af et vilkårligt antal bogstaver, understregninger og tal (0 til 9).

I Python Det er ikke acceptabelt at bruge tegnsætning eller specialtegn såsom @, $ eller % som identifikatorer. Udover, Python der skelnes mellem store og små bogstaver, dvs kat Og Kat det er to forskellige navne.

Python har følgende konvention for navngivning af identifikatorer:

  • Klassenavne begynder med et stort bogstav, alle andre identifikatorer begynder med et lille bogstav.
  • Brug af en understregning som det første tegn i en identifikator betyder, at identifikatoren er privat (ikke tilladt at bruge uden for klassen).
  • Hvis en identifikator begynder og slutter med to understregninger (f.eks. __init__), betyder det, at det er et særligt navn, der er defineret i sproget.

Reserverede (søgeord) ord i Python:

Denne tabel indeholder alle Python nøgleord.

og elif hvis trykke
som andet importere hæve
hævde undtagen i returnere
pause exec er prøve
klasse endelig lambda mens
fortsætte for ikke hvilke
def fra eller udbytte
del global passere

Disse reserverede ord kan ikke bruges som et variabelnavn eller nogen anden identifikator. Alle Python nøgleord kun består af små bogstaver. Du kan få en liste over nøgleord i tolken ved hjælp af kommandoen

Hjælp ("søgeord")

Linjer og indrykninger:

En af de første funktioner Python En ting, der skiller sig ud for programmører, der begynder at lære dette programmeringssprog, er, at det ikke bruger parenteser til at angive individuelle kodeblokke. I stedet for dem ind Python koloner og indrykninger bruges.

Antallet af mellemrum i indrykninger er vilkårligt og vælges af enhver efter eget skøn, men efter aftale er det lig med fire mellemrum. I dette tilfælde skal fordybningen af ​​hele blokken være den samme.

For eksempel vil denne kodeblok fungere (selvom du ikke bør skrive det på denne måde):

Hvis det er sandt: udskriv "Hej" ellers: udskriv "Bye"

Og denne vil forårsage en fejl:

Hvis det er sandt: udskriv "Hej" udskriv "Bye"

Således i Python Flere linjer kode med samme indrykning vil danne en separat kodeblok. Takket være et sådant system øges kodens læsbarhed markant, og vanen med at skrive klart og struktureret er indpodet.

Multiline udtryk:

Udtryk i Python, som regel afsluttes med en ny linje. I dette programmeringssprog er der dog et særligt linjeskifttegn (\), der indikerer, at slutningen af ​​linjen ikke afslutter koden. For eksempel:

I alt = vare1 + \vare2 + \vare3

Udtryk, der er inden for parentes: firkantet (), krøllet (( )) eller parentes (()) kræver ikke et linjeskift. For eksempel:

Dage = ["søndag", "mandag", "tirsdag", "onsdag", "torsdag", "fredag", "lørdag"]

Citater i Python:

I Python Du kan bruge enkelte ("), dobbelte (") og tredobbelte (""" eller """) anførselstegn til at angive en strengdatatype, og strengen skal begynde og slutte med de samme anførselstegn. En linje, der spænder over flere linjer kode, skal være omgivet af tredobbelte anførselstegn. For eksempel:

Name = "wasd" description = "Noget tekst" biografi = """ Noget lang tekst for få linjer kode """

Dette materiale er beregnet til dem, der allerede er fortrolige med programmering og ønsker at mestre programmeringssproget Python. Det er designet til at vise dig på 10 minutter funktionerne i Python-sproget, syntaksfunktioner og de grundlæggende principper for at arbejde med Python ved hjælp af eksempler. Der er intet "vand" her - information, der ikke er direkte relateret til programmeringssproget. Lad os begynde!

Python-programmeringssproget er kendetegnet ved stærk skrivning (Stærk skrivning er kendetegnet ved, at sproget ikke tillader blanding af forskellige typer i udtryk og ikke udfører automatiske implicitte konverteringer, for eksempel kan du ikke trække et sæt fra en streng), dynamisk indtastning bruges - alle typer findes under programafvikling.

Deklarering af variabler er valgfri, navne skelner mellem store og små bogstaver (var og VAR er to forskellige variabler).

Python er et objektorienteret sprog alt i sproget er et objekt.

Får hjælp

Hjælp (hjælp) i Python er altid tilgængelig lige i tolken. Hvis du vil vide, hvordan et objekt fungerer, skal du ringe til hjælp( ). En anden nyttig instruktion er dir() , som viser alle et objekts metoder og egenskaberne for objekter .__doc__ som viser dig docstringen:

>>> help(5) Hjælp til int objekt: (etc etc) >>> dir(5) ["__abs__", "__add__", ...] >>> abs.__doc__ "abs(number) -> number Returner den absolutte værdi af argumentet."

Python syntaks

Python har ikke konstruktioner til afslutningsblokke (såsom klasse- eller funktionserklæringer, for eksempel) - blokke defineres ved hjælp af indrykning. Forøg fordybningen i begyndelsen af ​​blokken, formindsk den i slutningen af ​​blokken. Udsagn, der kræver indrykning, afsluttes med et kolon (:). Hvis du endnu ikke har kode efter start-of-block-sætningen, skal du indsætte en pass-erklæring for at bestå syntakskontrollen.

Mens rangelist == 1: bestået

Enkeltlinjekommentarer begynder med et hashtegn (#), mens kommentarer med flere linjer bruger (""") i begyndelsen og slutningen af ​​kommentaren.

Værdier tildeles ved hjælp af lighedstegnet ("=") (objekter navngives faktisk i processen).

Forskelstesten udføres med to lige store symboler ("==").

Du kan øge en værdi ved at bruge +=-operatoren og mindske den med -= ved at angive en variabel på venstre side og den værdi, hvormed stigningen/nedsættelsen vil ske til højre. Dette fungerer med mange datatyper i Python, inklusive strenge.

Du kan tildele en værdi til flere variabler på samme linje. Eksempler:

>>> myvar = 3 >>> myvar += 2 >>> myvar 5 >>> myvar -= 1 >>> myvar 4 """Dette er en kommentar med flere linier. De følgende linjer sammenkæder de to strenge.""" >>> mystring = "Hej" >>> mystring += "verden." >>> print mystring Hej verden. # Dette bytter variablerne på én linje(!). # Det krænker ikke stærk indtastning, fordi værdier faktisk ikke # bliver tildelt, men nye objekter er bundet til # de gamle navne. >>> myvar, mystring = mystring, myvar

Datatyper i Python

Python leverer datatyper såsom lister, tupler og ordbøger. Sæt er også tilgængelige ved at bruge sætmodulet i versioner før Python 2.5 og indbygget i sproget i senere versioner.

Lister ligner endimensionelle arrays. Det er muligt at have en liste bestående af andre lister.

Ordbøger er associative arrays, hvori data tilgås med nøgle.

Tuples er uforanderlige endimensionelle arrays.

"Arrays" i Python kan være af enhver type, hvilket betyder, at du kan kombinere tal, strenge og andre datatyper i lister/ordbøger/tupler.

Indekset for det første element er 0. En negativ indeksværdi begynder at tælle fra sidste til første, [-1] vil pege på det sidste element.

Variabler kan pege på funktioner.

>>> sample = , ("a", "tuple")] >>> mylist = ["Listeelement 1", 2, 3.14] >>> mylist = "Listeelement 1 igen" # Vi "ændrer elementet" >>> mylist[-1] = 3.21 # Her henviser vi til det sidste punkt >>> mydict = ("Nøgle 1": "Værdi 1", 2: 3, "pi": 3.14) >>>. mydict["pi"] = 3.15 # Sådan ændrer du ordbogsværdier >>> mytuple = (1, 2, 3) >>> myfunction = len >>> print myfunction(mylist) 3.

Du kan få et udsnit af et array (liste eller tupel) ved at bruge et kolon (:). At lade startindeksværdien være tom vil angive start fra den første værdi; Negative indekser tælles baglæns fra slutningen af ​​arrayet (-1 vil pege på det sidste element).

Se på eksemplerne:

>>> mylist = ["Listeelement 1", 2, 3.14] >>> udskriv minliste[:] ["Listeelement 1", 2, 3.1400000000000001] >>> udskriv minliste ["Listeelement 1", 2] > >> print mylist[-3:-1] ["List item 1", 2] >>> print mylist # Tilføjelse af en tredje parameter, "step" vil have Python-trin i # N element-intervaller, i stedet for 1. # F.eks. , vil dette returnere det første element, derefter gå til det tredje og # returnere det (altså emnerne 0 og 2 i 0-indeksering). >>> udskriv min liste[::2] ["Listepunkt 1", 3.14]

Strenge i Python

En apostrof (') eller dobbelte anførselstegn (dobbelt anførselstegn – ") kan bruges til at betegne en streng. Dette giver dig mulighed for at have anførselstegn inden for en streng angivet med apostrof (f.eks. 'Han sagde "hej."' er en gyldig streng).

Flerlinjestrenge er angivet ved at bruge en tredobbelt apostrof eller anførselstegn ("""). Python understøtter unicode uden for boksen. Den anden version af Python bruger dog tegnet (u) til at angive en streng, der indeholder unicode: u"Dette er en unicode-streng." Python3 indeholder alle strenge Unicode. Hvis du i Python3 har brug for en sekvens af bytes, som i det væsentlige var en streng i tidligere versioner, bruges symbolet (b): b"Dette er en bytestreng".

For at erstatte parameterværdier i en streng skal du bruge operatoren (%) og en tupel. Hver %s erstattes af et element fra tuple, fra venstre mod højre. Du kan også bruge en ordbog til at erstatte navngivne parametre:

>>>print "Navn: %s\ Nummer: %s\ String: %s" % (myclass.name, 3, 3 * "-") Navn: Poromenos Nummer: 3 String: --- strString = """ Dette er en flerlinjet streng.""" # ADVARSEL: Pas på de efterfølgende s i "%(key)s". >>> print "Dette %(verb) er et %(substantiv)s." % ("substantiv": "test", "verbum": "er") Dette er en test.

Flowstyringsinstruktioner - hvis, for, mens

Hvis, for og while-sætninger bruges til at kontrollere den rækkefølge, et program udføres i. Der er ingen switch eller case i Python, hvis der bruges i stedet. For bruges til at iterere gennem elementerne i en liste (eller tuple). For at få en talfølge, brug range( ). For at afbryde udførelsen af ​​en løkke bruges pause.

Syntaksen for denne konstruktion er som følger:

Rangelist = range(10) >>> udskriv rangelist for nummer i rangelist: # Tjek om nummer er et af # tallene i tuplen.

hvis nummer i (3, 4, 7, 9): # "Break" afslutter en for uden # at udføre "else"-sætningen.

Funktioner erklæres ved hjælp af nøgleordet "def". Valgfrie argumenter vises i funktionserklæringen efter de påkrævede og tildeles en standardværdi. Når du kalder en funktion, kan du sende argumenter ved at angive deres navn og værdi, mens du udelader nogle af de valgfrie argumenter eller arrangerer dem i en anden rækkefølge end den, der er erklæret i funktionen.

Funktioner kan returnere en tuple, og ved at bruge tuple unboxing kan du returnere flere værdier.

Lambda-funktioner er specielle funktioner, der behandler et enkelt argument.

Parametre videregives via reference. Ved at tilføje elementer til den beståede liste vil du modtage en opdateret liste uden for funktionen. I dette tilfælde vil tildeling af en ny værdi til parametre inde i en funktion forblive en lokal handling. Da passing kun overfører hukommelsesplaceringen, vil tildeling af et nyt objekt til en parameter som en variabel medføre, at et nyt objekt oprettes.

Kode eksempler:

# Samme som def funcvar(x): return x + 1 funcvar = lambda x: x + 1 >>> print funcvar(1) 2 # an_int og a_string er valgfri, de har standardværdier # hvis en ikke er bestået ( 2 og "En standardstreng" henholdsvis). def passing_example(a_list, an_int=2, a_string="En standardstreng"): a_list.append("Et nyt element") an_int = 4 returner a_list, an_int, a_string >>> min_liste = >>> my_int = 10 >> > print passing_example(min_liste, min_int) (, 4, "En standardstreng") >>> min_liste >>> min_int 10

Python klasser

Python understøtter en begrænset form for multipel arv i klasser.

Private variabler og metoder kan erklæres (efter konvention, dette kontrolleres ikke af tolken) ved at bruge to understregninger i begyndelsen og ikke mere end én i slutningen af ​​navnet (f.eks.: "__spam").

Vi kan også tildele vilkårlige navne til klasseforekomster. Se eksempler:

Klasse MyClass(objekt): fælles = 10 def __init__(selv): self.myvariable = 3 def myfunction(self, arg1, arg2): return self.myvariable # Dette er klassens instansiering >>> classinstance = MyClass() >> > classesinstance.myfunction(1, 2) 3 # Denne variabel deles af alle klasser. >>> classinstance2 = MyClass() >>> classinstance.common 10 >>> classinstance2.common 10 # Bemærk, hvordan vi bruger klassenavnet # i stedet for instansen. >>> MyClass.common = 30 >>> classinstance.common 30 >>> classinstance2.common 30 # Dette vil ikke opdatere variablen på klassen, # i stedet vil det binde et nyt objekt til det gamle # variabelnavn. >>> classinstance.common = 10 >>> classinstance.common 10 >>> classinstance2.common 30 >>> MyClass.common = 50 # Dette er ikke ændret, fordi "common" er # nu en instansvariabel. >>> classinstance.common 10 >>> classinstance2.common 50 # Denne klasse arver fra MyClass. Eksemplet # klasse ovenfor arver fra "objekt", hvilket gør # det til det, der kaldes en "ny-stil klasse". # Multipel arv er erklæret som: # klasse OtherClass(MyClass1, MyClass2, MyClassN) class OtherClass(MyClass): # "selv"-argumentet sendes automatisk # og refererer til klasseforekomsten, så du kan indstille # forekomstvariabler som ovenfor, men inde fra klassen def __init__(selv, arg1): self.myvariable = 3 print arg1 >> > classinstance = OtherClass("hello") hej >>> classinstance.myfunction(1, 2) 3 # Denne klasse har ikke et .test-medlem, men # vi kan tilføje en til instansen alligevel. Bemærk #, at dette kun vil være medlem af klasseforekomsten. >>> classinstance.test = 10 >>> classinstance.test 10

Undtagelser i Python

Undtagelser i Python håndteres i prøve-undtagen blokke:

Def some_function(): prøv: # Division med nul rejser en undtagelse 10 / 0 undtagen ZeroDivisionError: udskriv "Ups, ugyldig."

andet: # Undtagelse opstod ikke, vi er gode.

pass finally: # Dette udføres efter at kodeblokken er kørt # og alle undtagelser er blevet håndteret, også # hvis en ny undtagelse er rejst under håndtering.

print "Vi er færdige med det." >>> some_function() Ups, ugyldigt. Vi er færdige med det.

Import af moduler i Python

Python har et stort antal biblioteker til at arbejde med filer. For eksempel serialisering (konvertering af data til strenge med pickle-biblioteket):

Importer pickle mylist = ["Dette", "er", 4, 13327] # Åbn filen C:\\binary.dat til skrivning. Bogstavet r før # filnavn-strengen bruges til at forhindre omvendt skråstreg. myfile = open(r"C:\\binary.dat", "w") pickle.dump(mylist, myfile) myfile.close() myfile = open(r"C:\\text.txt", "w" ) myfile.write("Dette er en prøvestreng") myfile.close() minfil = åben(r"C:\\text.txt") >>> udskriv minfil.read() "Dette er en prøvestreng" min fil .close() # Åbn filen til læsning. myfile = open(r"C:\\binary.dat") loadedlist = pickle.load(myfile) myfile.close() >>> udskriv loadedlist ["This", "is", 4, 13327]

Diverse

  • Betingelser kan hænge sammen, for eksempel 1< a < 3 проверит, что a одновременно меньше 3 и больше 1.
  • Du kan bruge del til at fjerne variabler eller elementer i arrays.
  • Lister giver meget kraftfulde datamanipulationsfunktioner. Du kan konstruere et udtryk ved at bruge for efterfulgt af if eller for udsagn:
>>> lst1 = >>> lst2 = >>> print >>> print # Tjek om en betingelse er sand for nogen elementer. # "any" returnerer sand, hvis ethvert element på listen er sandt. >>> any()) Sand # Dette skyldes, at 4 % 3 = 1, og 1 er sand, så any() # returnerer Sand. # Tjek, hvor mange elementer en betingelse er sand. >>> sum(1 for i in if i == 4) 2 >>> del lst1 >>> print lst1 >>> del lst1
  • Globale variable er erklæret uden for funktioner og kan læses uden specielle erklæringer indeni, men hvis du vil skrive dem, skal du deklarere fra i begyndelsen af ​​funktionen ved at bruge det specielle "globale" nøgleord, ellers vil Python tildele den nye værdi til lokal variabel:
nummer = 5 def myfunc(): # Dette vil udskrive 5. print nummer def anotherfunc(): # Dette rejser en undtagelse, fordi variablen ikke # er blevet bundet før udskrivning. Python ved, at det et # objekt vil blive bundet til det senere og opretter et nyt, lokalt # objekt i stedet for at få adgang til det globale.

print nummer nummer = 3 def yetanotherfunc(): globalt nummer # Dette vil korrekt ændre den globale.

tal = 3

Hvis den præsenterede information ikke er nok for dig, så se på det udvidede materiale, der beskriver Python-programmeringssproget - det giver mere detaljerede oplysninger om sproget.

Blandt andet materiale anbefaler jeg Learn Python The Hard Way. Og selvfølgelig Python 2 Tutorial og Python 3 Tutorial.

Mange tak til Stavros Korokithakis for hans fremragende tutorial "Lær Python på 10 minutter".

Hvis du vil forbedre noget i dette materiale, så skriv venligst i kommentarerne.

Sidste opdatering: 24/01/2018

Python er et populært programmeringssprog på højt niveau, der er designet til at skabe forskellige typer applikationer. Disse omfatter webapplikationer, spil, desktopprogrammer og arbejde med databaser. Python er blevet ret udbredt inden for maskinlæring og forskning i kunstig intelligens.

Python-sproget blev først annonceret i 1991 af den hollandske udvikler Guido Van Rossum. Siden da er dette sprog kommet langt i udviklingen. I 2000 blev version 2.0 udgivet, og i 2008 version 3.0. På trods af de tilsyneladende store huller mellem versioner, udgives subversioner konstant. Så den nuværende aktuelle version på tidspunktet for skrivning af dette materiale er 3.7. Mere detaljerede oplysninger om alle udgivelser, versioner og sprogændringer samt tolkene selv og de nødvendige hjælpeprogrammer til arbejdet og andre nyttige oplysninger kan findes på den officielle hjemmeside https://www.python.org/.

Hovedtræk ved Python-programmeringssproget:

Python er et meget simpelt programmeringssprog, det har en kortfattet og samtidig ret enkel og forståelig syntaks. Derfor er det nemt at lære, og det er faktisk en af ​​grundene til, at det er et af de mest populære programmeringssprog specifikt til læring. Især blev det i 2014 anerkendt som det mest populære programmeringssprog til læring i USA.

Python er også populær, ikke kun inden for uddannelsesområdet, men i at skrive specifikke programmer, herunder kommercielle. Det er i høj grad grunden til, at mange biblioteker er blevet skrevet til dette sprog, som vi kan bruge.

Derudover har dette programmeringssprog et meget stort fællesskab på internettet, du kan finde en masse nyttige materialer og eksempler på dette sprog, og få kvalificeret hjælp fra specialister.

For at lave programmer i Python har vi brug for en tolk. For at installere det, gå til webstedet https://www.python.org/ og på hovedsiden i Downloads-sektionen finder vi et link til at downloade den seneste version af sproget (i øjeblikket 3.7.2):

Lad os følge linket til siden, der beskriver den seneste version af sproget. Tættere på bunden kan du finde en liste over distributioner til forskellige operativsystemer. Lad os vælge den pakke, vi har brug for, og downloade den. For eksempel er det i mit tilfælde Windows 64-bit, så jeg vælger pakkelinket Windows x86-64 eksekverbart installationsprogram. Når du har downloadet distributionen, skal du installere den.

Derfor kan du til MacOS vælge macOS 64-bit installationsprogram.

På Windows OS, når du starter installationsprogrammet, åbnes installationsguidens vindue:

Her kan vi indstille stien, hvor tolken skal installeres. Lad os lade det være standard, dvs C:\Users\[brugernavn]\AppData\Local\Programs\Python\Python36\.

Derudover skal du helt nederst markere afkrydsningsfeltet "Tilføj Python 3.6 til PATH" for at tilføje stien til fortolkeren til miljøvariablerne.

Efter installationen kan vi finde ikoner til adgang til forskellige Python-værktøjer i Start-menuen på Windows OS:

Her giver Python 3.7 (64-bit) værktøjet en fortolker, hvori vi kan køre scriptet. I filsystemet kan selve tolkefilen findes langs stien, hvor installationen er udført. På Windows er dette standardstien C:\Users\[brugernavn]\AppData\Local\Programs\Python\Python37, og tolken selv repræsenterer filen python.exe. På Linux OS udføres installationen langs stien /usr/local/bin/python3.7.

Der er mange anvendelsesmuligheder for Python, men der er et par stykker, som den er særlig god til. Lad os finde ud af, hvad der kan gøres på dette sprog.

Vigtigste forskelle:

  • Flask giver enkelhed, fleksibilitet og fuldstændig kontrol over dit projekt. Det giver brugeren mulighed for selvstændigt at bestemme, hvordan visse ting skal implementeres.
  • Django er en altomfattende service. Ud af boksen har den allerede et adminpanel, databasegrænseflader, ORM (Object Relational Mapping) og en mappestruktur til dine projekter.

Hvad skal man vælge?

  • Vælg Flask, hvis du ønsker mere erfaring og læringsmuligheder. Eller hvis du har brug for maksimal kontrol over alle de anvendte komponenter, for eksempel databaser.
  • Vælg Django, hvis du er interesseret i slutproduktet. Især hvis du arbejder med simple applikationer, såsom et nyhedssite, en butik, en blog, og du ønsker, at hver opgave skal løses på én yderst overskuelig måde.

Med andre ord er Flask måske det bedste valg for en begynderudvikler, da den indeholder færre komponenter. Derudover er det værd at vælge, hvis du skal finjustere dit projekt.

Flask er på grund af sin fleksibilitet bedre egnet til at skabe REST API'er.

På den anden side, hvis målet er at gøre noget hurtigt og nemt, skal du nok vælge Django.

Data Science: Machine Learning, dataanalyse og visualisering

Først og fremmest skal du finde ud af, hvad det er.

Lad os sige, at du vil udvikle et program, der automatisk registrerer, hvad der vises på et billede.

For eksempel, ved at præsentere det med dette billede, ønsker du, at programmet skal identificere hunden.

Og her skulle hun se et bord.

Du tænker måske, at du blot kan skrive billedanalysekode for at løse dette problem. Hvis der for eksempel er mange lysebrune pixels på billedet, konkluderer vi, at det er en hund.

Eller du kan lære at identificere kanter og grænser i et billede. Så vil et billede med en masse lige kanter nok være et bord.

Dette er dog en ret kompleks og ugennemtænkt tilgang. Hvad skal du gøre, hvis billedet viser en hvid hund uden brune pletter? Eller hvis billedet viser et rundt bord?

Det er her maskinlæring kommer i spil. Typisk implementerer den nogle , som tillader automatisk registrering af et velkendt mønster blandt inputdataene.

Du kan fodre maskinlæringsalgoritmen, f.eks. 1000 billeder af en hund og 1000 billeder af borde. Det vil lære forskellen mellem disse objekter. Så, når du giver ham et nyt billede af et bord eller en hund, vil han være i stand til at identificere, hvad det er.

  • scikit-learn har flere populære indlæringsalgoritmer indbygget ud af boksen;
  • TensorFlow er et bibliotek på lavere niveau. Det giver dig mulighed for at oprette brugerdefinerede algoritmer.

For dem, der er nye til maskinlæring, er scikit-learn et godt sted at starte. Mere erfarne udviklere, der står over for effektivitetsproblemer, vil måske se nærmere på TensorFlow.

Hvordan studerer man maskinlæring?

Rigtige analytikere, såsom dem hos Google eller Microsoft, gør det samme, kun deres arbejde er mere komplekst og komplekst.

De bruger SQL-forespørgselssproget til at hente data fra databaser. Specialværktøjer såsom Mathplotlib (til Python) eller D3.js (til JavaScript) bruges derefter til analyse og visualisering.

Måder at bruge Python til dataanalyse og visualisering

Et af de mest populære biblioteker til visualisering er Mathplotlib.

Begyndere bør begynde at lære med det af to grunde:

  • lav indgangstærskel;
  • mastering Mathplotlib vil give dig mulighed for hurtigt at forstå mere komplekse biblioteker baseret på det i fremtiden, for eksempel seaborn.

Hvordan lærer man dataanalyse i Python?

For nylig er nogle virksomheder begyndt at bruge JavaScript til at skabe desktop-applikationer. For eksempel blev Slack desktop-appen bygget ved hjælp af Electron JavaScript-rammen.

Fordelen ved at skrive desktop-applikationer i JavaScript er, at du kan genbruge koden fra webversionen.

Python 3 eller Python 2

Python 3 er et mere moderne og populært valg.

Forklaring af backend og frontend kode

Lad os sige, at du vil lave noget, der minder om Instagram.

OM Python(bedre udtalt "python", selvom nogle siger "python") - emnet for denne undersøgelse, er bedst sagt af skaberen af ​​dette programmeringssprog, hollænderen Guido van Rossum:

"Python er et fortolket, objektorienteret programmeringssprog på højt niveau med dynamisk semantik. Indbyggede datastrukturer på højt niveau kombineret med dynamisk skrivning og binding gør sproget attraktivt for hurtig applikationsudvikling (RAD, Rapid Application Development). Det kan også bruges som et scriptsprog til at kommunikere softwarekomponenter. Python-syntaksen er nem at lære og lægger vægt på kodelæsbarhed, hvilket reducerer omkostninger til softwarevedligeholdelse. Python understøtter moduler og pakker, hvilket tilskynder til modularitet og genbrug af kode. Python-fortolkeren og det store standardbibliotek er frit tilgængelige som kildekode og eksekverbar kode til alle større platforme og kan frit omdistribueres."

Mens vi studerer, vil betydningen af ​​denne definition blive afsløret, men for nu er det nok at vide, at Python er et universelt programmeringssprog. Det har sine fordele og ulemper, såvel som anvendelsesområder. Python leveres med et omfattende standardbibliotek til løsning af en lang række problemer. Højkvalitetsbiblioteker til Python er tilgængelige på internettet inden for forskellige fagområder: tekstbehandlingsværktøjer og internetteknologier, billedbehandling, værktøjer til oprettelse af applikationer, databaseadgangsmekanismer, pakker til videnskabelig databehandling, grafiske grænsefladebygningsbiblioteker mv. Derudover har Python ret enkle midler til integration med C, C++ (og Java) sprogene, både ved at indlejre tolken i programmer på disse sprog og omvendt ved at bruge biblioteker skrevet på disse sprog i Python-programmer. Python-sproget understøtter flere paradigmer programmering: imperativ (proceduremæssig, strukturel, modulær tilgang), objektorienteret og funktionel programmering.

Vi kan betragte Python som en hel teknologi til at skabe softwareprodukter (og deres prototyper). Den er tilgængelig på næsten alle moderne platforme (både 32-bit og 64-bit) med en C-kompiler og på Java-platformen.

Det kan virke som om der ikke er plads i softwarebranchen til andet end C/C++, Java, Visual Basic, C#. Dette er dog ikke sandt. Måske vil Python takket være dette kursus med forelæsninger og praktiske øvelser få nye tilhængere, for hvem det vil blive et uundværligt værktøj.

Hvordan beskrives sproget?

Dette foredrag har ikke til formål at beskrive Python systematisk, der er en original referencevejledning til det. Her foreslås det at overveje sproget samtidigt i flere aspekter, hvilket opnås ved et sæt eksempler, der giver dig mulighed for hurtigt at blive bekendt med ægte programmering end i tilfælde af en streng akademisk tilgang.

Det er dog værd at være opmærksom på den korrekte tilgang til at beskrive sproget. Oprettelse af et program er altid en kommunikation, hvor programmøren sender den information, der er nødvendig for, at denne kan udføre handlinger til computeren. Den måde programmøren forstår disse handlinger på (det vil sige "betydningen") kan kaldes semantik. Midlet til at formidle denne betydning er syntaks programmeringssprog. Nå, hvad tolken gør ud fra det beståede kaldes normalt pragmatik. Når du skriver et program, er det meget vigtigt, at der ikke er fejl i denne kæde.

Syntaks er en fuldstændig formaliseret del: den kan beskrives i formelt sprog syntaksdiagrammer (hvilket er hvad referencemanualerne gør). Pragmatikkens udtryk er sprogfortolkeren selv. Det er ham, der læser "meddelelsen", der er optaget i overensstemmelse med syntaksen og gør den til handlinger i henhold til algoritmen, der er indlejret i den. Den eneste uformelle komponent forbliver semantik. Det er i at omsætte mening til en formel beskrivelse, at programmeringens største vanskelighed ligger. Pythons syntaks har kraftfulde funktioner, der hjælper med at bringe programmørens forståelse af et problem tættere på tolkens "forståelse" af det. Pythons interne struktur vil blive diskuteret i en af ​​de afsluttende forelæsninger.

Python-sprogets historie

Python blev startet af Guido van Rossum i 1991, da han arbejdede på det distribuerede Amoeba OS. Han havde brug for et udvideligt sprog, der kunne understøtte systemopkald. ABC og Modula-3 blev taget som grundlag. Han valgte Python som navn til ære for BBC-komedieserien Monty Pythons Flying Circus, og slet ikke efter slangens navn. Siden da har Python udviklet sig med støtte fra de organisationer, som Guido arbejdede i. Sproget forbedres særligt aktivt på nuværende tidspunkt, hvor ikke kun holdet af skabere arbejder på det, men også et helt fællesskab af programmører fra hele verden. Alligevel forbliver det sidste ord om sprogudviklingens retning hos Guido van Rossum.