Abstração em Python

Índice
A abstração no desenvolvimento de software é muito importante, pois nos permite definir pedaços de código que funcionam por conta própria com complexidade compartilhada, muitas vezes podemos usar funções abstratas que se aplicam a tantos casos que podemos usá-las sempre que quisermos.
Se virmos os programas que podemos ter escrito em Pitão Seguindo os tutoriais, vemos que são pequenos programas com no máximo 15 a 20 linhas, porém se quiséssemos escrever um programa muito maior seria um grande problema se não tratássemos da abstração. Lembre-se que a virtude do programador é que ele não faz trabalhos desnecessários, ou seja, não trabalha a mesma coisa duas vezes ou se repete.
Vamos ver o código a seguir, ele calcula os primeiros 10 números de um Sequência de Fibonacci:
 fibs = [0, 1] para i no intervalo (8): fibs.append (fibs [-2] + fibs [-1]) 

Isso efetivamente resulta nos primeiros 10 números

Agora, o que acontece se quisermos que o usuário defina que, em vez de ser 10 números, é uma quantidade dinâmica, então recondicionamos nosso código da seguinte maneira:
 fibs = [0, 1] num = input ('Quantos números de Fibonacci você quer?') para i no intervalo (num-2): fibs.append (fibs [-2] + fibs [-1]) imprimir fibs 

Até agora tudo parece normal, não vemos nenhum problema técnico, porém há um problema de filosofia de programação, por exemplo, se quisermos fazer isso em várias partes de um programa, devemos escrever todas essas linhas repetidamente, isso seria o que chamamos de trabalho desnecessário. O que chamamos de abstração é um código mais curto onde o que acontece por trás é isolado, feito de forma que funcione em qualquer lugar, que só nos preocupemos em obter o que é necessário para nossas condições, uma forma mais abstrata de ver os códigos anteriores seria esta:
 num = input ('Quantos números você quer?') print fibs (num) 

Notemos que é totalmente direto, pedimos a entrada de quantos números o usuário deseja, então imprimimos um resultado, sendo o que acontece que definimos uma função fibs em outro lugar que nos permite invocá-la quando quisermos, evitando a necessidade para fazer o loop de cálculos repetidamente, tornando nosso programa mais legível e menos complexo.
A legibilidade é tudo quando estamos desenvolvendo um grande programa, a gestão dos recursos do sistema e a eficiência também são importantes, mas como melhorar um programa se não o compreendermos ao lê-lo, por exemplo este código:
 page = download_page () freqs = compute_frequencies (page) por palavra, freq em freqs: imprimir palavra, freq 

Ao lê-lo, sabemos o que ele faz e o que deve retornar, isso é abstração em seu estado mais puro, como os métodos e funções funcionam neste ponto não nos interessa, agora, se a eficiência e o gerenciamento de recursos se tornam problemáticos, simplesmente trabalhamos sobre o função e o programa não seria afetado, portanto, trabalharíamos apenas uma vez.
Isso é tudo por este tutorial, temos material para continuar pensando e melhorar nossa mentalidade de programador, para que possamos abstrair nosso código e trabalhar com muito mais eficiência.

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave