Python-programmeren voor beginners. Python-programmeertaal voor beginners. Is het de moeite waard om Python te leren?

Sinds ik in 2011 begon met lesgeven in Python, heb ik verschillende bronnen gevonden die ik regelmatig gebruik. Toen ik de taal voor het eerst begon te leren, was ik verrast hoe gastvrij de Python-gemeenschap was. Een bewijs hiervan is de enorme hoeveelheid gratis materiaal van hoge kwaliteit dat beschikbaar is. Hieronder zal ik voorbeelden geven van hulpbronnen die eenvoudigweg niet zouden bestaan ​​zonder de steun van de gemeenschap.

1. Bedenk je eigen computerspellen met Python

Misschien heb je al je eigen favoriete Python-boek, maar ik moedig je aan om dit te lezen. U kunt het kopen, online lezen of gratis downloaden in PDF-formaat. Ik hou van dezelfde structuur van de hoofdstukken: eerst wordt het probleem gesteld, en dan zijn er voorbeelden van oplossingen voor problemen gedetailleerde uitleg. Dezelfde auteur schreef nog 3 prachtige boeken.

2. Beeldhouwen

Ik heb op scholen gewerkt waar Python om de een of andere reden (meestal veiligheidsredenen) niet beschikbaar was. Skulpt voert Python-scripts uit in de browser en bevat verschillende voorbeelden. De eerste gebruikt de Turtle-module om geometrische vormen weer te geven. Ik gebruik het vaak om de kennis van studenten te testen.

3. Raad het getal

8. Willekeurig

Python heeft verschillende handige ingebouwde functies, zoals print en invoer. De willekeurige module daarentegen moet vóór gebruik worden geïmporteerd. Hiermee kunnen studenten een beetje onvoorspelbaarheid aan hun projecten toevoegen.

Willekeurige munt importeren = ['kop','staart'] flip = random.choice(munt) print(flip)

9. Anti-zwaartekracht

Ik gebruik de anti-zwaartekrachtmodule zelden. Maar als ik dit moet doen, vraag ik de studenten wat er gebeurt als ze het importeren. Meestal krijg ik veel verschillende antwoorden, soms suggereren ze zelfs dat het zal beginnen echt effect gewichtloosheid - ze denken dat Python zo krachtig is :) Je kunt het zelf proberen en aan je leerlingen aanbieden.

Importeer anti-zwaartekracht

10. Sabotage

De grootste moeilijkheid voor mij als docent was de zoektocht syntaxisfouten in studentenprogramma’s. Gelukkig, voordat ik volledig opbrandde van uitputting, kwam ik op het idee

Er was eens, op een besloten forum, dat ik Python les wilde 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 ook niet interessant. 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 draait, en veel raamwerken voor snelle ontwikkeling toepassingen Plones, Django, TurboGears en vele anderen)
- Gebruik als ingebedde 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 gebruik ik 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 kun je een van de vele handige IDE's voor Python gebruiken, die debug-mogelijkheden, syntax-accentuering 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 in nog 2 typen worden verdeeld. 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. Python heeft geen speciaal scheidingsteken voor codeblokken; Dat wil zeggen, waarmee is geschreven gelijke inkeping– is één opdrachtblok. 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 te doen als we een herhalende cyclus nodig hebben bepaald aantal eenmaal? Heel simpel, op hulp zal komen bereik functie

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 lus.

>>> 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(). soortgelijke actie, wordt het niet aanbevolen om het 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 het volgende formulier(Bijvoorbeeld):
5 x 4 = 20
5 x 5 = 25
En zo verder.

(Vertaling)

Er is een artikel gepubliceerd op de Poromenos Stuff-website waarin ze in een beknopte vorm praten over de basisprincipes van de Python-taal. Ik bied je een vertaling van dit artikel aan. De vertaling is niet letterlijk. Ik heb geprobeerd sommige in meer detail uit te leggen punten die misschien niet duidelijk zijn.

