De acordo com o StackOverflow, o Python é a linguagem de programação que mais cresce. Por exemplo, um dos relatórios da
Forbes diz que o uso do Python cresceu 456%. O Python é usado pela Netflix, IBM e milhares de empresas em todo o mundo. Não vamos esquecer o Dropbox. Os serviços desta empresa também são escritos em Python. De acordo com a pesquisa da
Dice , o conhecimento no campo do Python é muito procurado atualmente, e o
índice de popularidade das linguagens de programação sugere que o Python é hoje a linguagem mais popular do mundo. Se você comparar o Python com outros idiomas, verifica-se que ele possui os seguintes pontos fortes:
- Compatível com a grande maioria das plataformas e sistemas operacionais.
- A presença de muitas estruturas e ferramentas de código aberto.
- Código fácil de ler e manter.
- Biblioteca padrão confiável.
- Mecanismo de desenvolvimento padrão através de testes.

Truques em Python
Aqui, gostaria de chamar sua atenção para 10 dicas úteis sobre programação em Python. Eles são capazes de ajudá-lo em seu trabalho diário.
▍1 Concatenação de cadeias
Se você precisar concatenar uma lista de cadeias, faça isso em um loop
for
, adicionando uma linha de cada vez ao resultado final. No entanto, essa abordagem será muito ineficiente, especialmente se a lista for longa o suficiente. No Python, strings são entidades imutáveis. Como resultado, cada operação de concatenação de cadeias significa que você precisa copiar algumas linhas para uma nova linha.
Uma abordagem mais eficiente para resolver esse problema é usar a função
join()
:
characters = ['p', 'y', 't', 'h', 'o', 'n'] word = "".join(characters) print(word)
§ 2 Usando geradores de lista
Os geradores de lista são usados para criar novas listas a partir de outros objetos iteráveis. Como o gerador retorna listas, sua descrição é uma expressão entre colchetes, executada para cada elemento da lista. Isso também inclui uma descrição do loop for que passa por cada elemento. Os geradores de lista permitem acelerar o trabalho com listas devido ao fato de o interpretador Python ser otimizado para modelos repetidos quando a lista é percorrida.
Como exemplo, considere encontrar os quadrados dos cinco primeiros números inteiros usando um gerador de lista:
m = [x ** 2 for x in range(5)] print(m)
Agora, encontramos os números que aparecem em cada uma das duas listas:
list_a = [1, 2, 3, 4] list_b = [2, 3, 4, 5] common_num = [a for a in list_a for b in list_b if a == b] print(common_num)
▍3 Iterar sobre listas com enumerate ()
O método
enumerate()
adiciona numeração à coleção iterada e retorna um objeto que gera pares de elementos que consistem no índice do elemento e desse próprio elemento.
Vamos resolver o problema clássico do FizzBuzz oferecido nas entrevistas. Aqui está a condição para esta tarefa: “Escreva um programa que exiba uma lista de números. Nesse caso, em vez de números múltiplos de 3, o fizz é exibido, em vez de números múltiplos de 5 - buzz e em vez de números múltiplos de 3 e 5 - fizzbuzz ".
numbers = [30, 42, 28, 50, 15] for i, num in enumerate(numbers): if num % 3 == 0 and num % 5 == 0: numbers[i] = 'fizzbuzz' elif num % 3 == 0: numbers[i] = 'fizz' elif num % 5 == 0: numbers[i] = 'buzz' print(numbers)
▍4 Usando zip () com listas
Suponha que você precise combinar várias listas do mesmo tamanho e exibir a lista resultante. Como em outros casos, um problema semelhante pode ser resolvido, por assim dizer, "na testa", ou você pode usar algo como a função universal
zip()
:
countries = ['France', 'Germany', 'Canada'] capitals = ['Paris', 'Berlin', 'Ottawa'] for country, capital in zip(countries,capitals): print(country, capital)
▍5. Usando o módulo itertools
O módulo Python dos
itertools
é um conjunto de ferramentas para trabalhar com iteradores. Este módulo inclui muitas ferramentas para gerar várias seqüências. Aqui, como exemplo, considere o método
itertools.combinations()
. Este método é usado para criar combinações. Também existem ferramentas para agrupar valores de entrada.
Vamos considerar um exemplo real para entender o que foi dito acima.
Imagine que em um determinado torneio quatro equipes participem. Na rodada do grupo, são realizadas partidas de cada equipe contra cada uma das outras equipes. Sua tarefa é gerar todas as combinações possíveis de equipes que jogarão uma contra a outra.
Dê uma olhada no seguinte código:
import itertools friends = ['Team 1', 'Team 2', 'Team 3', 'Team 4'] list(itertools.combinations(friends, r=2))
Aqui você precisa prestar atenção ao fato de que a ordem dos valores não é importante. Como as combinações
('Team 1', 'Team 2')
e
('Team 2', 'Team 1')
representam o mesmo par de equipes, apenas uma delas será incluída na lista final. Da mesma forma, você pode usar o método
itertools.permutations()
e outros métodos deste módulo. Pode encontrar
aqui um guia detalhado das
itertools
do
itertools
.
§ 6 Usando coleções Python
Coleções Python são tipos de dados de contêiner. Em particular, são listas, conjuntos, tuplas, dicionários. O módulo de
collections
fornece ao desenvolvedor tipos de dados de alto desempenho que ajudam a melhorar o código, torná-lo mais limpo e facilitar o trabalho. Este módulo contém muitos métodos úteis. Aqui, examinamos o método
Counter()
.
Esse método pega um objeto iterável, como uma lista ou tupla, e retorna um dicionário que contém informações sobre o número de objetos diferentes na lista que está sendo examinada (Counter Dictionary). As chaves para esse dicionário são elementos únicos representados no objeto iterável, e os valores são as quantidades desses elementos.
Para criar um objeto
Counter
, você precisa passar um objeto iterável (lista, por exemplo) para o método
Counter()
:
import collections count = collections.Counter(['a','b','c','d','b','c','d','b']) print(count)
Detalhes sobre o módulo de
collections
podem ser encontrados
aqui .
▍ 7. Converter duas listas em um dicionário
Suponha que tenhamos duas listas. Um deles contém os nomes dos alunos e o segundo as notas. Como converter essas duas listas em um dicionário? Se recorrermos à função
zip()
para isso, esse problema poderá ser resolvido da seguinte maneira:
students = ["Peter", "Julia", "Alex"] marks = [84, 65, 77] dictionary = dict(zip(students, marks)) print(dictionary)
▍8. Usando funções de gerador
Funções de gerador são funções que se comportam como iteradores. Eles permitem que o programador crie rápida e facilmente iteradores organizados. Considere um exemplo que revele essa ideia.
Suponha que precisamos encontrar a soma dos quadrados dos primeiros 100.000.000 de números inteiros começando em 1.
Essa tarefa parece ser simples. Pode ser resolvido sem problemas usando geradores de lista. No entanto, o problema aqui é a grande quantidade de dados de entrada. Dê uma olhada no seguinte código:
import time t1 = time.clock() sum([i * i for i in range(1, 100000000)]) t2 = time.clock() time_diff = t2 - t1 print(f"It took {time_diff} Secs to execute this method")
Se precisarmos encontrar a soma dos quadrados para um número ainda maior de números, verifica-se que essa técnica não funciona bem para encontrá-los, pois leva muito tempo para encontrar uma solução. Nesta situação, as funções do gerador Python virão em nosso auxílio. No nosso caso, para passar do uso de geradores de lista para funções de gerador, basta alterar os colchetes na expressão do gerador para os arredondados. Fazemos isso e encontramos o tempo necessário para resolver o problema:
import time t1 = time.clock() sum((i * i for i in range(1, 100000000))) t2 = time.clock() time_diff = t2 - t1 print(f"It took {time_diff} Secs to execute this method")
Como você pode ver, agora leva menos tempo para resolver o mesmo problema. E com o aumento dos dados de entrada, esse efeito será ainda mais perceptível.
Aqui está o material sobre as funções do gerador.
▍ 9. Retornando vários valores de uma função
Python tem a capacidade de retornar vários valores de uma função. Isso não é encontrado em muitas outras linguagens de programação populares. Para retornar vários valores de uma função, eles devem ser separados por vírgulas. Com base nessa lista de valores, o Python criará uma tupla e a retornará para onde a função foi chamada. Aqui está um exemplo:
def multiplication_division(num1, num2): return num1*num2, num1/num2 product, division = multiplication_division(15, 3) print("Product =", product, "Quotient =", division)
10. Usando a função classificada ()
No Python, é muito fácil classificar determinadas seqüências de dados usando a função
sorted()
interna, que cuida da resolução de todas as tarefas relacionadas. Esta função classifica todas as seqüências (listas, tuplas) e sempre retorna uma lista com elementos classificados. Considere um exemplo de classificação de uma lista de números em ordem crescente:
sorted([3,5,2,1,4])
E aqui está um exemplo de classificação de uma lista de linhas em ordem decrescente:
sorted(['france', 'germany', 'canada', 'india', 'china'], reverse=True)
Sumário
Este artigo apresentou 10 dicas úteis de programação em Python que você pode achar úteis em seu trabalho diário. Esperamos que você encontre entre eles algo que o beneficie.
Caros leitores! Os desenvolvedores experientes de Python são incentivados a falar sobre os recursos úteis de Python que eles usam regularmente.
