Diferente pentru blog/de-ce-python intre reviziile #8 si #7

Nu exista diferente intre titluri.

Diferente intre continut:

Are foarte multe librarii, unele dintre ele intrate deja in limbajul de baza. Ca exemple as aminti _NumPy_,o librarie de calcule numerice, care contine printre altele metode din algebra liniara sau generatoare de numere aleatoare, _sqlite_ care se ocupa cu operatii pe o baza de date si _PIL_ o librarie de prelucrare a imaginilor.
In Python se poate folosi si paradigma programarii functionale. El are elemente ca _map()_, _reduce()_, _filter()_, si operatorul _lambda_.
Metoda _map(functie, secventa)_ ne intoarce o lista care sunt rezultatele aplicarii functiei peste elementele unei secvente. Operatorul _reduce(functie, lista)_ ne intoarce rezultatul aplicarii cumulate a functiei peste elementele secventei. Putem scrie cod de genul:
<code>
>>> map(int, ["1", "2", "3"]) # obtinem din un sir de stringuri un sir de intregi
[1, 2, 3]
>>> reduce(lambda x,y: x + y, [1, 2, 3]) # facem suma elementelor din un sir
6
>>> filter(lambda x: x % 2 == 0, [1, 2, 3]) # filtra elementele impare
[2]
</code>
 
Faptul ca limbajul nu este unul pur functional, face invatarea ideilor din programarea functionala mai usoara.
 
Mai imi plac si _list comprehensions_ care sunt doar _zahar sintactic_, dar le folosesc destul de des. Ele sunt o modalitate naturala si succinta de a crea liste. Va dau mai jos cateva exemple:
<code>
>>> [x**2 for x in range(1, 5)] # patratele numerelor de la 1 la 4
[1, 4, 9, 16]
>>> a, b = [1, 2, 3, 4], [1,4,8,16] # pentru doi vectori a si b
>>> [x + y for x in a for y in b] # vrem toate sumele posibile intre un element din a si unul din b
[2, 5, 9, 17, 3, 6, 10, 18, 4, 7, 11, 19, 5, 8, 12, 20]
</code>
 
 
 
 
+ list comprehension
+ array methods
+ gets the best out of a lot of languages functional programming, haskel, lambda functions makes it less painful
+ takes away details
+ generators
+ everything is generic
+ whitespace good indentation
+ library for everything
  + image manipulation
  + sql lite
  + numpy

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.