Als je van plan bent de Python-taal te leren, maar geen geschikte gids kunt vinden, dan zal dit artikel erg nuttig voor je zijn! In korte tijd maak je kennis met de basisprincipes van de Python-taal. Hoewel dit artikel er vaak van uitgaat dat je al programmeerervaring hebt, hoop ik dat zelfs beginners dit materiaal nuttig zullen vinden. Lees elke paragraaf aandachtig. Door de condensatie van het materiaal worden sommige onderwerpen oppervlakkig besproken, maar bevatten ze wel alle benodigde stof.

Basiseigenschappen

Python vereist geen expliciete declaratie van variabelen, en is een hoofdlettergevoelige (var-variabele is niet gelijkwaardig aan Var of VAR - het zijn drie verschillende variabelen) objectgeoriënteerde taal.

Syntaxis

Ten eerste is het vermeldenswaard interessante functie Python. In plaats daarvan bevat het geen operatorhaakjes (begin..end in pascal of (..) in C). blokken zijn ingesprongen: spaties of tabs, en het invoeren van een blok uitspraken gebeurt met een dubbele punt. Commentaar op één regel begint met een hekje "#", commentaar op meerdere regels begint en eindigt met drie dubbele aanhalingstekens «"""».

Om een ​​waarde aan een variabele toe te wijzen, gebruikt u het teken “=” en “==” ter vergelijking. Om de waarde van een variabele te verhogen of aan een string toe te voegen, gebruikt u de operator “+=” en “-=” om deze te verlagen. Al deze bewerkingen kunnen communiceren met de meeste typen, inclusief tekenreeksen. Bijvoorbeeld

>>> mijnvar = 3

>>> myvar += 2

>>> mijnvar -= 1

"""Dit is een commentaar van meerdere regels

Tekenreeksen tussen drie dubbele aanhalingstekens worden genegeerd"""

>>> mystring = "Hallo"

>>> mijnstring += "wereld."

>>> print mijnstring

Hallo wereld.

# Volgende regel veranderingen

De waarden van de variabelen worden verwisseld. (Slechts één regel!)

>>> mijnvar, mijnstring = mijnstring, mijnvar

Datastructuren

Python bevat datastructuren zoals lijsten, tupels en woordenboeken). Lijsten - vergelijkbaar met eendimensionale arrays (maar u kunt Lijst inclusief lijsten gebruiken - multidimensionale array), tupels zijn onveranderlijke lijsten, woordenboeken zijn ook lijsten, maar indexen kunnen van elk type zijn, niet alleen numeriek. "Arrays" in Python kunnen gegevens van elk type bevatten, dat wil zeggen dat één array numerieke, string- en andere gegevenstypen kan bevatten. Arrays beginnen bij index 0 en het laatste element kan worden verkregen bij index -1. U kunt deze toewijzen functievariabelen en gebruik ze dienovereenkomstig.

>>> sample = , ("a", "tuple")] #De lijst bestaat uit een geheel getal, een andere lijst en een tupel

>>> mijnlijst = ["Lijstitem 1", 2, 3.14] #Deze lijst bevat een string, een geheel getal en fractioneel getal

>>> mijnlijst = "Lijstitem 1 opnieuw weergeven" #Wijzig het eerste (nul) element van de bladmijnlijst

>>> mijnlijst[-1] = 3.14 #Wijzig het laatste element van het blad

>>> mydict = ("Key 1": "Waarde 1", 2: 3, "pi": 3.14) #Maak een woordenboek met numerieke en gehele indices

>>> mydict["pi"] = 3.15 #Wijzig het woordenboekelement onder index "pi".

>>> mytupel = (1, 2, 3) #Specificeer een tupel

>>> myfunction = len #Python stelt u in staat functie-synoniemen op deze manier te declareren

>>> print mijnfunctie(mijnlijst)

U kunt een deel van een array gebruiken door de eerste en laatste index op te geven, gescheiden door een dubbele punt eerder. In dit geval ontvangt u een deel van de array, van de eerste index tot de tweede, niet inclusief. Als het eerste element niet is opgegeven, begint de telling vanaf het begin van de array, en als het laatste element niet is opgegeven, wordt de array gelezen tot aan het laatste element. Negatieve waarden bepalen de positie van het element vanaf het einde. Bijvoorbeeld:

>>> mijnlijst = ["Lijstitem 1", 2, 3.14]

>>> print mijnlijst[:] #Alle array-elementen worden gelezen

["Lijstitem 1", 2, 3.1400000000000001]

>>> print mijnlijst #Het nulde en eerste element van de array worden gelezen.

["Lijstitem 1", 2]

>>> print mijnlijst[-3:-1] #Elementen van nul (-3) tot seconde (-1) worden gelezen (niet inclusief)

["Lijstitem 1", 2]

>>> print mijnlijst #Elementen worden van begin tot eind gelezen

Snaren

Tekenreeksen in Python gescheiden door dubbele aanhalingstekens """ of enkele aanhalingstekens """. Dubbele aanhalingstekens kunnen enkele aanhalingstekens bevatten, of omgekeerd. Bijvoorbeeld de regel "Hij zei hallo!" wordt weergegeven als "Hij zei hallo!". Als u een reeks van meerdere regels moet gebruiken, moet deze regel beginnen en eindigen met drie dubbele aanhalingstekens """". U kunt elementen uit een tupel of woordenboek in de tekenreekssjabloon vervangen en de tuple vervangt tekens in de string “%s” door een tuple-element. Met woordenboeken kunt u een element op een bepaalde index in een string invoegen. Gebruik hiervoor de constructie “%(index)s” in de string. In dit geval wordt in plaats van “%(index)s” de woordenboekwaarde bij de gegeven index vervangen.

