Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Sfat
  • Lecții de programare de la zero python. Limbajul de programare Python este pe moarte

Lecții de programare de la zero python. Limbajul de programare Python este pe moarte

(Traducere)

Pe site-ul Poromenos Stuff a fost publicat un articol în care, într-o formă concisă, se vorbește despre elementele de bază ale limbajului Python.Vă ofer o traducere a acestui articol.Traducerea nu este literală.Am încercat să explic mai detaliat câteva puncte care pot să nu fie clare.

Dacă intenționați să învățați limbajul Python, dar nu găsiți un ghid potrivit, atunci acest articol vă va fi foarte util! În scurt timp, veți putea să vă familiarizați cu elementele de bază ale limbajului Python. Deși acest articol se bazează adesea pe faptul că aveți deja experiență în programare, sper că chiar și începătorilor vor găsi acest material util. Citiți cu atenție fiecare paragraf. Din cauza condensarii materialului, unele subiecte sunt discutate superficial, dar contin tot materialul necesar.

Proprietăți de bază

Python nu necesită declararea explicită a variabilelor și este un limbaj orientat pe obiecte sensibil la majuscule (variabila var nu este echivalentă cu Var sau VAR - sunt trei variabile diferite).

Sintaxă

În primul rând, merită remarcată o caracteristică interesantă a lui Python. Nu conține paranteze operator (începe..termină în pascal sau (..) în C), în schimb blocurile sunt indentate: spații sau tab-uri, iar introducerea unui bloc de instrucțiuni se face cu două puncte. Comentariile pe o singură linie încep cu semnul "#", comentariile pe mai multe rânduri încep și se termină cu trei ghilimele duble """".

Pentru a atribui o valoare unei variabile, se folosește semnul „=”, iar pentru comparație se folosește „==”. Pentru a crește valoarea unei variabile sau pentru a adăuga la un șir, utilizați operatorul „+=” și „-=” pentru ao micșora. Toate aceste operațiuni pot interacționa cu majoritatea tipurilor, inclusiv cu șiruri. De exemplu

>>> myvar = 3

>>> myvar += 2

>>> myvar -= 1

"""Acesta este un comentariu pe mai multe rânduri

Șirurile cuprinse între trei ghilimele duble sunt ignorate"""

>>> mystring = "Bună ziua"

>>> mystring += „lumea”.

>>>printează mystring

Salut Lume.

# Următoarea linie se schimbă

Valorile variabilelor sunt schimbate. (Doar o linie!)

>>> myvar, mystring = mystring, myvar

Structuri de date

Python conține structuri de date precum liste, tupluri și dicționare). Listele sunt similare cu matricele unidimensionale (dar puteți folosi o Listă care conține liste - o matrice multidimensională), tuplurile sunt liste imuabile, dicționarele sunt și liste, dar indicii pot fi de orice tip, nu doar numerici. „Matrice” în Python poate conține date de orice tip, adică o matrice poate conține numere, șir și alte tipuri de date. Matricele încep de la indexul 0, iar ultimul element poate fi accesat la indexul -1. Puteți atribui funcții variabilelor și le puteți utiliza în consecință.

>>> eșantion = , ("a", "tuplu")] #Lista este formată dintr-un număr întreg, o altă listă și un tuplu

>>> mylist = ["List item 1", 2, 3.14] #Această listă conține un șir, un întreg și o fracție

>>> mylist = „Listați din nou elementul 1” #Schimbați primul (zero) element al foii mylist

>>> lista mea[-1] = 3.14 #Schimba ultimul element al foii

>>> mydict = ("Cheia 1": "Valoarea 1", 2: 3, "pi": 3.14) #Creați un dicționar cu indici numerici și întregi

>>> mydict["pi"] = 3.15 #Modificați elementul de dicționar sub indexul "pi".

>>> mytuple = (1, 2, 3) #Specificați un tuplu

>>> myfunction = len #Python vă permite să declarați sinonimele funcției în acest fel

>>> print myfunction(mylist)

Puteți utiliza o parte dintr-o matrice specificând primul și ultimul index, separate prin două puncte „:”. În acest caz, veți primi o parte din matrice, de la primul index la al doilea, neinclusiv. Dacă primul element nu este specificat, atunci numărarea începe de la începutul matricei, iar dacă ultimul element nu este specificat, atunci tabloul este citit până la ultimul element. Valorile negative determină poziția elementului de la capăt. De exemplu:

>>> lista mea = ["Elementul din listă 1", 2, 3.14]

>>> print mylist[:] #Toate elementele matricei sunt citite

[„Elementul din listă 1”, 2, 3,1400000000000001]

>>> print mylist #Se citesc elementele zero și primele ale matricei.

[„Elementul din listă 1”, 2]

>>> print mylist[-3:-1] #Elementele de la zero (-3) la secunda (-1) sunt citite (nu sunt incluse)

[„Elementul din listă 1”, 2]

>>> print mylist #Elementele sunt citite de la primul la ultimul

Siruri de caractere

Șiruri în Python separate prin ghilimele duble """ sau ghilimele simple """. Ghilimele duble pot conține ghilimele simple sau invers. De exemplu, rândul „El a spus salut!” va fi afișat ca „El a salutat!”. Dacă trebuie să utilizați un șir de mai multe rânduri, atunci această linie trebuie să înceapă și să se termine cu trei ghilimele duble """". Puteți înlocui elemente dintr-un tuplu sau dicționar în șablonul șirului. Semnul procentual "%" între șir iar tuplul înlocuiește caracterele din șirul „%s” cu un element tuplu. Dicționarele vă permit să inserați un element la un index dat într-un șir. Pentru a face acest lucru, utilizați construcția „%(index)s” din șir. În acest caz, în loc de „%(index)s” valoarea dicționarului la indexul dat va fi înlocuită cu index.

>>>printează „Nume: %s\nNumăr: %s\nȘir: %s” % (clasa.nume, 3, 3 * „-”)

Nume: Poromenos

Număr: 3

Șir: ---

string = """Acest text este localizat

pe mai multe rânduri"""

>>> print "Acest %(verb)s a %(substantiv)s." %("substantiv": "test", "verb": "este")

Acesta este un test.

Operatori

Instrucțiunile while, if și for constituie operatori de mutare. Nu există echivalent cu o declarație select, așa că va trebui să vă descurcați cu if . Declarația for face o comparație variabilă și listă. Pentru a obține o listă de cifre până la un număr - utilizați funcția range( ). Iată un exemplu de utilizare a operatorilor

rangelist = range(10) #Obțineți o listă de zece cifre (de la 0 la 9)

>>> printeaza lista intervalului

pentru numărul din listă: # Atâta timp cât numărul variabil (care este incrementat cu câte unul de fiecare dată) este în listă...

# Verificați dacă variabila este inclusă

# numere la un tuplu de numere (3, 4, 7, 9)

Dacă numărul în (3, 4, 7, 9): #Dacă numărul este în tuplu (3, 4, 7, 9)...

# Operația „break” oferă

# ieși din buclă în orice moment

Pauză

Altfel:

# „continuare” efectuează „defilarea”

# buclă. Acest lucru nu este necesar aici, deoarece după această operație

# în orice caz, programul revine la procesarea buclei

Continua

altceva:

# „altfel” este opțional. Condiția este îndeplinită

# dacă bucla nu a fost întreruptă cu „break”.

Trece # Nu face nimic

dacă rangelist == 2:

Tipăriți „Al doilea element (listele sunt bazate pe 0) este 2”

elif rangelist == 3:

Tipăriți „Al doilea element (listele sunt bazate pe 0) este 3”

altceva:

Tipăriți „Nu știu”

while rangelist == 1:

Trece

Funcții

Pentru a declara o funcție, utilizați cuvânt cheie „def”. Argumentele funcției sunt date între paranteze după numele funcției. Puteți specifica argumente opționale, dându-le o valoare implicită. Funcțiile pot returna tupluri, caz în care trebuie să scrieți valorile returnate separate prin virgule. Cuvântul cheie „lambda” este folosit pentru a declara funcții elementare.

# arg2 și arg3 sunt argumente opționale, iau valoarea declarată implicit,

# dacă nu le dați o valoare diferită atunci când apelați funcția.

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

Returnează arg3, arg2, arg1

#Funcția este apelată cu valoarea primului argument - „Argument 1”, al doilea – implicit și al treilea – „Argument numit”.

>>>ret1, ret2, ret3 = myfunction ("Argument 1", arg3 = "Argument numit")

# ret1, ret2 și ret3 iau valorile „Argument numit”, 100, respectiv „Argument 1”

>>> print ret1, ret2, ret3

Argument numit 100 Argument 1

# Următoarele sunt echivalente cu def f(x): return x + 1

functionvar = lambda x: x + 1

>>> print functionvar(1)

Clase

Limbajul Python este limitat în moștenirea multiplă în clase. Variabilele interne și metodele interne ale clasei încep cu două caractere de subliniere „__” (de exemplu, „__myprivatevar”). De asemenea, putem atribui o valoare unei variabile de clasă din exterior. Exemplu:

clasa Myclass:

Comun = 10

def __init__(self):

Sine.variabila mea = 3

Def myfunction(self, arg1, arg2):

Return self.myvariable

# Aici am declarat clasa Myclass. Funcția __init__ este apelată automat când clasele sunt inițializate.

>>> classinstance = Myclass() # Am inițializat clasa și myvariable are valoarea 3 așa cum este specificat în metoda de inițializare

>>> classinstance.myfunction(1, 2) #Metoda myfunction a clasei Myclass returnează valoarea variabilei myvariable

# Variabila comună este declarată în toate clasele

>>> classeinstance2 = Clasa mea()

>>> classeinstance.common

>>> classeinstance2.common

# Deci, dacă îi schimbăm valoarea în clasa Myclass, se va schimba

# și valorile sale în obiecte inițializate de clasa Myclass

>>> Myclass.common = 30

>>> classeinstance.common

>>> classeinstance2.common

# Și aici nu modificăm variabila de clasă. In loc de asta

# îl declarăm într-un obiect și îi atribuim o nouă valoare

>>> classeinstance.common = 10

>>> classeinstance.common

>>> classeinstance2.common

>>> Myclass.common = 50

# Acum modificarea variabilei de clasă nu va afecta

# obiecte variabile din această clasă

>>> classeinstance.common

>>> classeinstance2.common

# Următoarea clasă este un descendent al clasei Myclass

# prin moștenirea proprietăților și metodelor sale, cine poate clasa

# moștenește din mai multe clase, în acest caz intrarea

# așa: class Otherclass(Myclass1, Myclass2, MyclassN)

clasa Otherclass(Myclass):

Def __init__(self, arg1):

Sine.variabila mea = 3

Print arg1

>>> classinstance = Otherclass(„bună ziua”)

Buna ziua

>>> classeinstance.myfunction(1, 2)

# Această clasă nu are testul de proprietate, dar noi putem

# declara o astfel de variabilă pentru un obiect. în plus

# această variabilă va fi doar un membru al clasei.

>>> classinstance.test = 10

>>> classeinstance.test

Excepții

Excepțiile în Python au o structură try -except:

def somefunction():

Încerca:

# Împărțirea cu zero provoacă o eroare

10 / 0

Cu excepția ZeroDivisionError:

# Dar programul nu „Efectuează o operațiune ilegală”

# Și se ocupă de blocul de excepții corespunzător erorii „ZeroDivisionError”.

Tipăriți „Hopa, nevalid”.

>>> fnexcept()

Hopa, nevalid.

Import

Bibliotecile externe pot fi conectate folosind procedura de „import”, unde este numele bibliotecii conectate. De asemenea, puteți utiliza comanda „din import”, astfel încât să puteți utiliza o funcție din bibliotecă:

import aleatoriu #Importă biblioteca „aleatorie”.

din time import clock #Și în același timp funcția „ceas” din biblioteca „time”.

randomint = random.randint(1, 100)

>>> tipăriți aleatoriu

Lucrul cu sistemul de fișiere

Python are multe biblioteci încorporate. În acest exemplu, vom încerca să salvăm o structură de listă într-un fișier binar, să o citim și să salvăm șirul într-un fișier text. Pentru a transforma structura datelor vom folosi biblioteca standard „pickle”:

import murat

lista mea = ["Acesta", "este", 4, 13327]

# Deschideți fișierul C:\binary.dat pentru scriere. simbolul „r”.

# previne înlocuirea caracterelor speciale (cum ar fi \n, \t, \b etc.).

fișierul meu = fișier(r"C:\binary.dat", "w")

pickle.dump(lista mea, fișierul meu)

myfile.close()

fișierul meu = fișier(r"C:\text.txt", "w")

myfile.write("Acesta este un șir exemplu")

myfile.close()

fișierul meu = fișier(r"C:\text.txt")

>>> print myfile.read()

„Acesta este un șir de probă”

myfile.close()

# Deschideți fișierul pentru citire

myfile = fisier(r"C:\binary.dat")

loadedlist = pickle.load(fișierul meu)

myfile.close()

>>> printeaza lista incarcata

[„Acesta”, „este”, 4, 13327]

Particularități

  • Condițiile pot fi combinate. 1 < a < 3 выполняется тогда, когда а больше 1, но меньше 3.
  • Utilizați operatorul „del” pentru a ștergeți variabilele sau elementele matricei.
  • Python oferă oportunități grozave pentru lucrul cu liste. Puteți utiliza operatori de declarare a structurii listei. Operatorul for vă permite să specificați elementele listei într-o anumită secvență, iar operatorul if vă permite să selectați elemente în funcție de o condiție.

>>> lst1 =

>>> lst2 =

>>> imprima

>>> imprima

# Operatorul „orice” returnează adevărat dacă totuși

# dacă una dintre condițiile incluse în acesta este îndeplinită.

>>> orice (i % 3 pentru i în )

Adevărat

# Următoarea procedură numără numărul

# elemente care se potrivesc din listă

>>> sumă (1 pentru i în dacă i == 3)

>>> del lst1

>>> print lst1

>>> del lst1

  • Variabile globale sunt declarate în afara funcțiilor și pot fi citite fără declarații. Dar dacă trebuie să schimbați valoarea unei variabile globale dintr-o funcție, atunci trebuie să o declarați la începutul funcției cu cuvântul cheie „global”, dacă nu faceți acest lucru, atunci Python va declara o variabilă care este accesibil numai pentru această funcție.

număr = 5

def myfunc():

# Ieșiri 5

Tipăriți numărul

def anotherfunc():

# Aceasta aruncă o excepție deoarece variabila globală

# nu a fost apelat dintr-o funcție. Python în acest caz creează

# variabilă cu același nume în această funcție și accesibilă

# numai pentru operatorii acestei funcții.

Tipăriți numărul

Număr = 3

def yetanotherfunc():

Număr global

# Și numai din această funcție se modifică valoarea variabilei.

Număr = 3

Epilog

Desigur, acest articol nu descrie toate caracteristicile Python. Sper că acest articol vă va ajuta dacă doriți să continuați să învățați acest limbaj de programare.

Beneficiile Python

  • Viteza de execuție a programelor scrise în Python este foarte mare. Acest lucru se datorează faptului că principalele biblioteci Python
    sunt scrise în C++ și necesită mai puțin timp pentru a finaliza sarcinile decât alte limbaje de nivel înalt.
  • Din acest motiv, puteți scrie propriile module Python în C sau C++
  • În bibliotecile standard Python puteți găsi instrumente pentru lucrul cu e-mail, protocoale
    Internet, FTP, HTTP, baze de date etc.
  • Scripturile scrise folosind Python rulează pe majoritatea sistemelor de operare moderne. Această portabilitate permite ca Python să fie utilizat într-o gamă largă de aplicații.
  • Python este potrivit pentru orice soluție de programare, fie că este vorba de programe de birou, aplicații web, aplicații GUI etc.
  • Mii de entuziaști din întreaga lume au lucrat la dezvoltarea lui Python. Suportul pentru tehnologiile moderne din bibliotecile standard poate fi atribuit faptului că Python era deschis tuturor.

Cândva, pe un forum închis, am încercat să predau Python. În general, lucrurile s-au blocat acolo. Mi-a părut rău pentru lecțiile scrise și am decis să le postez publicului larg. Până acum, primul, cel mai simplu. Ce se întâmplă în continuare este mai interesant, dar poate că nu va fi interesant. În general, această postare va fi un balon de probă, dacă vă place, o voi posta în continuare.

Python pentru începători. Capitolul întâi. "Despre ce vorbim"

Pentru orice eventualitate, un pic de „evanghelism” plictisitor. Dacă te-ai săturat de el, poți sări peste câteva paragrafe.
Python (pronunțat „Python” mai degrabă decât „python”) este un limbaj de scripting dezvoltat de Guido van Rossum ca un limbaj simplu care este ușor de învățat pentru începători.
În zilele noastre, Python este un limbaj utilizat pe scară largă care este folosit în multe domenii:
- Dezvoltare de aplicații software (de exemplu, utilitare Linux yum, pirut, system-config-*, client Gajim IM și multe altele)
- Dezvoltarea de aplicații web (cel mai puternic server de aplicații Zope și CMS Plone dezvoltat pe baza acestuia, pe care, de exemplu, funcționează site-ul CIA, și o mulțime de cadre pentru dezvoltarea rapidă a aplicațiilor Plones, Django, TurboGears și multe altele)
- Utilizați ca limbaj de scripting încorporat în multe jocuri și nu numai (în suita de birou OpenOffice.org, editorul Blender 3d, Postgre DBMS)
- Utilizare în calcule științifice (cu pachetele SciPy și numPy pentru calcule și PyPlot pentru desenarea graficelor, Python devine aproape comparabil cu pachetele precum MatLab)

Și aceasta nu este, desigur, o listă completă de proiecte care folosesc acest limbaj minunat.

1. Interpretul în sine, îl puteți obține aici (http://python.org/download/).
2. Mediul de dezvoltare. Nu este necesar pentru început, iar IDLE-ul inclus în distribuție este potrivit pentru un începător, dar pentru proiecte serioase ai nevoie de ceva mai serios.
Pentru Windows folosesc minunatul PyScripter ușor (http://tinyurl.com/5jc63t), pentru Linux - Komodo IDE.

Deși pentru prima lecție, doar shell-ul interactiv al lui Python va fi suficient.

Doar rulați python.exe. Solicitarea de introducere nu va dura mult să apară, arată astfel:

De asemenea, puteți scrie programe în fișiere cu extensia py în editorul de text preferat, care nu adaugă propriile caractere de marcare textului (niciun Word nu va funcționa). De asemenea, este de dorit ca acest editor să poată face „file inteligente” și să nu înlocuiască spațiile cu file.
Pentru a lansa fișiere pentru execuție, puteți face dublu clic pe ele. Dacă fereastra consolei se închide prea repede, introduceți următoarea linie la sfârșitul programului:

Apoi interpretul va aștepta să apăsați enter la sfârșitul programului.

Sau asociați fișierele py din Far cu Python și deschideți apăsând enter.

În cele din urmă, puteți utiliza unul dintre numeroasele IDE-uri convenabile pentru Python, care oferă capabilități de depanare, evidențiere a sintaxei și multe alte „conveniente”.

Puțină teorie.

Pentru început, Python este un limbaj puternic tip dinamic. Ce înseamnă acest lucru?

Există limbi cu tastare puternică (pascal, java, c etc.), în care tipul unei variabile este determinat în prealabil și nu poate fi schimbat, și există limbi cu tastare dinamică (python, ruby, vb). ), în care tipul unei variabile este interpretat în funcție de valoarea atribuită.
Limbile tastate dinamic pot fi împărțite în încă 2 tipuri. Cele stricte, care nu permit conversia implicită de tip (Python), și cele loose, care efectuează conversii implicite de tip (de exemplu, VB, în care puteți adăuga cu ușurință șirul „123” și numărul 456).
După ce ne-am ocupat de clasificarea lui Python, să încercăm să ne „jucăm” puțin cu interpretul.

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

Astfel, vedem că atribuirea se realizează folosind semnul =. Puteți atribui o valoare mai multor variabile simultan. Când specificați un nume de variabilă interpretului în mod interactiv, acesta își imprimă valoarea.

Următorul lucru pe care trebuie să-l știți este cum sunt construite unitățile algoritmice de bază - ramuri și bucle. Pentru început, este nevoie de puțin ajutor. Python nu are un delimitator special pentru blocurile de cod; indentarea servește ca rol al acestora. Adică, ceea ce este scris cu aceeași indentare este un bloc de comandă. La început poate părea ciudat, dar după ce te-ai obișnuit puțin, realizezi că această măsură „forțată” îți permite să obții un cod foarte lizibil.
Deci condițiile.

Condiția este specificată folosind o instrucțiune if care se termină cu „:”. Condițiile alternative care vor fi îndeplinite dacă prima verificare eșuează sunt specificate de operatorul elif. În cele din urmă, altfel specifică o ramură care va fi executată dacă nu este îndeplinită nici una dintre condiții.
Rețineți că, după ce a tastat if, interpretul folosește promptul „...” pentru a indica faptul că așteaptă introducerea ulterioară. Pentru a-i spune că am terminat, trebuie să introducem o linie goală.

(Exemplul cu ramuri din anumite motive rupe marcajul de pe hub, în ​​ciuda dansurilor cu etichetele pre și code. Scuze pentru inconvenient, l-am aruncat aici pastebin.com/f66af97ba, dacă cineva îmi spune ce este în neregulă, o să fii foarte recunoscator)

Cicluri.

Cel mai simplu caz al unei bucle este bucla while. Ia o condiție ca parametru și se execută atâta timp cât este adevărată.
Iată un mic exemplu.

>>> x = 0 >>> în timp ce x<=10: ... print x ... x += 1 ... 0 1 2 ........... 10

Vă rugăm să rețineți că, deoarece atât print x, cât și x+=1 sunt scrise cu aceeași indentare, ele sunt considerate corpul buclei (vă amintiți ce am spus despre blocuri? ;-)).

Al doilea tip de buclă în Python este bucla for. Este similar cu bucla foreach din alte limbi. Sintaxa sa este aproximativ după cum urmează.

Pentru variabila din listă:
echipe

Toate valorile din listă vor fi atribuite variabilei la rândul lor (de fapt, poate exista nu numai o listă, ci și orice alt iterator, dar să nu ne facem griji pentru asta deocamdată).

Iată un exemplu simplu. Lista va fi un șir, care nu este altceva decât o listă de caractere.

>>> x = "Bună ziua, Python!" >>> for char in x: ... print char ... H e l ........... !

În acest fel putem descompune șirul în caractere.
Ce să facem dacă avem nevoie de o buclă care se repetă de un anumit număr de ori? Este foarte simplu, funcția de gamă va veni în ajutor.

La intrare ia de la unu la trei parametri, la ieșire returnează o listă de numere pe care le putem „parcurge” cu operatorul for.

Iată câteva exemple de utilizare a funcției interval care explică rolul parametrilor acesteia.

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

Și un mic exemplu cu un ciclu.

>>> pentru x în intervalul (10): ... imprimați x ... 0 1 2 ..... 9

Intrare ieșire

Ultimul lucru pe care ar trebui să-l știți înainte de a începe să utilizați Python pe deplin este modul în care se realizează input-output în el.

Pentru ieșire, este folosită comanda print, care își imprimă toate argumentele într-o formă care poate fi citită de om.

Pentru intrarea în consolă, este utilizată funcția raw_input(prompt), care afișează un prompt și așteaptă intrarea utilizatorului, returnând ceea ce utilizatorul a introdus ca valoare.

X = int(raw_input("Introduceți un număr:")) print "Pătratul acestui număr este ", x * x

Atenţie! În ciuda existenței funcției input() cu o acțiune similară, nu este recomandat să o folosești în programe, deoarece interpretul încearcă să execute expresii de sintaxă introduse folosind ea, ceea ce reprezintă o gaură serioasă în securitatea programului.

Asta e pentru prima lecție.

Teme pentru acasă.

1. Creați un program pentru calcularea ipotenuzei unui triunghi dreptunghic. Lungimea picioarelor este solicitată de la utilizator.
2. Creați un program pentru găsirea rădăcinilor unei ecuații pătratice în formă generală. Coeficienții sunt solicitați de la utilizator.
3. Creați un program pentru a afișa o tabelă de înmulțire cu numărul M. Tabelul este compilat de la M * a, la M * b, unde M, a, b sunt solicitate de la utilizator. Ieșirea trebuie efectuată într-o coloană, un exemplu pe linie în următoarea formă (de exemplu):
5 x 4 = 20
5 x 5 = 25
Și așa mai departe.

Python este un limbaj de scripting popular și puternic cu care puteți face orice doriți. De exemplu, puteți accesa cu crawlere site-uri web și puteți colecta date de la acestea, puteți crea rețele și instrumente, puteți efectua calcule, puteți programa pentru Raspberry Pi, puteți dezvolta programe grafice și chiar jocuri video. În Python puteți \\ scrie programe de sistem independente de platformă.

În acest articol ne vom uita la elementele de bază ale programării în Python, vom încerca să acoperim toate caracteristicile de bază de care veți avea nevoie pentru a începe să utilizați limbajul. Ne vom uita la utilizarea claselor și metodelor pentru a rezolva diverse probleme. Se presupune că sunteți deja familiarizat cu elementele de bază și sintaxa limbajului.

Ce este Python?

Nu voi intra în istoria creării și dezvoltării limbii, puteți afla cu ușurință din videoclipul care va fi atașat mai jos. Este important de reținut că Python este un limbaj de scripting. Aceasta înseamnă că codul dvs. este verificat pentru erori și executat imediat, fără nicio compilare sau reluare suplimentară. Această abordare se mai numește și interpretabilă.

Acest lucru reduce productivitatea, dar este foarte convenabil. Există un interpret în care puteți introduce comenzi și puteți vedea imediat rezultatele acestora. O astfel de muncă interactivă ajută foarte mult la învățare.

Lucrează în cadrul interpretului

Rularea interpretului Python este foarte ușoară pe orice sistem de operare. De exemplu, pe Linux, trebuie doar să tastați comanda python în terminal:

În promptul interpretului care se deschide, vedem versiunea de Python care este utilizată în prezent. În zilele noastre, sunt foarte comune două versiuni de Python 2 și Python 3. Ambele sunt populare deoarece pe prima au fost dezvoltate multe programe și biblioteci, iar a doua are mai multe caracteristici. Prin urmare, distribuțiile includ ambele versiuni. În mod implicit, a doua versiune este lansată. Dar dacă aveți nevoie de versiunea 3, atunci trebuie să faceți:

Este a treia versiune care va fi luată în considerare în acest articol. Acum să ne uităm la principalele caracteristici ale acestui limbaj.

Operații cu șiruri

Șirurile în Python sunt imuabile; nu puteți schimba unul dintre caracterele dintr-un șir. Orice modificare a conținutului necesită crearea unei noi copii. Deschideți interpretul și urmați exemplele enumerate mai jos pentru a înțelege mai bine tot ce este scris:

1. Concatenează șiruri

str = „Bine ați venit” + „la Python”
imprimare (str)

2. Înmulțirea șirurilor

str = „Pierdere” * 2
imprimare (str)

3. Fuziunea cu transformarea

Puteți concatena un șir cu un număr sau o valoare booleană. Dar pentru aceasta trebuie să folosiți o transformare. Există o funcție str() pentru aceasta:

str = „Acesta este un număr de test” + str(15)
imprimare (str)

4. Căutați un subșir

Puteți găsi un caracter sau un subșir folosind metoda find:

str = „Bine ați venit pe site”
print(str.find("site"))

Această metodă afișează poziția primei apariții a site-ului subșirului dacă este găsit; dacă nu se găsește nimic, atunci valoarea -1 este returnată. Funcția începe căutarea de la primul caracter, dar puteți începe de la al n-lea caracter, de exemplu 26:

str = "Bine ați venit pe site-ul"
print(str.find("lost",26))

În această variantă, funcția va returna -1 deoarece șirul nu a fost găsit.

5. Obținerea unui subșir

Am obținut poziția subșirului pe care îl căutăm și acum cum să obținem subșirul în sine și ce urmează după el? Pentru a face acest lucru, utilizați această sintaxă [start:end], specificați doar două numere sau doar primul:

str = „Un doi trei”
print(str[:2])
print(str)
print(str)
print(str[-1])

Prima linie va tipări un subșir de la primul la al doilea caracter, al doilea - de la al doilea până la sfârșit. Vă rugăm să rețineți că numărătoarea inversă începe de la zero. Pentru a număra înapoi, utilizați un număr negativ.

6. Înlocuirea subșirurilor

Puteți înlocui o parte dintr-un șir folosind metoda de înlocuire:

str = "Acest site este despre Linux"
str2 = str.replace(„Linux”, „Windows”)
print(str2)

Dacă există multe apariții, atunci o puteți înlocui numai pe prima:

str = "Acesta este un site despre Linux și sunt abonat la acest site"
str2 = str.replace(„site”, „pagină”,1)
print(str2)

7. Curățarea șirurilor

Puteți elimina spațiile suplimentare utilizând funcția strip:

str = „Acesta este un site web despre Linux”
print(str.strip())

De asemenea, puteți elimina spațiile suplimentare doar pe partea dreaptă cu rstrip sau numai pe partea stângă cu lstrip.

8. Schimbarea registrului

Există funcții speciale pentru a schimba majusculele caracterelor:

str="Bine ați venit la Lost"
print(str.upper())
print(str.lower())

9. Conversia șirurilor

Există mai multe funcții pentru conversia unui șir în diferite tipuri numerice, acestea sunt int(), float(), long() și altele. Funcția int() se convertește într-un număr întreg și float() într-un număr în virgulă mobilă:

str="10"
str2="20"
print(str+str2)
print(int(str)+int(str2))

10. Lungimea liniilor

Puteți utiliza funcțiile min(), max(), len() pentru a calcula numărul de caractere dintr-o linie:

str="Bine ați venit pe site-ul Lost"
print(min(str))
print(max(str))
print(len(str))

Prima arată dimensiunea minimă a caracterelor, a doua cea maximă, iar a treia lungimea totală a liniei.

11. Repetați peste un șir

Puteți accesa fiecare caracter dintr-un șir individual folosind o buclă for:

str="Bine ați venit pe site"
pentru i în interval(len(str)):
print(str[i])

Pentru a limita bucla, am folosit funcția len(). Acordați atenție indentării. Programarea Python se bazează pe aceasta, nu există paranteze pentru a organiza blocurile, doar indentare.

Operații cu numere

Numerele în Python sunt destul de ușor de declarat sau de utilizat în metode. Puteți crea numere întregi sau numere în virgulă mobilă:

num1 = 15
num2 = 3,14

1. Rotunjirea numerelor

Puteți rotunji un număr folosind funcția de rotunjire, trebuie doar să specificați câte caractere doriți să lăsați:

a=15,5652645
imprimare(rotund(a,2))

2. Generarea numerelor aleatorii

Puteți obține numere aleatorii folosind modulul aleatoriu:

import aleatoriu
print(aleatoriu.aleatoriu())

În mod implicit, numărul este generat între 0,0 și 1,0. Dar vă puteți seta propriul interval:

import aleatoriu
numere=
imprimare(aleatorie.aleatorie(numere))

Operatii cu data si ora

Limbajul de programare Python are un modul DateTime care vă permite să efectuați diferite operații cu data și ora:

import datetime
cur_date = datetime.datetime.now()
print(data_curta)
print(data_cur..an)
print(cur_date.day)
print(cur_date.weekday())
print(data_curta.luna)
print(cur_date.time())

Exemplul arată cum se extrage valoarea dorită dintr-un obiect. Puteți obține diferența dintre două obiecte:

import datetime
time1 = datetime.datetime.now()
time2 = datetime.datetime.now()
timediff = time2 - time1
print(timediff.microsecunde)

Puteți crea singur obiecte data cu o valoare arbitrară:

time1 = datetime.datetime.now()
time2 = datetime.timedelta(zile=3)
timp3=timp1+timp2
print(time3.date())

1. Formatarea datei și orei

Metoda strftime vă permite să schimbați formatul de dată și oră în funcție de formatul standard selectat sau specificat. Iată caracterele de formatare de bază:

  • %A- ziua săptămânii, nume prescurtat;
  • %A- ziua săptămânii, numele complet;
  • %w- numărul zilei săptămânii, de la 0 la 6;
  • %d- ziua lunii;
  • %b- numele prescurtat al lunii;
  • %B- numele complet al lunii;
  • %m- numărul lunii;
  • %Y- numărul anului;
  • %H- ora zilei în format 24 de ore;
  • %l- ora zilei în format de 12 ore;
  • %p- AM sau PM;
  • %M- minut;
  • %S- al doilea.

import datetime
data1 = datetime.datetime.now()
print(data1.strftime("%d. %B %Y %I:%M%p"))

2. Creați o dată dintr-un șir

Puteți utiliza funcția strptime() pentru a crea un obiect dată dintr-un șir:

import datetime
date1=datetime.datetime.strptime ("2016-11-21", "%Y-%m-%d")
data2=datetime.datetime(an=2015, luna=11, ziua=21)
print(data1);
print(data2);

Operațiuni ale sistemului de fișiere

Gestionarea fișierelor este foarte ușoară în limbajul de programare Python, este cel mai bun limbaj pentru lucrul cu fișierele. Și, în general, putem spune că Python este cel mai simplu limbaj.

1. Copierea fișierelor

Pentru a copia fișiere trebuie să utilizați funcțiile din modulul subutil:

import shutil
cale_nouă = shutil.copy(„fișier1.txt”, „fișier2.txt”)

cale_nouă = shutil.copy(„fișier1.txt”, „fișier2.txt”, follow_symlinks=False)

2. Mutarea fișierelor

Mutarea fișierelor se face folosind funcția de mutare:

shutil.move(„fișier1.txt”, „fișier3.txt”)

Funcția de redenumire din modulul os vă permite să redenumiți fișierele:

import os
os.rename(„fișier1.txt”, „fișier3.txt”)

3. Citirea și scrierea fișierelor text

Puteți folosi funcții încorporate pentru a deschide fișiere, a citi sau a scrie date în ele:

fd = deschide ("fișier1.txt")
continut = fd.read()
imprimare (conținut)

Mai întâi trebuie să deschideți fișierul pentru a funcționa folosind funcția de deschidere. Pentru a citi date dintr-un fișier, se folosește funcția de citire, textul citit va fi salvat într-o variabilă. Puteți specifica numărul de octeți care trebuie citiți:

fd = deschide ("fișier1.txt")
continut = fd.read(20)
imprimare (conținut)

Dacă fișierul este prea mare, îl puteți împărți în linii și îl puteți procesa astfel:

continut = fd.readlines()
imprimare (conținut)

Pentru a scrie date într-un fișier, acesta trebuie mai întâi deschis pentru scriere. Există două moduri de operare - suprascrierea și adăugarea la sfârșitul fișierului. Mod de înregistrare:

fd = deschide ("fișier1.txt","w")

Și adăugând la sfârșitul fișierului:

fd = deschide ("fișier1.txt","a")
content = fd.write(„Conținut nou”)

4. Crearea directoarelor

Pentru a crea un director utilizați funcția mkdir din modulul os:

import os
os.mkdir("./dosar nou")

5. Obținerea timpului de creație

Puteți utiliza funcțiile getmtime(), getatime() și getctime() pentru a obține ultimele date modificate, accesate și create. Rezultatul va fi scos în format Unix, deci trebuie convertit într-o formă care poate fi citită:

import os
import datetime
tim=os.path.getctime("./file1.txt")
print(datetime.datetime.fromtimestamp(tim))

6. Lista de fișiere

Cu funcția listdir() puteți obține o listă de fișiere dintr-un folder:

import os
fișiere= os.listdir(".")
print(fisiere)

Pentru a rezolva aceeași problemă, puteți utiliza modulul glob:

import glob
files=glob.glob("*")
print(fisiere)

7. Serializarea obiectelor Python

import murat
fd = deschide ("fișierul meu.pk", "wb")
pickle.dump(mydata,fd)

Apoi, pentru a restabili obiectul, utilizați:

import murat
fd = deschide ("fișierul meu.pk", "rb")
mydata = pickle.load(fd)

8. Comprimarea fișierelor

Biblioteca standard Python vă permite să lucrați cu diferite formate de arhivă, de exemplu, zip, tar, gzip, bzip2. Pentru a vizualiza conținutul unui fișier utilizați:

import fișier zip
my_zip = zipfile.ZipFile("my_file.zip", mode="r")
print(file.namelist())

Și pentru a crea o arhivă zip:

import fișier zip
file=zipfile.ZipFile("files.zip","w")
file.write("fișier1.txt")
file.close()

De asemenea, puteți despacheta arhiva:

import fișier zip
file=zipfile.ZipFile("files.zip","r")
fisier.extractall()
file.close()

Puteți adăuga fișiere în arhivă astfel:

import fișier zip
file=zipfile.ZipFile("files.zip","a")
file.write("fișier2.txt")
file.close()

9. Analizarea fișierelor CSV și Excel

Folosind modulul Pandas, puteți vizualiza și analiza conținutul tabelelor CSV și Excel. Mai întâi trebuie să instalați modulul folosind pip:

sudo pip install panda

Apoi, pentru a analiza, tastați:

importa panda
data=pandas.read_csv("fișier.csv)

În mod implicit, Pandas utilizează prima coloană pentru titlurile fiecărui rând. Puteți specifica o coloană pentru index folosind parametrul index_col sau puteți specifica False dacă nu este necesar. Pentru a scrie modificări într-un fișier, utilizați funcția to_csv:

data.to_csv("fișier.csv)

Puteți analiza fișierul Excel în același mod:

date = pd.read_excel ("fișier.xls", sheetname="Sheet1")

Dacă trebuie să deschideți toate tabelele, utilizați:

date = pd.ExcelFile("fișier.xls")

Apoi puteți scrie toate datele înapoi:

data.to_excel("file.xls", sheet="Sheet1")

Rețea în Python

Programarea Python 3 implică adesea crearea de rețele. Biblioteca standard Python include capabilități de socket pentru acces la rețea de nivel scăzut. Acest lucru este necesar pentru a accepta mai multe protocoale de rețea.

priză de import
gazdă = „192.168.1.5”
port = 4040
my_sock = socket.create_connection((gazdă, port))

Acest cod se conectează la portul 4040 de pe mașina 192.168.1.5. Când soclul este deschis, puteți trimite și primi date:

my_sock.sendall(b"Bună ziua, lume")

Trebuie să scriem caracterul b înainte de linie pentru că trebuie să transferăm date în modul binar. Dacă mesajul este prea mare, puteți repeta:

msg = b"Mesajul mai lung ajunge aici"
mesglen = len(msg)
total = 0
în timp ce total< msglen:
trimis = my_sock.send(msg)
total = total + trimis

Pentru a primi date, trebuie să deschideți și socket-ul, dar utilizați metoda my_sock_recv:

data_in = my_sock.recv(2000)

Aici indicăm câte date trebuie primite - 20000, datele nu vor fi transferate la variabilă până când nu au fost primiți 20000 de octeți de date. Dacă mesajul este mai mare, atunci pentru a-l primi trebuie să creați o buclă:

buffer = bytearray(b" " * 2000)
my_sock.recv_into(buffer)

Dacă memoria tampon este goală, mesajul primit va fi scris acolo.

Lucrul cu poșta

Biblioteca standard Python vă permite să primiți și să trimiteți mesaje de e-mail.

1. Primirea e-mailurilor de la un server POP3

Pentru a primi mesaje folosim un server POP:

import getpass, poplib
pop_serv = poplib.POP3("192.168.1.5")
pop_serv.user(„utilizatorul meu”)
pop_serv.pass_(getpass.getpass())

Modulul getpass vă permite să obțineți parola utilizatorului într-un mod sigur, astfel încât să nu fie afișată pe ecran. Dacă serverul POP utilizează o conexiune securizată, trebuie să utilizați clasa POP3_SSL. Dacă conexiunea are succes, puteți interacționa cu serverul:

msg_list = pop_serv.list() # pentru a lista mesajele
msg_count = pop_serv.msg_count()

Pentru a termina lucrarea utilizați:

2. Primirea e-mailurilor de la serverul IMAP

Pentru a vă conecta și a lucra cu serverul IMAP, utilizați modulul imaplib:

import imaplib, getpass
my_imap = imaplib.IMAP4 ("imap.server.com")
my_imap.login ("utilizatorul meu", getpass.getpass())

Dacă serverul dvs. IMAP utilizează o conexiune securizată, trebuie să utilizați clasa IMAP4_SSL. Pentru a obține o listă de mesaje utilizați:

date = my_imap.search(Niciunul, „ALL”)

Puteți apoi să parcurgeți lista selectată și să citiți fiecare mesaj:

msg = my_imap.fetch(email_id, "(RFC822)")

Dar, nu uitați să închideți conexiunea:

my_imap.close()
my_imap.logout()

3. Trimiterea e-mailului

Pentru a trimite e-mailuri, se utilizează protocolul SMTP și modulul smtplib:

import smtplib, getpass
my_smtp = smtplib.SMTP(smtp.server.com")
my_smtp.login ("utilizatorul meu", getpass.getpass())

Ca și înainte, utilizați SMTP_SSL pentru o conexiune sigură. Când conexiunea este stabilită, puteți trimite un mesaj:

from_addr = " [email protected]"
to_addr = " [email protected]"
msg = "De la: [email protected]\r\nCătre: [email protected]\r\n\r\nBună ziua, acesta este un mesaj de testare"
my_smtp.sendmail(from_addr, to_addr, msg)

Lucrul cu pagini web

Programarea Python este adesea folosită pentru a scrie diverse scripturi pentru lucrul cu web-ul.

1. Crawling pe web

Modulul urllib vă permite să interogați paginile web într-o varietate de moduri. Pentru a trimite o solicitare obișnuită, utilizați clasa de solicitare. De exemplu, să efectuăm o solicitare normală de pagină:

import urllib.request
my_web = urllib.request.urlopen("https://www.google.com")
print(my_web.read())

2. Folosind metoda POST

Dacă trebuie să trimiteți un formular web, trebuie să utilizați o solicitare POST în loc de GET:

import urllib.request
mydata = b"Datele dvs. ajung aici"
my_req = urllib.request.Request("http://localhost", data=mydata,method="POST")
my_form = urllib.request.urlopen(my_req)
print(my_form.status)

3. Creați un server web

Folosind clasa Socket, puteți accepta conexiuni de intrare, ceea ce înseamnă că puteți crea un server web cu capabilități minime:

priză de import
gazdă = ""
port = 4242
my_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
my_server.bind((gazdă, port))
my_server.listen(1)

Când serverul este creat. puteți începe să acceptați conexiuni:

addr = my_server.accept()
print("Conectat de la gazdă", adresa)
date = conn.recv(1024)

Și nu uitați să închideți conexiunea:

Multithreading

La fel ca majoritatea limbajelor moderne, Python vă permite să rulați mai multe fire paralele, ceea ce poate fi util atunci când trebuie să efectuați calcule complexe. Biblioteca standard are un modul de threading care conține clasa Therad:

import threading
def print_message():
print("Mesajul a fost tipărit dintr-un fir diferit")
my_thread = threading.Thread(target=print_message)
my_thread.start()

Dacă funcția rulează prea mult timp, puteți verifica dacă totul este ok folosind funcția is_alive(). Uneori, firele dvs. trebuie să acceseze resurse globale. Încuietorile sunt folosite pentru aceasta:

import threading
num = 1
my_lock = threading.Lock()
def my_func():
num global, my_lock
my_lock.acquire()
suma = num + 1
print(suma)
my_lock.release()
my_thread = threading.Thread(target=my_func)
my_thread.start()

concluzii

În acest articol, am acoperit elementele de bază ale programării Python. Acum cunoașteți cele mai multe dintre funcțiile utilizate în mod obișnuit și le puteți utiliza în programele dvs. mici. Vă va plăcea să programați în Python 3, este foarte ușor! Dacă aveți întrebări, întrebați în comentarii!

Pentru a încheia articolul, există o prelegere excelentă despre Python:

Introducere


Datorită dezvoltării rapide observate în prezent a tehnologiei de calcul personal, există o schimbare treptată a cerințelor pentru limbajele de programare. Limbile interpretate încep să joace un rol din ce în ce mai important, deoarece puterea tot mai mare a computerelor personale începe să ofere o viteză suficientă pentru execuția programelor interpretate. Și singurul avantaj semnificativ al limbajelor de programare compilate este codul de mare viteză pe care îl produc. Atunci când viteza de execuție a programului nu este o valoare critică, cea mai corectă alegere ar fi un limbaj interpretat, ca instrument de programare mai simplu și mai flexibil.

În acest sens, este un oarecare interes să luăm în considerare limbajul de programare relativ nou Python (Python), care a fost creat de autorul său Guido van Rossum la începutul anilor 90.

Informații generale despre Python. Avantaje și dezavantaje


Python este un limbaj de programare interpretat, nativ orientat pe obiecte. Este extrem de simplu și conține un număr mic de cuvinte cheie, dar este și foarte flexibil și expresiv. Acesta este un limbaj de nivel superior decât Pascal, C++ și, bineînțeles, C, care se realizează în principal prin structuri de date de nivel înalt încorporate (liste, dicționare, tupluri).

Avantajele limbajului.
Un avantaj incontestabil este că interpretul Python este implementat pe aproape toate platformele și sistemele de operare. Primul astfel de limbaj a fost C, dar tipurile sale de date pe diferite mașini puteau ocupa cantități diferite de memorie, iar acest lucru a servit ca un obstacol în scrierea unui program cu adevărat portabil. Python nu are un astfel de dezavantaj.

Următoarea trăsătură importantă este extensibilitatea limbii; acesteia i se acordă o mare importanță și, după cum scrie însuși autorul, limba a fost concepută tocmai ca extensibilă. Aceasta înseamnă că este posibil pentru toți programatorii interesați să îmbunătățească limbajul. Interpretul este scris în C și codul sursă este disponibil pentru orice manipulare. Dacă este necesar, îl puteți insera în program și îl puteți utiliza ca shell încorporat. Sau, scriind propriile adăugiri la Python în C și compilând programul, puteți obține un interpret „extins” cu noi capabilități.

Următorul avantaj este prezența unui număr mare de module conectate la program, oferind diverse capacități suplimentare. Astfel de module sunt scrise în C și Python însuși și pot fi dezvoltate de toți programatorii suficient de calificați. Exemplele includ următoarele module:

  • Numerical Python - capabilități matematice avansate, cum ar fi manipularea vectorilor și matricelor întregi;
  • Tkinter - construirea de aplicații folosind o interfață grafică cu utilizatorul (GUI) bazată pe interfața Tk utilizată pe scară largă pe X-Windows;
  • OpenGL - utilizarea unei biblioteci extinse de modelare grafică a obiectelor bi- și tridimensionale Open Graphics Library de la Silicon Graphics Inc. Acest standard este acceptat, printre altele, în sisteme de operare obișnuite precum Microsoft Windows 95 OSR 2, 98 și Windows NT 4.0.
Dezavantajele limbajului.
Singurul dezavantaj observat de autor este viteza relativ scăzută de execuție a programului Python, care se datorează interpretabilității sale. Cu toate acestea, în opinia noastră, acest lucru este mai mult decât compensat de avantajele limbajului atunci când scrieți programe care nu sunt foarte critice pentru viteza de execuție.

Prezentare generală a caracteristicilor


1. Python, spre deosebire de multe limbaje (Pascal, C++, Java etc.), nu necesită declarații variabile. Sunt create la locul unde sunt inițializate, adică. prima dată când unei variabile i se atribuie o valoare. Aceasta înseamnă că tipul unei variabile este determinat de tipul valorii atribuite. În acest sens, Python seamănă cu Basic.
Tipul unei variabile nu este imuabil. Orice atribuire a acesteia este corectă și aceasta duce doar la faptul că tipul variabilei devine tipul noii valori atribuite.

2. În limbaje precum Pascal, C, C++, organizarea listelor a prezentat unele dificultăți. Pentru a le implementa, a fost necesar să se studieze temeinic principiile de lucru cu pointeri și memorie dinamică. Și chiar și cu bune calificări, programatorul, reimplementând de fiecare dată mecanismele de creare, lucru și distrugere a listelor, ar putea face cu ușurință erori subtile. Având în vedere acest lucru, au fost create unele instrumente pentru lucrul cu liste. De exemplu, Delphi Pascal are o clasă TList care implementează liste; Biblioteca STL (Standard Template Library) a fost dezvoltată pentru C++, care conține structuri precum vectori, liste, seturi, dicționare, stive și cozi. Cu toate acestea, astfel de facilități nu sunt disponibile în toate limbile și implementările acestora.

Una dintre trăsăturile distinctive ale Python este prezența unor astfel de structuri construite în limbajul însuși ca tupluri(tuplu) liste(lista) și dicționare(dicționar), care se numesc uneori carduri(Hartă). Să le aruncăm o privire mai atentă.

  1. Tuplu . Amintește oarecum de o matrice: este format din elemente și are o lungime strict definită. Elementele pot fi orice valori - simple constante sau obiecte. Spre deosebire de o matrice, elementele unui tuplu nu sunt neapărat omogene. Și ceea ce deosebește un tuplu de o listă este că un tuplu nu poate fi schimbat, adică. nu putem atribui ceva nou elementului tuplu i-lea și nu putem adăuga elemente noi. Astfel, un tuplu poate fi numit o listă constantă. Sintactic, un tuplu este specificat prin listarea tuturor elementelor separate prin virgule, toate incluse în paranteze:

  2. (1, 2, 5, 8)
    (3.14, „șir”, -4)
    Toate elementele sunt indexate de la zero. Pentru a obține elementul i, trebuie să specificați numele tuplului urmat de indexul i între paranteze drepte. Exemplu:
    t = (0, 1, 2, 3, 4)
    imprimați t, t[-1], t[-3]
    Rezultat: 0 4 2
    Astfel, un tuplu ar putea fi numit vector constant dacă elementele sale ar fi întotdeauna omogene.
  3. Listă . Un exemplu bun și specific de listă este șirul limbajului Turbo Pascal. Elementele unei linii sunt caractere simple, lungimea acesteia nu este fixă, este posibil să ștergeți elemente sau, dimpotrivă, să le inserați oriunde în linie. Elementele listei pot fi obiecte arbitrare, nu neapărat de același tip. Pentru a crea o listă, enumerați elementele acesteia separate prin virgule, încadrându-le pe toate între paranteze drepte:


  4. ['șir', (0,1,8), ]
    Spre deosebire de un tuplu, listele pot fi modificate după cum doriți. Accesul la elemente se realizează în același mod ca în tupluri. Exemplu:
    l = ]
    tipăriți l, l, l[-2], l[-1]
    Rezultat: 1 s (2,8) 0
  5. Dicţionar . Amintește de tipul de înregistrare în Pascal sau de tipul de structură în C. Cu toate acestea, în loc de schema „câmp de înregistrare” - „valoare”, aici este folosită „cheie” - „valoare”. Un dicționar este o colecție de perechi cheie-valoare. Aici „cheia” este o constantă de orice tip (dar sunt folosite în principal șiruri de caractere), servește la denumirea (indexarea) a unei valori corespunzătoare (care poate fi modificată).

  6. Un dicționar este creat prin listarea elementelor sale (perechi cheie-valoare separate prin două puncte), separate prin virgule și încadrându-le pe toate între acolade. Pentru a avea acces la o anumită valoare, după numele dicționarului, scrieți cheia corespunzătoare între paranteze drepte. Exemplu:
    d = ("a": 1, "b": 3, 5: 3.14, "nume": "Ioan")
    d["b"] = d
    print d["a"], d["b"], d, d["nume"]
    Rezultat: 1 3.14 3.14 Ioan
    Pentru a adăuga o nouă pereche cheie-valoare, pur și simplu atribuiți valoarea corespunzătoare elementului cu noua cheie:
    d["new"] = "valoare nouă"
    imprimare d
    Rezultat: ("a":1, "b":3, 5:3.14, "nume":"Ioan", "nou":"valoare nouă")

3. Python, spre deosebire de Pascal, C, C++, nu acceptă lucrul cu pointeri, memorie dinamică și aritmetică de adrese. În acest fel este similar cu Java. După cum știți, indicatorii sunt o sursă de erori subtile și lucrul cu ele se referă mai mult la programarea la nivel scăzut. Pentru a oferi o mai mare fiabilitate și simplitate, acestea nu au fost incluse în Python.

4. Una dintre caracteristicile lui Python este modul în care o variabilă este atribuită alteia, adică. când sunteți de ambele părți ale operatorului" = „Există variabile.

Urmând Timothy Budd (), vom suna semantica pointerului cazul în care atribuirea conduce doar la atribuirea unei referințe (pointer), adică noua variabilă devine doar un alt nume, indicând aceeași locație de memorie ca și vechea variabilă. În acest caz, modificarea valorii notate de noua variabilă va duce la o modificare a valorii celei vechi, deoarece ele înseamnă de fapt același lucru.

Când o atribuire duce la crearea unui nou obiect (aici un obiect - în sensul unei piese de memorie pentru stocarea unei valori de un anumit tip) și copierea conținutului variabilei atribuite în el, numim acest caz copia semantică. Astfel, dacă semantica copierii se aplică la copiere, atunci variabilele de pe ambele părți ale semnului „=" vor însemna două obiecte independente cu același conținut. Și aici, o modificare ulterioară a unei variabile nu o va afecta în niciun fel pe cealaltă.

Atribuirea în Python funcționează astfel: dacă atribuibil obiectul este o instanță de tipuri precum numere sau șiruri de caractere, apoi se aplică semantica de copiere, dar dacă în partea dreaptă există o instanță a unei clase, liste, dicționar sau tuplu, atunci se aplică semantica pointerului. Exemplu:
a = 2; b = a; b = 3
tipăriți „copiere semantică: a=", a, "b=", b
a = ; b = a; b = 3
printează "semantica pointerului: a=", a, "b=", b
Rezultat:
semantica copiei: a= 2 b= 3
semantica pointerului: a= b=

Pentru aceia dintre voi care doresc să știe ce se întâmplă aici, vă voi oferi o altă abordare a misiunii în Python. Dacă în limbaje precum Basic, Pascal, C/C++ ne-am ocupat de variabile de „capacitate” și constante stocate în ele (numerice, simbolice, șir - nu contează), iar operația de atribuire a însemnat „introducerea” constantei în variabila alocată, apoi în Python trebuie să lucrăm deja cu variabilele „nume” și obiectele pe care le numesc. (Observați unele analogii cu Prolog?) Ce este un obiect în Python? Acesta este tot ceea ce i se poate da un nume: numere, șiruri de caractere, liste, dicționare, instanțe de clasă (care în Object Pascal sunt numite obiecte), clasele în sine (!), funcții, module etc. Deci, atunci când atribuiți o variabilă unui obiect, variabila devine „numele” ei, iar obiectul poate avea atâtea astfel de „nume” câte doriți și toate sunt independente unele de altele.

Acum, obiectele sunt împărțite în modificabile (mutabile) și imuabile. Mutabile - cele care își pot schimba „conținutul intern”, de exemplu, liste, dicționare, instanțe de clasă. Și cele neschimbabile - precum numere, tupluri, șiruri (da, șiruri de caractere; puteți aloca un șir nou obținut dintr-unul vechi unei variabile, dar nu puteți modifica șirul vechi în sine).

Deci, dacă scriem a = ; b = a; b = 3, Python îl interpretează astfel:

  • dați obiectului o „listă” " Nume A ;
  • da acestui obiect un alt nume - b ;
  • modifica elementul nul al unui obiect.

  • Acesta este modul în care obținem semantica „pseudo” a indicatorilor.

    Un ultim lucru de spus despre asta: deși nu este posibilă modificarea structurii tuplului, componentele mutabile pe care le conține sunt încă disponibile pentru modificare:

    T = (1, 2, , "șir") t = 6 # acest lucru nu este posibil del t # și o eroare t = 0 # permisă, acum a treia componentă este o listă t = "S" # eroare: șirurile nu sunt mutabil

    5. Modul în care Python grupează operatorii este foarte original. În Pascal, acest lucru se face folosind paranteze operator inceput-sfarsit, în C, C++, Java - acolade (), în Basic se folosesc terminațiile de închidere ale constructelor de limbaj (NEXT, WEND, END IF, END SUB).
    În Python, totul este mult mai simplu: selectarea unui bloc de instrucțiuni se realizează prin deplasarea grupului selectat cu unul sau mai multe spații sau caractere tabulatoare la dreapta față de capul structurii căreia îi va aparține blocul dat. De exemplu:

    dacă x > 0: tipăriți ‘ x > 0 ’ x = x - 8 altfel: imprimați ‘ x<= 0 ’ x = 0 Astfel, un bun stil de scriere a programelor, pe care profesorii limbilor Pascal, C++, Java etc. îl solicită, este dobândit aici de la bun început, deoarece pur și simplu nu va funcționa în alt mod.

    Descrierea limbii. Structuri de control



    Tratarea excepțiilor


    încerca:
    <оператор1>
    [cu exceptia[<исключение> [, <переменная>] ]:
    <оператор2>]
    [altfel <оператор3>]
    Efectuat<оператор1>, dacă apare o excepție<исключение>, atunci se împlinește<оператор2>. Dacă<исключение>are o valoare, este atribuită<переменной>.
    La finalizarea cu succes<оператора1>, efectuat<оператор3>.
    încerca:
    <оператор1>
    in cele din urma:
    <оператор2>
    Efectuat<оператор1>. Dacă nu apar excepții, atunci executați<оператор2>. Altfel executat<оператор2>și se ridică imediat o excepție.
    a ridica <исключение> [<значение>] Aruncă o excepție<исключение>cu parametru<значение>.

    Excepțiile sunt doar șiruri. Exemplu:

    My_ex = „index rău” încercați: dacă este rău: creșteți my_ex, rău, cu excepția my_ex, valoare: imprimați „Eroare”, valoare

    Declarație de funcție



    Declarație de clasă



    Clasa cMyClass: def __init__(self, val): self.value = val # def printVal(self): print ' value = ', self.value # # end cMyClass obj = cMyClass (3.14) obj.printVal() obj.value = " șir acum" obj.printVal () !} Rezultat:
    valoare = 3,14
    valoare = șir acum

    Operatori pentru toate tipurile de secvențe (liste, tupluri, șiruri de caractere)


    Operatori pentru liste (listă)


    s[i] = x I-lea element s este înlocuit cu x.
    s = t o parte din elementele s de la i la j-1 este înlocuită cu t (t poate fi și o listă).
    del s elimină partea s (la fel ca s = ).
    s.apend(x) adaugă elementul x la sfârșitul lui s.
    s.count(x) returnează numărul de elemente s egal cu x.
    s.index(x) returnează cel mai mic i astfel încât s[i]==x.
    s.inserare(i,j) partea lui s, pornind de la i-lea element, este deplasată la dreapta, iar s[i] este atribuită lui x.
    s.eliminare(x) la fel ca del s[ s.index(x) ] - elimină primul element al lui s egal cu x.
    s.reverse() scrie un șir în ordine inversă
    s.sort() sortează lista în ordine crescătoare.

    Operatori pentru dicționare


    Fișier obiecte


    Creat de o funcție încorporată deschis()(vezi descrierea de mai jos). De exemplu: f = deschis('mydan.dat','r').
    Metode:

    Alte elemente de limbaj și funcții încorporate


    = misiune.
    imprimare [ < c1 > [, < c2 >]* [, ] ] afișează valori< c1 >, < c2 >la ieșirea standard. Plasează un spațiu între argumente. Dacă nu există virgulă la sfârșitul listei de argumente, se trece la o nouă linie.
    abs(x) returnează valoarea absolută a lui x.
    aplica( f , <аргументы>) apelează funcția (sau metoda) f cu< аргументами >.
    chr(i) returnează un șir de un caracter cu cod ASCII i.
    cmp(x,y) returnează negativ, zero sau pozitiv dacă, respectiv, x<, ==, или >decât y.
    divmod (a, b) returnează tuplu (a/b, a%b), unde a/b este un div b (partea întreagă a rezultatului diviziunii), a%b este un mod b (restul diviziunii).
    evaluare(e)
    returnează obiectul specificat în s ca șir. S poate conține orice structură de limbaj. S poate fi, de asemenea, un obiect cod, de exemplu: x = 1 ; incr_x = eval("x+1") .
    float(x) returnează o valoare reală egală cu numărul x.
    hex(x) returnează un șir care conține reprezentarea hexazecimală a lui x.
    intrare(<строка>) afișează<строку>, citește și returnează o valoare din intrarea standard.
    int(x) returnează valoarea întreagă a lui x.
    obiectiv) returnează lungimea (numărul de elemente) unui obiect.
    lung (x) returnează o valoare întreagă lungă x.
    max(e), min(e) returnează cel mai mare și cel mai mic element al secvenței s (adică s este un șir, listă sau tuplu).
    oct(x) returnează un șir care conține o reprezentare a numărului x.
    deschis(<имя файла>, <режим>='r' ) returnează un obiect fișier deschis pentru citire.<режим>= 'w' - deschidere pentru scriere.
    ord(c) returnează codul ASCII al unui caracter (șir de lungime 1) c.
    pow(x, y) returnează valoarea lui x la puterea lui y.
    gamă(<начало>, <конец>, <шаг>) returnează o listă de numere întregi mai mari sau egale cu<начало>si mai putin de<конец>, generat cu un dat<шагом>.
    raw_input( [ <текст> ] ) afișează<текст>la ieșirea standard și citește un șir de la intrarea standard.
    rotund (x, n=0) returnează x real rotunjit la a n-a zecimală.
    str(<объект>) returnează o reprezentare șir<объекта>.
    tip(<объект>) returnează tipul obiectului.
    De exemplu: if type(x) == type(‘’): print ‘acesta este un șir’
    xrange (<начало>, <конец>, <шаг>) este similar cu intervalul, dar simulează doar o listă fără a o crea. Folosit într-o buclă for.

    Funcții speciale pentru lucrul cu liste


    filtru (<функция>, <список>) returnează o listă a acestor elemente<спиcка>, pentru care<функция>ia valoarea „adevărat”.
    Hartă(<функция>, <список>) se aplică<функцию>la fiecare element<списка>și returnează o listă de rezultate.
    reduce ( f , <список>,
    [, <начальное значение> ] )
    returnează valoarea obținută prin „reducere”<списка>funcția f. Aceasta înseamnă că există o variabilă internă p care este inițializată<начальным значением>, apoi, pentru fiecare element<списка>, funcția f este apelată cu doi parametri: p și elementul<списка>. Rezultatul returnat de f este atribuit lui p. După ce a trecut prin toate<списка>reduce randamentele p.
    Folosind această funcție, puteți, de exemplu, să calculați suma elementelor unei liste: def func (roșu, el): return red+el sum = reduce (func, , 0) # acum sum == 15
    lambda [<список параметров>] : <выражение> O funcție „anonimă” care nu are nume și este scrisă acolo unde este numită. Acceptă parametrii specificați în<списке параметров>, și returnează valoarea<выражения>. Folosit pentru filtrare, reducere, hartă. De exemplu: >>>print filter (lambda x: x>3, ) >>>print map (lambda x: x*2, ) >>>p=reduce (lambda r, x: r*x, , 1) >>> tipăriți pagina 24

    Importul modulelor



    Modul standard de matematică


    Variabile: pi, e.
    Funcții(similar cu funcțiile limbajului C):

    acos(x) cosh(x) ldexp(x,y) sqrt(x)
    asin(x) exp(x) log(x) tan(x)
    atan(x) fabs(x) sinh(x) frex(x)
    atan2(x,y) podea(x) pow(x,y) modf(x)
    plafon (x) fmod(x,y) sin(x)
    cos(x) log10(x) tanh(x)

    modul string


    Functii:

    Concluzie


    Datorită simplității și flexibilității limbajului Python, acesta poate fi recomandat utilizatorilor (matematicieni, fizicieni, economiști etc.) care nu sunt programatori, dar care folosesc tehnologia informatică și programarea în munca lor.
    Programele în Python sunt dezvoltate în medie de una și jumătate până la două (și uneori de două până la trei) ori mai rapid decât în ​​limbajele compilate (C, C++, Pascal). Prin urmare, limbajul poate fi de mare interes pentru programatorii profesioniști care dezvoltă aplicații care nu sunt critice pentru viteza de execuție, precum și pentru programele care utilizează structuri complexe de date. În special, Python sa dovedit bine în dezvoltarea de programe pentru lucrul cu grafice și generarea de arbori.

    Literatură


    1. Budd T. Programare orientată pe obiecte. - Sankt Petersburg: Peter, 1997.
    2. Guido van Rossum. Tutorial Python. (www.python.org)
    3. Chris Hoffman. O referință rapidă Python. (www.python.org)
    4. Guido van Rossum. Bibliotecă de referință Python. (www.python.org)
    5. Guido van Rossum. Manual de referință Python. (www.python.org)
    6. Guido van Rossum. Atelier de programare Python. (http://sultan.da.ru)

    În această colecție, am adunat cele mai utile cărți despre limbajul de programare Python, care vor ajuta atât programatorii începători, cât și cu experiență să învețe.
    Aici veți găsi materiale pentru crearea aplicațiilor, precum și tutoriale care vă vor ajuta să vă familiarizați cu instrumentele, să stăpâniți bazele de date și să vă îmbunătățiți abilitățile profesionale.

    Secțiuni:

    Pentru incepatori

    Tutorialul oferă o introducere excelentă și recunoscută la nivel internațional în limbajul Python. Vă va învăța rapid cum să scrieți cod eficient, de înaltă calitate. Potrivit atât pentru programatori începători, cât și pentru cei care au deja experiență în utilizarea altor limbi. Pe lângă teorie, cartea conține teste, exerciții și ilustrații utile - tot ce ai nevoie pentru a învăța Python 2 și 3. În plus, te vei familiariza cu câteva caracteristici avansate ale limbajului pe care nu mulți specialiști le-au stăpânit încă.

    Python este un limbaj de programare multi-platformă cu mai multe paradigme, care a devenit recent deosebit de popular în Occident și în companii mari precum Google, Apple și Microsoft. Datorită sintaxei sale minimaliste și nucleului puternic, este una dintre cele mai productive și mai ușor de citit limbi din lume.

    După ce ați citit această carte, veți învăța elementele de bază ale limbajului într-un mod rapid și distractiv, apoi veți trece la gestionarea excepțiilor, dezvoltarea web, SQL, știința datelor și Google App Engine. De asemenea, veți învăța cum să scrieți aplicații Android și multe altele despre puterea pe care ți-o oferă Python.

    O altă carte premiată Python cu 52 de exerciții alese manual pentru învăţarea limbilor străine. După ce le-ați analizat, veți înțelege cum funcționează limbajul, cum să scrieți corect programele și cum să vă corectați propriile greșeli. Sunt abordate următoarele subiecte:

    • Amenajarea mediului;
    • Organizarea codului;
    • Matematică de bază;
    • Variabile;
    • Rânduri și text;
    • Interacțiunea cu utilizatorii;
    • Lucrul cu fișiere;
    • Bucle și logică;
    • Structuri de date;
    • Dezvoltare de software;
    • Moștenirea și compoziția;
    • Module, clase și obiecte;
    • Pachete;
    • Depanare;
    • Automatizare de testare;
    • Dezvoltarea jocurilor;
    • Dezvoltare web.

    Această carte este destinată începătorilor să învețe programarea. Folosește o abordare foarte standard a învățării, dar un limbaj non-standard 🙂 Merită remarcat că aceasta este mai mult o carte despre elementele de bază ale programării decât despre Python.

    Cartea Python Programming for Beginners este un loc minunat de a începe. Este un ghid detaliat scris special pentru începătorii care doresc să stăpânească această limbă. Odată ce ați învățat elementele de bază, veți trece la programarea orientată pe obiecte și la crearea de scripturi CGI pentru a procesa datele formularelor web și veți învăța cum să creați aplicații grafice cu ferestre și să le distribuiți pe alte dispozitive.

    Cu ajutorul acestui tutorial, vei putea parcurge toți pașii de la instalarea unui interpret până la lansarea și depanarea aplicațiilor cu drepturi depline.

    „Python Crash Course” este o narațiune amplă despre limbajul Python. În prima jumătate a cărții, vă veți familiariza cu conceptele de bază ale limbajului, cum ar fi liste, dicționare, clase și bucle și veți învăța cum să scrieți cod curat și ușor de citit. În plus, veți învăța cum să vă testați programele. A doua jumătate a cărții vă cere să vă puneți cunoștințele în practică scriind 3 proiecte: un joc arcade precum Space Invaders, o aplicație de vizualizare a datelor și o aplicație web simplă.

    Aceasta este o foaie de cheat foarte la îndemână creată pentru Python 3.4 și 2.7. În el veți găsi cele mai necesare informații despre diverse aspecte ale limbii. Subiecte acoperite:

    • Tipuri de obiecte încorporate;
    • Expresii și sintaxă pentru crearea și prelucrarea obiectelor;
    • Funcții și module;
    • OOP (avem unul separat);
    • Funcții, excepții și atribute încorporate;
    • Metode de supraîncărcare a operatorului;
    • Module și extensii populare;
    • Opțiuni de linie de comandă și instrumente de dezvoltare;
    • Sugestii;
    • Python SQL Database API.

    O carte pentru a învăța Python cu o mulțime de exemple practice.

    Exemple practice pot fi găsite și în secțiunea noastră. De exemplu, citiți ghidul nostru despre cum să implementați singur funcția zip.

    Scopul acestei cărți este de a prezenta cititorului instrumentele populare și diversele ghiduri de codificare acceptate în comunitatea open source. Elementele de bază ale limbajului Python nu sunt tratate în această carte, deoarece nu este vorba deloc despre asta.

    Prima parte a cărții descrie diferitele editori de text și medii de dezvoltare care pot fi folosite pentru a scrie programe Python, precum și multe tipuri de interpreți pentru diferite sisteme. A doua parte a cărții prezintă stilul de codare adoptat în comunitatea open source. A treia parte a cărții conține o scurtă prezentare generală a multor biblioteci Python care sunt utilizate în majoritatea proiectelor open source.

    Principala diferență dintre această carte și toate celelalte manuale pentru începători în învățarea Python este că, în paralel cu studierea materialului teoretic, cititorul se familiarizează cu implementarea proiectelor pentru diferite jocuri. În acest fel, viitorul programator va putea înțelege mai bine cum sunt utilizate anumite caracteristici ale limbajului în proiecte reale.

    Cartea acoperă elementele de bază ale limbajului Python și ale programării în general. O carte excelentă pentru prima ta introducere în această limbă.

    Pentru avansati

    Dacă doriți să treceți la Python 3 sau să actualizați corect vechiul cod scris în Python 2, atunci această carte este pentru dvs. Și, de asemenea, pentru tine - la transferul unui proiect de la Python 2 la Python 3 fără durere.

    În carte veți găsi multe exemple practice în Python 3.3, fiecare dintre acestea fiind discutată în detaliu. Sunt abordate următoarele subiecte:

      • Structuri de date și algoritmi;
      • Rânduri și text;
      • Numere, date și ore;
      • Iteratoare și generatoare;
      • Fișiere și operații de citire/scriere;
      • Codificarea și prelucrarea datelor;
      • Funcții;
      • Clase și obiecte;
      • Metaprogramare;
      • Module și pachete;
      • Programare web;
      • Competitivitate;
      • Administrarea sistemului;
      • Testare și depanare;
      • extensii C.

    Pe măsură ce citiți această carte, veți dezvolta o aplicație web în timp ce învățați beneficiile practice ale dezvoltării bazate pe teste. Veți acoperi subiecte precum integrarea bazelor de date, instrumente de automatizare JS, NoSQL, socket-uri web și programare asincronă.

    Cartea acoperă Python 3 în detaliu: tipuri de date, operatori, condiții, bucle, expresii regulate, funcții, instrumente de programare orientate pe obiecte, lucru cu fișiere și directoare și module de bibliotecă standard utilizate frecvent. În plus, cartea se concentrează și pe baza de date SQLite, interfața de acces la baza de date și metodele de preluare a datelor de pe Internet.

    A doua parte a cărții este dedicată în întregime bibliotecii PyQt 5, care vă permite să creați aplicații GUI în Python. Aici avem în vedere instrumente pentru procesarea semnalelor și evenimentelor, gestionarea proprietăților ferestrei, dezvoltarea aplicațiilor multi-threaded, descrierea principalelor componente (butoane, câmpuri de text, liste, tabele, meniuri, bare de instrumente etc.), opțiuni pentru plasarea lor în interiorul ferestrei, instrumente pentru lucrul cu date de baze de date, multimedia, tipărirea documentelor și exportul lor în format Adobe PDF.

    Programele dvs. Python pot funcționa, dar pot rula mai repede. Acest ghid practic vă va ajuta să înțelegeți mai bine limbajul și veți învăța cum să găsiți blocajele în codul dvs. și să îmbunătățiți viteza programelor care funcționează cu cantități mari de date.

    După cum sugerează și titlul, scopul acestei cărți este de a oferi cea mai completă înțelegere a cadrului de dezvoltare a aplicațiilor web Django. Datorită faptului că cartea a fost publicată în limba rusă în 2010, ea discută o versiune învechită a cadrului, Django 1.1. Dar totuși, cartea este recomandată pentru lectură, deoarece vă poate învăța elementele de bază ale Django. Și practic nu există cărți bune despre acest cadru în limba rusă, cu excepția acesteia.

    Autorii Adrian Golovaty și Jacob Kaplan-Moss aruncă o privire mai atentă asupra componentelor cadrului. Cartea conține o mulțime de materiale despre dezvoltarea resurselor de internet folosind Django - de la elementele de bază la subiecte atât de speciale precum generarea PDF și RSS, securitate, stocare în cache și internaționalizare. Este recomandat să stăpâniți conceptele de bază ale dezvoltării web înainte de a citi această carte.

    Dezvoltarea jocului

    „Making Games with Python & Pygame” este o carte dedicată bibliotecii de dezvoltare a jocurilor Pygame. Fiecare capitol oferă codul sursă complet pentru noul joc și explicații detaliate ale principiilor de dezvoltare utilizate.

    Inventați-vă propriile jocuri pe computer cu Python vă învață cum să programați în Python folosind dezvoltarea jocurilor ca exemplu. Jocurile ulterioare explorează crearea de jocuri 2D folosind biblioteca Pygame. O sa inveti:

    • utilizați bucle, variabile și expresii logice;
    • utilizați structuri de date precum liste, dicționare și tupluri;
    • depanați programe și căutați erori;
    • scrie AI simplu pentru jocuri;
    • creați grafică și animații simple pentru jocurile dvs.

    Analiza datelor și învățare automată

    Îmbunătățiți-vă abilitățile lucrând cu structuri de date și algoritmi într-un mod nou - științific. Explorați exemple de sisteme complexe cu explicații clare. Cartea sugerează:

    • Învățați concepte precum matrice NumPy, metode SciPy, procesare a semnalului, transformări rapide Fourier și tabele hash;
    • se familiarizează cu modele abstracte ale sistemelor fizice complexe, fractali și mașini Turing;
    • explora legile și teoriile științifice;
    • analiza exemple de probleme complexe.

    Această carte prezintă Python ca un instrument pentru rezolvarea problemelor care necesită calcule la scară largă. Scopul acestei cărți este de a învăța cititorul cum să folosească stiva Python de data mining pentru a stoca, manipula și înțelege în mod eficient datele.

    Fiecare capitol al cărții este dedicat unei biblioteci specifice pentru lucrul cu date mari. Primul capitol se referă la IPython și Jupyter, al doilea se referă la NumPy, iar al treilea se referă la Pandas. Al patrulea capitol conține materiale despre Matplotlib, al cincilea - despre Scikit-Learn.

    „Python for Data Analysis” vorbește despre tot felul de modalități de procesare a datelor. Cartea este o excelentă introducere în domeniul calculului științific. Iată ce vei afla:

    • shell interactiv IPython;
    • bibliotecă pentru calcule numerice NumPy:
    • biblioteca de analiză a datelor panda;
    • bibliotecă pentru trasarea matplotlib.

    De asemenea, veți învăța să măsurați datele în timp și să rezolvați probleme analitice în multe domenii ale științei.

    Această carte vă învață diferite tehnici de analiză a datelor folosind Python. Iată ce vei învăța după ce ai citit:

    • gestionează datele;
    • rezolva probleme de știința datelor;
    • creați vizualizări de înaltă calitate;
    • aplicarea regresiilor liniare pentru a evalua relațiile dintre variabile;
    • crearea sistemelor de recomandare;
    • procesează date mari.

    Acest manual explică principiile procesării limbajului natural într-un limbaj clar. Veți învăța să scrieți programe care pot procesa seturi mari de text nestructurat, să obțineți acces la seturi mari de date și să vă familiarizați cu algoritmii de bază.

    Alte

    Dacă ați petrecut vreodată ore întregi redenumind fișiere sau actualizând sute de celule din tabel, știți cât de obositor poate fi. Vrei să înveți cum să automatizezi astfel de procese? Automatizați lucrurile plictisitoare cu Python vă învață cum să creați programe care rezolvă o varietate de sarcini de rutină în câteva minute. După citire, veți învăța cum să automatizați următoarele procese:

    • căutarea textului specificat în fișiere;
    • crearea, actualizarea, mutarea și redenumirea fișierelor și folderelor;
    • Căutare și descărcare de date pe Internet;
    • actualizarea și formatarea datelor în tabele Excel;
    • împărțirea, îmbinarea și criptarea fișierelor PDF;
    • trimiterea de scrisori și notificări;
    • completarea formularelor online.

    O carte excelentă cu o barieră minimă la intrare. Vorbește mai mult despre biologie decât despre limbaj, dar cu siguranță va fi util tuturor celor care lucrează în acest domeniu. Echipat cu un număr mare de exemple analizate de complexitate variabilă.

    Această carte acoperă elementele de bază ale programării unui sistem Raspberry Pi. Autorul a compilat deja multe scripturi pentru dvs. și a oferit, de asemenea, un ghid inteligibil și detaliat pentru crearea propriei dvs. Pe lângă exercițiile obișnuite, ești invitat să implementezi trei proiecte: jocul „Hangman”, un ceas LED și un robot controlat de software.

    „Hacking Secret Ciphers with Python” nu numai că spune istoria cifrurilor existente, dar vă învață și cum să vă creați propriile programe pentru criptarea și spargerea cifrurilor. O carte excelentă pentru a învăța elementele de bază ale criptografiei.

    Distribuie cărți utile despre Python în comentarii!

    Cele mai bune articole pe această temă