Executando verificação de segurança...
8

19 dicas de python.

0. Use lists, tuples, dictionaries, sets comprehensions.

name = [letter for letter in 'python']
print(name) # output: ['p', 'y', 't', 'h', 'o', 'n']

1. SEMPRE use nomes de variáveis explicitos e evite acrônimos.

a = 15 # errado
age = 15 # certo

2. Preste atenção nas nomeações.

usoformataçãoexemplo
variáveissnake casenome_da_variavel
funçõessnake casenome_da_funcao
classesCamel CaseNomeDaClasse
métodossnake casenome_do_metodo
constantesconstant caseNOME_DA_CONSTANTE
módulossnake casenome_do_modulo.py
pacotesflat casenomedopacote

3. Use funções anônimas:

add = lambda y, x: y + x

4. Nunca escreva comentários inúteis:

year = 2021 # declarando a variável ano. 

5. Escreva código legível:

import math, random, time

# faça isso invés
import math
import random
import time

6. Tome cuidado com o tamanho de listas, tuplas, conjuntos e dicionários.

transports = ['bus', 'airplane', 'motorbike', 'bike', 'car', 'ship', 'dinosaur'] #errado

# forma correta:
transports = ['bus',
              'airplane',
              'motorbike',
              'bike',
              'car',
              'ship',
              'dinosaur'
            ]

7. Use typing annotations em funções e métodos.

class Person:
    def __init__(self, name: str, age: int) -> None:
        self.name = name
        self.age = age

8. Sempre deixe espaços entre as funções.

def split_string_by_letter(string: str) -> list:
    return [char for char in string]


def join_list_of_characters(char_list: list) -> str:
    return ''.join(char_list)

9. Não esqueça de usar encapsulamento.

class Foo:
    public: None
    _protected: None
    __private: None

10. Não retorne tipos diferentes em uma mesma função.

###### ERRADO #####
import datetime

def sleep_time(start_time: int):
    current_time = datetime.datetime.now()
     
    if start_time.hour() < current_time:
        return 'sleeping'
    
    return None

##### CERTO #####
import datetime

def sleep_time(start_time: int) -> str:
    current_time = datetime.datetime.now()
     
    if start_time.hour() < current_time:
        return 'sleeping'
    
    return 'waking up'

11. Use operadores ternários, eles são úteis.

import datetime

def sleep_time(start_time: int) -> str:
    current_time = datetime.datetime.now()
    return 'sleeping' if start_time < current_time.hour() else 'waking up'

12. Junte dicionários em uma linha de código:

mary_name = {'name': 'Mary'}
mary_age = {'age': 20}

mary = mary_name | mary_age # output: {'name':'Mary', 'age': 20}

13. Evite usar a keyword global:

# NÃO FAÇA ISSO!!!
def show_all_names(names_list: list) -> None:
    global capitalized_list
    capitalized_list = map(lambda x: x.capitalize(), names_list)
    for name in names_list:
        print(name)

use a keyword return invés de global assim você evita muitos problemas.

14. Seja o mais organizado possível:

jeny={ 'name':'Jeny','age':17 } # errado
jeny = {'name':'Jeny', 'age':17} # certo

15. Sempre cheque se o código está rodando no arquivo principal:

if __name__ == '__main__':
    ...

16. Use design patterns em grandes projetos, como:

  1. Facade
  2. Observer
  3. singleton
  4. Factory
  5. Proxy
  6. Strategy

17. Repita strings sem loops:

print("hello, world " * 3) # output: hello, world hello, world! hello, world

18. Troque o valor entre as variáveis:

a = 1
b = 0

a, b = b, a

Autor:



Filipe Soares 💻

feito por Filipe. Me encontre!!!


Carregando publicação patrocinada...
3

Muito boas essas dicas!

O 'problema' é que eu comecei a analisar um monte de códigos meus e aplicá-las.
Resultado: fiquei mais de 1 hora me adequando à PEP.

Outra hora eu vejo se eu não quebrei nada. Espero que não.

1

Filipe, sensacional o seu post, cada vez mais estou achando legal o pessoal publicar compilados aqui!

Em paralelo, você poderia traduzir o conteúdo para português? Vamos manter a linguagem principal do site em português, salvo termos técnicos que todo mundo conhece pelo inglês mesmo.

1
1