>>>print "Naam: %s\nNummer: %s\nString: %s" % (mijnklasse.naam, 3, 3 * "-")

Naam: Poromenos

Aantal: 3

Snaar: ---

strString = """Deze tekst bevindt zich

op meerdere regels"""

>>> print "Dit %(werkwoord)s is een %(zelfstandig naamwoord)s." %("zelfstandig naamwoord": "test", "werkwoord": "is")

Dit is een test.

Exploitanten

De while-, if- en for-instructies vormen verplaatsingsoperatoren. Er is hier geen analoog selecteer verklaring, dus je zult het moeten doen met if . De for-instructie maakt een vergelijking variabele en lijst. Om een ​​lijst met cijfers tot een getal te krijgen - gebruik bereik functie(). Hier is een voorbeeld van het gebruik van operators

rangelist = range(10) #Krijg een lijst van tien cijfers (van 0 tot 9)

>>> bereiklijst afdrukken

voor nummer in bereiklijst: #Bye getal variabele(die elke keer met één toeneemt) is opgenomen in de lijst...

# Controleer of de variabele is opgenomen

# getallen tot een tupel getallen (3, 4, 7, 9)

Als getal in (3, 4, 7, 9): #Als getal in het tupel (3, 4, 7, 9)...

# De "break" -bewerking biedt

# verlaat de lus op elk gewenst moment

Pauze

Anders:

# "doorgaan" voert "scrollen" uit

# lus. Dit is hier niet nodig, aangezien na deze operatie

# in ieder geval gaat het programma terug naar het verwerken van de lus

Doorgaan

anders:

# "anders" is optioneel. Er is aan de voorwaarde voldaan

# als de lus niet werd onderbroken met "break".

Pass # Niets doen

als bereiklijst == 2:

Afdrukken "Het tweede item (lijsten zijn op 0 gebaseerd) is 2"

elif-bereiklijst == 3:

Afdrukken "Het tweede item (lijsten zijn op 0 gebaseerd) is 3"

anders:

Afdrukken "Ik weet het niet"

terwijl bereiklijst == 1:

Doorgang

Functies

Gebruik om een ​​functie te declareren trefwoord "def". Functieargumenten worden tussen haakjes achter de functienaam gegeven. U kunt optionele argumenten opgeven en deze een standaardwaarde geven. Functies kunnen tupels retourneren, in welk geval u de retourwaarden moet schrijven, gescheiden door komma's. Het sleutelwoord "lambda" wordt gebruikt om elementaire functies te declareren.

# arg2 en arg3 zijn optionele argumenten, neem de standaard gedeclareerde waarde,

# tenzij je ze een andere waarde geeft bij het aanroepen van de functie.

def mijnfunctie(arg1, arg2 = 100, arg3 = "test"):

Retourneert arg3, arg2, arg1

#De functie wordt aangeroepen met de waarde van het eerste argument - "Argument 1", het tweede - standaard, en het derde - "Benoemd argument".

>>>ret1, ret2, ret3 = mijnfunctie("Argument 1", arg3 = "Benoemd argument")

# ret1, ret2 en ret3 nemen respectievelijk de waarden "Benoemd argument", 100, "Argument 1" aan

>>> afdrukken ret1, ret2, ret3

Genoemd argument 100 Argument 1

# Volgende invoer is equivalent aan def f(x): retour x + 1

functievar = lambda x: x + 1

>>> printfunctievar(1)

Klassen

Python-taal is beperkt in meerdere erfenissen in de klassen. Interne variabelen en interne methoden klassen beginnen met twee onderstrepingstekens "__" (bijvoorbeeld "__myprivatevar"). We kunnen ook van buitenaf een waarde toekennen aan een klassevariabele. Voorbeeld:

klasse Mijnklasse:

Vaak = 10

def __init__(zelf):

Zelf.mijnvariabele = 3

Def mijnfunctie(self, arg1, arg2):

Retourneer zelf.mijnvariabele

# Hier hebben we de klasse Myclass verklaard. De functie __init__ wordt automatisch aangeroepen wanneer klassen worden geïnitialiseerd.

>>> classinstance = Myclass() # We hebben de klasse geïnitialiseerd en myvariable heeft de waarde 3 zoals vermeld in de initialisatiemethode

>>> classinstance.myfunction(1, 2) #De myfunction-methode van de klasse Myclass retourneert de waarde van de variabele myvariable

# De gemeenschappelijke variabele wordt in alle klassen gedeclareerd

>>> classinstance2 = Mijnklasse()

>>> klasseninstance.common

>>> klasseninstance2.common

# Dus als we de waarde ervan in de Myclass-klasse veranderen, zal deze veranderen

# en de waarden ervan in objecten die zijn geïnitialiseerd door de klasse Myclass

>>> Mijnklasse.common = 30

>>> klasseninstance.common

>>> klasseninstance2.common

# En hier veranderen we de klassevariabele niet. In plaats van

# we declareren het in een object en geven het een nieuwe waarde

>>> klasseninstance.common = 10

>>> klasseninstance.common

>>> klasseninstance2.common

>>> Mijnklasse.common = 50

# Het wijzigen van de klassevariabele heeft geen invloed

# variabele objecten van deze klasse

>>> klasseninstance.common

>>> klasseninstance2.common

# De volgende klasse is een afstammeling van de klasse Myclass

# door de eigenschappen en methoden ervan te erven, wie kan de klasse

# erven van verschillende klassen, in dit geval de entry

# zoals dit: class Otherclass(Myclass1, Myclass2, MyclassN)

klasse Andere klasse(Mijnklasse):

Def __init__(zelf, arg1):

Zelf.mijnvariabele = 3

Arg1 afdrukken

>>> classinstance = Otherclass("hallo")

Hallo

>>> klasseninstance.mijnfunctie(1, 2)

# Deze klasse heeft niet de eigenschapstest, maar wij wel

# declareer zo'n variabele voor een object. Bovendien

# deze variabele zal alleen lid zijn van de classinstance.

>>> classinstance.test = 10

>>> klasseninstance.test

Uitzonderingen

Uitzonderingen in Python hebben een try-except-structuur:

def een functie():

Poging:

# Delen door nul veroorzaakt een fout

10 / 0

Behalve ZeroDivisionError:

# Maar het programma voert geen "illegale bewerking uit"

# En verwerkt het uitzonderingsblok dat overeenkomt met de “ZeroDivisionError”-fout

Afdrukken "Oeps, ongeldig."

>>> fnbehalve()

Oeps, ongeldig.

Importeren

Externe bibliotheken kunnen worden aangesloten via de “import”-procedure, waarbij de naam van de bibliotheek wordt vermeld. Je kunt ook het commando "from import" gebruiken, zodat je een functie uit de bibliotheek kunt gebruiken:

willekeurig importeren #Importeer de “willekeurige” bibliotheek

importeer klok van tijd #En tegelijkertijd de functie "klok" uit de bibliotheek "tijd".

willekeurigeint = willekeurig.randint(1, 100)

>>> willekeurigeint afdrukken

Werken met het bestandssysteem

Python heeft veel ingebouwde bibliotheken. In dit voorbeeld proberen we op te slaan binair bestand lijststructuur, lees het en sla de regel op tekstbestand. Om de datastructuur te transformeren zullen we de standaardbibliotheek "pickle" gebruiken:

augurk importeren

mijnlijst = ["Dit", "is", 4, 13327]

# Open het bestand C:\binary.dat om te schrijven. "r"-symbool

# voorkomt vervanging van speciale tekens (zoals \n, \t, \b, etc.).

mijnbestand = bestand(r"C:\binary.dat", "w")

pickle.dump(mijnlijst, mijnbestand)

mijnbestand.close()

mijnbestand = bestand(r"C:\text.txt", "w")

myfile.write("Dit is een voorbeeldreeks")

mijnbestand.close()

mijnbestand = bestand(r"C:\text.txt")

>>> print mijnbestand.read()

"Dit is een voorbeeldreeks"

mijnbestand.close()

# Open het bestand om te lezen

mijnbestand = bestand(r"C:\binary.dat")

geladenlijst = pickle.load(mijnbestand)

mijnbestand.close()

>>> print geladen lijst

["Dit", "is", 4, 13327]

Eigenaardigheden

  • Voorwaarden kunnen gecombineerd worden. 1 < a < 3 выполняется тогда, когда а больше 1, но меньше 3.
  • Gebruik de operator "del" om duidelijke variabelen of array-elementen.
  • Python-aanbiedingen geweldige kansen Voor werken met lijsten. U kunt declaratieoperatoren voor de lijststructuur gebruiken. voor verklaring Hiermee kunt u lijstelementen in een specifieke volgorde opgeven, en kunt u elementen selecteren op basis van een voorwaarde.

>>> lst1 =

>>> lst2 =

>>> afdrukken

>>> afdrukken

# De operator "any" retourneert waar als hoewel

# als aan één van de daarin opgenomen voorwaarden is voldaan.

>>> willekeurig(i % 3 voor i in )

WAAR

# Volgende procedure telt het aantal

# overeenkomende elementen in de lijst

>>> som(1 voor i in als i == 3)

>>> van lst1

>>> print lst1

>>> van lst1

  • Globale variabelen worden buiten functies gedeclareerd en kunnen zonder enige declaratie worden gelezen. Maar als u de waarde van een globale variabele van een functie moet wijzigen, moet u deze aan het begin van de functie declareren trefwoord"global", als je dit niet doet, zal Python een variabele declareren die alleen toegankelijk is voor die functie.

aantal = 5

def mijnfunc():

# Uitgangen 5

Afdruknummer

def een anderefunc():

# Dit genereert een uitzondering omdat de globale variabele

# is niet aangeroepen vanuit een functie. Python creëert in dit geval

# variabele met dezelfde naam binnen deze functie en toegankelijk

# alleen voor operators van deze functie.

Afdruknummer

Aantal = 3

def nog een andere func():

Globaal nummer

# En alleen vanuit deze functie wordt de waarde van de variabele gewijzigd.

Aantal = 3

Epiloog

Uiteraard beschrijft dit artikel niet alle features van Python. Ik hoop dat dit artikel je zal helpen als je deze programmeertaal wilt blijven leren.

Voordelen van Python

  • De uitvoeringssnelheid van programma's geschreven in Python is erg hoog. Dit komt door het feit dat de belangrijkste Python-bibliotheken
    zijn geschreven in C++ en nemen minder tijd in beslag om taken uit te voeren dan andere talen op hoog niveau.
  • Hierdoor schrijf je je eigen Python-modules in C of C++
  • Standaard Python-bibliotheken je kunt tools vinden om mee te werken per e-mail, protocollen
    Internet, FTP, HTTP, databases, enz.
  • Scripts geschreven met Python-hulp draaien op de meeste moderne besturingssystemen. Dankzij deze draagbaarheid kan Python in een breed scala aan toepassingen worden gebruikt.
  • Python is geschikt voor elke programmeeroplossing, zij het kantoorprogramma's, webapplicaties, GUI-applicaties, enz.
  • Duizenden enthousiastelingen van over de hele wereld werkten aan de ontwikkeling van Python. Steun moderne technologieën V standaard bibliotheken we kunnen dit te danken hebben aan het feit dat Python voor iedereen open stond.

Stapsgewijze instructies voor iedereen die Python-programmeren (of programmeren in het algemeen) wil leren, maar niet weet waar hij de eerste stap moet zetten.

Wat te doen?

We hebben veel trainingsmateriaal doorgenomen en gewoon goede artikelen en een lijst gemaakt van wat je moet leren om deze programmeertaal onder de knie te krijgen en je erin te ontwikkelen.

1. Leer eerst de basis. Leer wat variabelen, controlestructuren en datastructuren zijn. Deze kennis is noodzakelijk zonder gebonden te zijn aan een specifieke taal.

2. Literatuur bestuderen. Begin met de klassieker: duik in Python. Dit boek kan eigenlijk een naslagwerk worden. Je kunt ook Michael Dawson “Programming in Python” en Alexey Vasiliev “Python” lezen met voorbeelden. Praktische programmeercursus." Dawson is een ervaren programmeur en docent, en in het boek leert hij programmeren door te creëren eenvoudige spelletjes. In het boek van Vasiliev wordt daarentegen meer aandacht besteed aan de fundamenten en theorie.

4. Neem de inleiding tot computertechnologie en programmeren in Python" van MIT.

5. Ontdek welke bibliotheken andere Pythonisten gebruiken en voor welke doeleinden. Zoek iets interessants voor jezelf.

6. Als je geïnteresseerd bent in webtechnologieën, let dan op de Flask- en Django-frameworks. Ontdek voor welke doeleinden welke beter geschikt is, begin met het bestuderen van degene die bij u past.

7. Leer hoe u datasets kunt verkrijgen en analyseren van individuele sites, van internet en waar dan ook - probeer gewoon binnen de wet te blijven.

8. Zoek naar informatie over machine learning-methoden.

9. Optimaliseer het werk met tools, automatiseer routine en alles wat nog niet geautomatiseerd is.

Waar naartoe?

Sommige nuttige links naar bronnen die u zullen helpen wat minder te Googlen en te beslissen in welke richting u wilt werken.

Nuttige bronnen

Python-leraar

Met dit hulpmiddel kunt u een fundamentele barrière overwinnen die u in de weg staat bij het begrijpen van de programmeertaal die u leert: door de code te visualiseren, geeft dit hulpmiddel inzicht in wat er gebeurt terwijl de computer elke regel code uitvoert.

Bucky Roberts op YouTube

Als u niet bekend bent met programmeren, zullen deze tutorials u veel helpen. Ze zijn gemakkelijk te begrijpen en omvatten alles wat u nodig heeft, te beginnen met de taalinstallatie.

Derek Banas over Python op YouTube

Derek is een autodidactische programmeur en heeft zijn eigen kijk op de aanpak van het leren van programmeertalen. Hij maakt korte videorecensies in verschillende talen, 40-60 minuten lang, waarin hij alles vertelt wat je nodig hebt algemene schets het doel van taal begrijpen.

Corey Schafer op YouTube

Corey's goede video's over stringopmaak, generatoren, programmeertermen (combinaties en permutaties, DRY, sluitingen) en nog veel meer om u te helpen de basisconcepten te begrijpen.

Django Aan de slag

Officiële documentatie voor het Django-webframework. Behandelt alles wat u moet weten als u aan de slag gaat, van de installatie tot uw eerste toepassing.

Inleiding tot de fles

Een videocursus op YouTube voor degenen die kennis willen maken met Flask, enkele subtiliteiten ervan willen begrijpen en willen ontdekken waarom het überhaupt nodig is.

Nuttige links

Nieuwkomer

Python 3 voor beginners
"Een byte van Python"

Het programma is een reeks algoritmen die voor de uitvoering zorgen noodzakelijke acties. Conventioneel, op dezelfde manier als u kunt programmeren gewoon mens, waarbij hij de exacte commando's schrijft, zodat hij bijvoorbeeld thee zet. Als de laatste optie natuurlijke spraak gebruikt (Russisch, Oekraïens, Engels, Koreaans, enz.), Dan heeft de computer een speciale programmeertaal nodig. Python is er één van. De programmeeromgeving zal de opdrachten vervolgens vertalen naar en het menselijke doel waarvoor het algoritme is gemaakt, zal worden vervuld. Python heeft zijn eigen syntaxis, die hieronder zal worden besproken.

Geschiedenis van de taal

De ontwikkeling begon in de jaren tachtig en eindigde in 1991. De Python-taal is gemaakt door Guido van Rossum. Hoewel het belangrijkste symbool van Python een slang is, is deze vernoemd naar de Amerikaanse comedyshow.

Bij het maken van de taal gebruikte de ontwikkelaar enkele commando's die waren geleend van de bestaande Pascal, C en C++. Nadat je eerst online bent gegaan officiële versie een hele groep programmeurs heeft meegewerkt aan de verfijning en verbetering ervan.

Een van de factoren waardoor Python behoorlijk beroemd werd, is het ontwerp. Hij wordt door veel zeer succesvolle specialisten erkend als een van de beste.

Kenmerken van Python

Taal Python-programmering zal een uitstekende leraar voor beginners zijn. Het heeft een vrij eenvoudige syntaxis. Het zal gemakkelijk zijn om de code te begrijpen, omdat deze niet veel hulpelementen bevat, en de speciale structuur van de taal leert je hoe je moet inspringen. Natuurlijk zal een goed ontworpen programma met een klein aantal opdrachten onmiddellijk begrijpelijk zijn.

Veel syntactische systemen zijn gemaakt met behulp van objectgeoriënteerd programmeren. Python is geen uitzondering. Waarom is hij precies geboren? Het zal het voor beginners gemakkelijker maken om te leren en zal reeds gekwalificeerde werknemers helpen bepaalde elementen te onthouden.

Taalsyntaxis

Zoals eerder vermeld, is de code vrij eenvoudig en eenvoudig te lezen. Python heeft opeenvolgende opdrachten die nauwkeurig worden uitgevoerd. In principe zullen de gebruikte operatoren zelfs voor beginners niet moeilijk lijken. Dit is wat Python anders maakt. De syntaxis is eenvoudig en eenvoudig.

Traditionele operatoren:

  • Wanneer u een voorwaarde instelt, moet u de if-else-constructie gebruiken. Als er te veel van dergelijke regels zijn, kunt u de opdracht elif invoeren.
  • Klas is bedoeld om de klas te begrijpen.
  • Een van eenvoudige operatoren- doorgang. Het doet niets, past op lege blokken.
  • Cyclische commando's zijn terwijl en voor.
  • De functie, methode en generator worden gedefinieerd dankzij def.

Naast afzonderlijke woorden kunt u met de programmeertaal Python ook uitdrukkingen als operatoren gebruiken. Door tekenreeksketens te gebruiken, kunt u het aantal afzonderlijke opdrachten en haakjes verminderen. Er worden ook zogenaamde luie berekeningen gebruikt, d.w.z. berekeningen die alleen worden uitgevoerd als de toestand dit vereist. Deze omvatten en en of.

Programma schrijfproces

De tolk werkt volgens één enkel mechanisme: wanneer u een regel schrijft (waarna u "Enter" invoert), wordt deze onmiddellijk uitgevoerd en kan een persoon al enig resultaat zien. Dit zal nuttig en handig genoeg zijn voor beginners of voor degenen die een klein stukje code willen testen. In gecompileerde omgevingen zou je eerst het hele programma moeten schrijven, het pas daarna moeten uitvoeren en op fouten moeten controleren.

Python-programmeertaal (voor beginners, zoals al duidelijk is geworden, ideaal) in de operatiekamer Linux-systeem stelt u in staat rechtstreeks in de console zelf te werken. Er moet naar geschreven worden opdrachtregel Python-codenaam Engels. Het zal niet moeilijk zijn om uw eerste programma te maken. Allereerst is het de moeite waard om te overwegen dat de tolk hier als rekenmachine kan worden gebruikt. Omdat jonge en beginnende specialisten vaak niet op hun gemak zijn met syntaxis, kun je het algoritme op deze manier schrijven:

Na elke regel moet u "Enter" plaatsen. Het antwoord wordt onmiddellijk weergegeven nadat u erop klikt.

Gegevens gebruikt door Python

De gegevens die computers (en programmeertalen) gebruiken, zijn er in verschillende soorten, en dit is vrij duidelijk. Getallen kunnen fractioneel of geheel getal zijn, uit veel cijfers bestaan, of behoorlijk groot zijn vanwege het fractionele deel. Om het voor de tolk gemakkelijker te maken om ermee te werken, en om hem te laten begrijpen waar hij mee te maken heeft, moet u instellen bepaald soort. Bovendien is het noodzakelijk dat de getallen in de toegewezen geheugencel passen.

De meest voorkomende gegevenstypen die door de programmeertaal Python worden gebruikt, zijn:

  • Geheel getal. Het gaat over over gehele getallen die zowel negatieve als positieve waarden hebben. Nul is ook inbegrepen in dit type.
  • Zodat de tolk begrijpt waar mee gewerkt wordt in fractionele delen, moet worden ingesteld vlotter type punt. In de regel wordt het gebruikt bij het gebruik van getallen met een variërend punt. Houd er rekening mee dat u bij het schrijven van een programma de notatie "3.25" moet volgen en niet de komma "3.25" moet gebruiken.
  • In het geval van het toevoegen van tekenreeksen kunt u met de programmeertaal Python toevoegen type tekenreeks. Vaak zijn woorden of zinsdelen ingesloten in enkele of

Nadelen en voordelen

De afgelopen decennia zijn mensen meer geïnteresseerd geweest in het besteden van meer tijd aan het beheersen van gegevens en minder tijd aan het verwerken ervan door computers. Taal waarover alleen positieve dingen bestaan, is de hoogste code.

Python kent vrijwel geen nadelen. Het enige ernstige nadeel is de traagheid van de uitvoering van het algoritme. Ja, als je het vergelijkt met “C” of “Java”, is het eerlijk gezegd een schildpad. Dit wordt verklaard door het feit dat dit

De ontwikkelaar zorgde ervoor dat hij de beste dingen aan Python toevoegde. Daarom kun je bij gebruik merken dat het de beste eigenschappen van anderen heeft overgenomen hogere talen programmeren.

In het geval dat het idee dat door de tolk wordt geïmplementeerd niet indrukwekkend is, dan zal het mogelijk zijn om dit vrijwel onmiddellijk te begrijpen, na het schrijven van enkele tientallen regels. Als het programma de moeite waard is, kan het kritieke gedeelte op elk moment worden verbeterd.

Momenteel werkt meer dan één groep programmeurs aan het verbeteren van Python, dus het is geen feit dat code die in C++ is geschreven beter zal zijn dan code die met Python is gemaakt.

Welke versie is beter om mee te werken?

Tegenwoordig worden twee versies van een dergelijk syntactisch systeem als de Python-taal veel gebruikt. Voor beginners zal het kiezen tussen hen behoorlijk moeilijk zijn. Opgemerkt moet worden dat 3.x nog steeds in ontwikkeling is (hoewel vrijgegeven voor het grote publiek), terwijl 2.x een volledig voltooide versie is. Veel mensen adviseren het gebruik van 2.7.8, omdat het praktisch niet achterblijft of crasht. Er zijn geen radicale wijzigingen in versie 3.x, dus u kunt uw code op elk moment met een update overbrengen naar de programmeeromgeving. Om te downloaden het benodigde programma, ga naar de officiële website en selecteer jouw besturingssysteem en wacht tot het downloaden is voltooid.