Skip to content

Latest commit

 

History

26 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

droide_python_project

💡 Curiosidades sobre a versão 3.11.9

📋 PALAVRAS RESERVADAS (35 comandos de sintaxe)

⚙️ Palavras Reservadas (Keywords): São cerca de 35 palavras que formam a sintaxe base da linguagem (como if, for, def, while). Uma lista completa e atualizada para sua versão pode ser gerada diretamente no seu computador usando o comando help("keywords") dentro do interpretador Python .

False, True, None, and, or, not, if, elif, else, for, while, break, continue, pass, def, return, lambda, global, nonlocal, import, from, as, with, try, except, finally, raise, assert, class, del, is, in, await, async, yield

----

📝 Regras para nomear variáveis em Python

TABELAS DE REGRAS PARA NOMEAR VARIÁVEIS EM PYTHON

Tabela 1: REGRAS OBRIGATÓRIAS (Python exige)

Regra Exemplo CORRETO ✅ Exemplo ERRADO ❌ Motivo do Erro
Começar com letra (a-z, A-Z) ou underscore (_) nome, _valor, Idade, _, variavel2 2nome, @nome, -var, $preco Nomes não podem começar com números ou caracteres especiais
Sem espaços nome_completo, enderecoCliente, valorTotal nome completo, meu nome, endereco cliente Espaços não são permitidos (usar _ ou CamelCase)
Apenas letras, números e underscore (_) preco_total_1, valor2, temp, x1y2 preço_total, valor-total, nome$, arquivo.txt Acentos, hífens e caracteres especiais são proibidos
Case-sensitive (maiúscula/minúscula diferentes) nome != Nome != NOME Nome = nome? Falso Todas são variáveis diferentes (Python diferencia)
Não pode ser palavra reservada nome_variavel, valor, minha_classe if, for, while, class, def, return Palavras que fazem parte da sintaxe do Python
Não começar com números variavel1, _2teste, num2 2variavel, 123nome, 999preco Primeiro caractere não pode ser número
Não usar hífen (-) nome_cliente, dataNascimento nome-cliente, data-nascimento Hífen é interpretado como operador de subtração

Tabela 2: PALAVRAS RESERVADAS (NÃO PODE USAR)

Categoria Palavras Proibidas
Comandos if, else, elif, for, while, break, continue, pass
Valores True, False, None
Funções def, return, lambda, yield
Classes class, del
Módulos import, from, as
Exceções try, except, finally, raise, assert
Operadores and, or, not, is, in
Escopo global, nonlocal
Assíncrono async, await
Contexto with

Tabela 3: VALIDAÇÃO RÁPIDA

Verificação Regra Status
1º caractere É letra ou _ ? ✅ ou ❌
Sem espaços Não contém " " ? ✅ ou ❌
Caracteres válidos Só letras, números, _ ? ✅ ou ❌
Não é reservada Não está na lista? ✅ ou ❌

Tabela 4: EXEMPLOS PRÁTICOS

Tipo de Variável Correto ✅ Errado ❌
Nome simples nome, idade, preco nome completo, idade!, preço
Composto nome_cliente, valor_total nome-cliente, valor total
Número valor1, _2pontos, num3 1valor, 2teste, 3amigos
Privado _interno, _temp, __secreto @interno, #temp, $secreto
Constante PI, TAXA_JUROS, MAXIMO pi!, taxa juros, MÁXIMO
Loop i, j, k, item, x 1i, @j, for (reservada)

Tabela 5: ERROS COMUNS

Erro Exemplo ERRADO Correção
Acentuação nome_cliente nome_cliente
Espaço invisível nome cliente nome_cliente ou nomeCliente
Começar com número 1nome nome1 ou _1nome
Palavra reservada class = "Python" classe = "Python" ou turma = "Python"
Hífen nome-cliente nome_cliente

Tabela 6: TESTE SEU CONHECIMENTO

Tentativa Nome da Variável Válido? Motivo
1 _id Começa com _
2 2pac Começa com número
3 nome_do_usuario Válido (snake_case)
4 class Palavra reservada
5 valor-total Hífen não permitido
6 preço Acento não permitido
7 PI Constante (maiúscula)
8 nome completo Espaço não permitido
9 _123 Começa com _, depois números
10 while Palavra reservada

RESUMO FINAL (Para imprimir e colar)


TABELAS DE REGRAS PARA NOMEAR FUNÇÕES EM PYTHON

Tabela 1: REGRAS OBRIGATÓRIAS (Python exige)

Regra Exemplo CORRETO ✅ Exemplo ERRADO ❌ Motivo do Erro
Começar com letra (a-z, A-Z) ou underscore (_) calcular, _validar, buscarDados 2calcular, @validar, -buscar Nomes não podem começar com números ou caracteres especiais
Sem espaços calcular_total, buscarCliente calcular total, buscar cliente Espaços não são permitidos
Apenas letras, números e underscore (_) calcular_media_2, buscar_por_id calcular-média, buscar@id, calcular$ Caracteres especiais e acentos são proibidos
Case-sensitive calcular != Calcular != CALCULAR Calcular = calcular? Falso São funções diferentes
Não pode ser palavra reservada calcular_valor, buscar_dados def, if, for, return, class Palavras que fazem parte da sintaxe do Python

Tabela 2: CONVENÇÕES (Boas Práticas - Recomendado)

Convenção Regra Exemplo CORRETO ✅ Exemplo ERRADO ❌
snake_case Todas minúsculas, palavras separadas por _ calcular_total, buscar_cliente_por_id, validar_email calcularTotal, CalcularTotal, calcular.total
verbos no início Função faz ação, use verbos calcular_media(), buscar_usuario(), enviar_email() media(), usuario(), email() (parecem variáveis)
nomes descritivos Deixar claro o que faz calcular_imposto_de_renda() calc(), f(), x()
tamanho médio 2-4 palavras ideal validar_cpf(), converter_para_json() v(), calcular_imposto_sobre_produto_vencido_em_2024()
booleanos Começar com is_, has_, can_ is_valid(), has_permission(), can_edit() valid(), permission(), editable()

Tabela 3: PREFIXOS RECOMENDADOS POR TIPO DE AÇÃO

Ação Prefixo Exemplo ✅ Exemplo ❌
Calcular calcular_ calcular_total(), calcular_media() total(), media_calcular()
Buscar/Obter buscar_, obter_, get_ buscar_usuario(), obter_dados(), get_nome() usuario(), dados()
Validar validar_, verificar_ validar_email(), verificar_idade() email(), idade_verificar()
Converter converter_, transformar_, to_ converter_para_json(), to_string(), to_int() json(), string()
Criar/Gerar criar_, gerar_, build_ criar_arquivo(), gerar_relatorio(), build_url() arquivo(), relatorio()
Enviar enviar_, mandar_ enviar_email(), mandar_mensagem() email(), mensagem()
Carregar carregar_, load_ carregar_dados(), load_config() dados(), config()
Salvar salvar_, save_ salvar_arquivo(), save_dados() arquivo(), dados_salvar()
Verificar verificar_, checar_, check_ verificar_conexao(), check_status() conexao(), status()
Inicializar inicializar_, init_, setup_ inicializar_sistema(), setup_config() sistema(), config_iniciar()

Tabela 4: REGRAS PARA FUNÇÕES BOOLEANAS

Regra Exemplo ✅ Exemplo ❌
Começar com is_ is_valid(), is_active(), is_admin() valid(), active(), admin()
Começar com has_ has_permission(), has_access(), has_children() permission(), access(), children()
Começar com can_ can_edit(), can_delete(), can_upload() edit(), delete(), upload()
Começar com should_ should_update(), should_notify() update(), notify()

Tabela 5: PALAVRAS RESERVADAS (NÃO PODE USAR COMO NOME)

Categoria Palavras Proibidas
Comandos if, else, elif, for, while, break, continue, pass
Definição def, return, lambda, yield
Classes class, del
Módulos import, from, as
Exceções try, except, finally, raise, assert
Operadores and, or, not, is, in
Escopo global, nonlocal
Assíncrono async, await
Contexto with
Valores True, False, None

Tabela 6: EXEMPLOS PRÁTICOS (COMPARATIVO)

Ruim ❌ Bom ✅ Por quê?
def f(x): def calcular_dobro(valor): Nome descritivo explica o que faz
def process(): def processar_pagamento(pedido): Especifica o que está processando
def calc(a,b): def calcular_media(nota1, nota2): Clareza no cálculo e parâmetros
def val(): def validar_cpf(cpf): Sabe exatamente o que valida
def get(): def buscar_usuario_por_id(id): Sabe o que está buscando
def do(): def executar_backup(): Ação específica
def handle(): def tratar_erro_conexao(): Qual erro está tratando
def check(): def verificar_disponibilidade(): O que está verificando

Tabela 7: REGRAS DE ESTILO POR PROJETO

Estilo Quando usar Exemplo
snake_case ✅ SEMPRE (padrão Python) calcular_total(), buscar_cliente()
camelCase ❌ Evitar (usado em Java/JS) calcularTotal(), buscarCliente()
PascalCase ❌ Proibido (usado para CLASSES) CalcularTotal(), BuscarCliente()
UPPER_CASE ❌ Proibido (usado para CONSTANTES) CALCULAR_TOTAL(), BUSCAR_CLIENTE()
_privado ✅ Permitido (função interna) _calcular_interno(), _validar_dados()
__privado ✅ Permitido (name mangling) __calcular_saldo()

Tabela 8: VALIDAÇÃO RÁPIDA PARA FUNÇÕES

Verificação Regra Status
1º caractere É letra (a-z) ou _ ? ✅ ou ❌
Todos caracteres Só letras, números, _ ? ✅ ou ❌
Sem espaços Não contém espaços? ✅ ou ❌
snake_case Todas minúsculas com _ ? ✅ ou ❌
Verbo no início Começa com ação? ✅ ou ❌
Descritivo Dá pra saber o que faz? ✅ ou ❌
Não é reservada Não está na lista? ✅ ou ❌

Tabela 9: ERROS COMUNS E CORREÇÕES

Erro Exemplo ERRADO Correção ✅
Nome genérico def faz(): def processar_pagamento():
Sem verbo def cliente(): def buscar_cliente():
Muito curto def cv(): def converter_para_json():
Muito longo def calcular_imposto_sobre_produto_importado_do_brasil(): def calcular_imposto_importacao():
Acentuação def calcular_média(): def calcular_media():
Hífen def calcular-total(): def calcular_total():
Palavra reservada def return(): def calcular_retorno():
CamelCase def calcularTotal(): def calcular_total():

Tabela 10: TESTE SEU CONHECIMENTO

Tentativa Nome da Função Válido? Regra
1 calcular_media() snake_case, verbo, descritivo
2 CalcularMedia() Usou PascalCase (é para classes)
3 calcularMedia() Usou camelCase (não é Python)
4 2calcular() Começou com número
5 calcular-total() Usou hífen
6 def() Palavra reservada
7 buscar_usuario_por_id() Descritivo, segue regras
8 is_valido() Função booleana com is_
9 _processar_interno() Função privada (convenção)
10 f() Nome muito genérico

TABELAS DE REGRAS PARA NOMEAR FUNÇÕES EM PYTHON

Tabela 1: REGRAS OBRIGATÓRIAS (Python exige)

Regra Exemplo CORRETO ✅ Exemplo ERRADO ❌ Motivo do Erro
Começar com letra (a-z, A-Z) ou underscore (_) calcular, _validar, buscarDados 2calcular, @validar, -buscar Nomes não podem começar com números ou caracteres especiais
Sem espaços calcular_total, buscarCliente calcular total, buscar cliente Espaços não são permitidos
Apenas letras, números e underscore (_) calcular_media_2, buscar_por_id calcular-média, buscar@id, calcular$ Caracteres especiais e acentos são proibidos
Case-sensitive calcular != Calcular != CALCULAR Calcular = calcular? Falso São funções diferentes
Não pode ser palavra reservada calcular_valor, buscar_dados def, if, for, return, class Palavras que fazem parte da sintaxe do Python

Tabela 2: CONVENÇÕES (Boas Práticas - Recomendado)

Convenção Regra Exemplo CORRETO ✅ Exemplo ERRADO ❌
snake_case Todas minúsculas, palavras separadas por _ calcular_total, buscar_cliente_por_id, validar_email calcularTotal, CalcularTotal, calcular.total
verbos no início Função faz ação, use verbos calcular_media(), buscar_usuario(), enviar_email() media(), usuario(), email() (parecem variáveis)
nomes descritivos Deixar claro o que faz calcular_imposto_de_renda() calc(), f(), x()
tamanho médio 2-4 palavras ideal validar_cpf(), converter_para_json() v(), calcular_imposto_sobre_produto_vencido_em_2024()
booleanos Começar com is_, has_, can_ is_valid(), has_permission(), can_edit() valid(), permission(), editable()

Tabela 3: PREFIXOS RECOMENDADOS POR TIPO DE AÇÃO

Ação Prefixo Exemplo ✅ Exemplo ❌
Calcular calcular_ calcular_total(), calcular_media() total(), media_calcular()
Buscar/Obter buscar_, obter_, get_ buscar_usuario(), obter_dados(), get_nome() usuario(), dados()
Validar validar_, verificar_ validar_email(), verificar_idade() email(), idade_verificar()
Converter converter_, transformar_, to_ converter_para_json(), to_string(), to_int() json(), string()
Criar/Gerar criar_, gerar_, build_ criar_arquivo(), gerar_relatorio(), build_url() arquivo(), relatorio()
Enviar enviar_, mandar_ enviar_email(), mandar_mensagem() email(), mensagem()
Carregar carregar_, load_ carregar_dados(), load_config() dados(), config()
Salvar salvar_, save_ salvar_arquivo(), save_dados() arquivo(), dados_salvar()
Verificar verificar_, checar_, check_ verificar_conexao(), check_status() conexao(), status()
Inicializar inicializar_, init_, setup_ inicializar_sistema(), setup_config() sistema(), config_iniciar()

Tabela 4: REGRAS PARA FUNÇÕES BOOLEANAS

Regra Exemplo ✅ Exemplo ❌
Começar com is_ is_valid(), is_active(), is_admin() valid(), active(), admin()
Começar com has_ has_permission(), has_access(), has_children() permission(), access(), children()
Começar com can_ can_edit(), can_delete(), can_upload() edit(), delete(), upload()
Começar com should_ should_update(), should_notify() update(), notify()

Tabela 5: PALAVRAS RESERVADAS (NÃO PODE USAR COMO NOME)

Categoria Palavras Proibidas
Comandos if, else, elif, for, while, break, continue, pass
Definição def, return, lambda, yield
Classes class, del
Módulos import, from, as
Exceções try, except, finally, raise, assert
Operadores and, or, not, is, in
Escopo global, nonlocal
Assíncrono async, await
Contexto with
Valores True, False, None

Tabela 6: EXEMPLOS PRÁTICOS (COMPARATIVO)

Ruim ❌ Bom ✅ Por quê?
def f(x): def calcular_dobro(valor): Nome descritivo explica o que faz
def process(): def processar_pagamento(pedido): Especifica o que está processando
def calc(a,b): def calcular_media(nota1, nota2): Clareza no cálculo e parâmetros
def val(): def validar_cpf(cpf): Sabe exatamente o que valida
def get(): def buscar_usuario_por_id(id): Sabe o que está buscando
def do(): def executar_backup(): Ação específica
def handle(): def tratar_erro_conexao(): Qual erro está tratando
def check(): def verificar_disponibilidade(): O que está verificando

Tabela 7: REGRAS DE ESTILO POR PROJETO

Estilo Quando usar Exemplo
snake_case ✅ SEMPRE (padrão Python) calcular_total(), buscar_cliente()
camelCase ❌ Evitar (usado em Java/JS) calcularTotal(), buscarCliente()
PascalCase ❌ Proibido (usado para CLASSES) CalcularTotal(), BuscarCliente()
UPPER_CASE ❌ Proibido (usado para CONSTANTES) CALCULAR_TOTAL(), BUSCAR_CLIENTE()
_privado ✅ Permitido (função interna) _calcular_interno(), _validar_dados()
__privado ✅ Permitido (name mangling) __calcular_saldo()

Tabela 8: VALIDAÇÃO RÁPIDA PARA FUNÇÕES

Verificação Regra Status
1º caractere É letra (a-z) ou _ ? ✅ ou ❌
Todos caracteres Só letras, números, _ ? ✅ ou ❌
Sem espaços Não contém espaços? ✅ ou ❌
snake_case Todas minúsculas com _ ? ✅ ou ❌
Verbo no início Começa com ação? ✅ ou ❌
Descritivo Dá pra saber o que faz? ✅ ou ❌
Não é reservada Não está na lista? ✅ ou ❌

Tabela 9: ERROS COMUNS E CORREÇÕES

Erro Exemplo ERRADO Correção ✅
Nome genérico def faz(): def processar_pagamento():
Sem verbo def cliente(): def buscar_cliente():
Muito curto def cv(): def converter_para_json():
Muito longo def calcular_imposto_sobre_produto_importado_do_brasil(): def calcular_imposto_importacao():
Acentuação def calcular_média(): def calcular_media():
Hífen def calcular-total(): def calcular_total():
Palavra reservada def return(): def calcular_retorno():
CamelCase def calcularTotal(): def calcular_total():

Tabela 10: TESTE SEU CONHECIMENTO

Tentativa Nome da Função Válido? Regra
1 calcular_media() snake_case, verbo, descritivo
2 CalcularMedia() Usou PascalCase (é para classes)
3 calcularMedia() Usou camelCase (não é Python)
4 2calcular() Começou com número
5 calcular-total() Usou hífen
6 def() Palavra reservada
7 buscar_usuario_por_id() Descritivo, segue regras
8 is_valido() Função booleana com is_
9 _processar_interno() Função privada (convenção)
10 f() Nome muito genérico

TABELAS DE REGRAS PARA NOMEAR CLASSES EM PYTHON

Tabela 1: REGRAS OBRIGATÓRIAS (Python exige)

Regra Exemplo CORRETO ✅ Exemplo ERRADO ❌ Motivo do Erro
Começar com letra (A-Z) ou underscore (_) Cliente, _ClienteInterno, PessoaFisica 2Cliente, @Cliente, -Cliente Nomes não podem começar com números ou caracteres especiais
Sem espaços ClienteVip, EnderecoEntrega Cliente Vip, Endereco Entrega Espaços não são permitidos
Apenas letras, números e underscore (_) Cliente_1, Endereco2, Pessoa_Fisica Cliente-Vip, Endereço, Cliente$ Caracteres especiais e acentos são proibidos
Case-sensitive Cliente != cliente != CLIENTE Cliente = cliente? Falso São classes diferentes
Não pode ser palavra reservada MinhaClasse, ClienteEspecial class, def, if, for, while Palavras que fazem parte da sintaxe do Python

Tabela 2: CONVENÇÕES (Boas Práticas - Recomendado)

Convenção Regra Exemplo CORRETO ✅ Exemplo ERRADO ❌
PascalCase Primeira letra de cada palavra maiúscula ClienteVip, EnderecoEntrega, PessoaFisica clienteVip, Cliente_vip, CLIENTE_VIP
Nomes substantivos Classe representa um objeto/coisa Carro, Usuario, Produto, Pagamento Calcular, Buscar, Validar (parecem funções)
Nomes singulares Representa UM objeto Cliente, Pedido, Item Clientes, Pedidos, Itens
Nomes descritivos Deixar claro o que representa NotaFiscalEletronica, EnderecoCompleto NFE, End, Cli
Tamanho médio 2-3 palavras ideal CadastroCliente, RelatorioVendas C, ClienteDoSistemaDePagamentoIntegrado

Tabela 3: TIPOS DE CLASSES E PREFIXOS RECOMENDADOS

Tipo de Classe Sufixo/Prefixo Exemplo ✅ Exemplo ❌
Entidade/Modelo Nome do conceito Usuario, Produto, Pedido UsuarioClass, ProdutoModelo
Serviço/Utilitário Service, Manager, Util EmailService, PagamentoManager, ArquivoUtil Email, Pagamento, Arquivo
Repositório/Dados Repository, DAO, Gateway UsuarioRepository, PedidoDAO UsuarioDB, PedidoDados
Controle/Controller Controller, Handler, Processor PagamentoController, ArquivoHandler Pagamento, Arquivo
Fábrica/Criador Factory, Builder, Creator UsuarioFactory, PedidoBuilder CriaUsuario, ConstrutorPedido
Configuração Config, Settings, Options DatabaseConfig, AppSettings DB, Configuracoes
Exceção Exception, Error SaldoInsuficienteException, ErroValidacao SaldoInsuficiente, Erro
Classe Abstrata ABC (Abstract Base Class) VeiculoABC, AnimalABC VeiculoAbstrato
Interface (Protocolo) Protocol (Python 3.8+) ComparableProtocol, SerializableProtocol IComparable (não é Python)

Tabela 4: CLASSES ESPECIAIS E SEUS PADRÕES

Tipo Padrão Exemplo ✅ Exemplo ❌
Classe base/abstrata ABC no nome ou herda de ABC VeiculoABC, AnimalBase VeiculoAbstrato, AnimalPai
Mixin Mixin no final LoggingMixin, JsonMixin, SerializableMixin Logging, Json, Serializable
Exceção Exception no final ErroValidacaoException, ConexaoException ErroValidacaoErro, ValidacaoFalhou
Constantes Constants, Config CoresConstants, AppConfig CORES, CONFIG (Parece constante, não classe)
DTO (Data Transfer) DTO no final UsuarioDTO, PedidoDTO, EnderecoDTO UsuarioDados, PedidoInfo
Builder Builder no final ConsultaBuilder, QueryBuilder ConstruirConsulta, MontarQuery
Factory Factory no final ConexaoFactory, UsuarioFactory CriarConexao, FabricaUsuarios

Tabela 5: PALAVRAS RESERVADAS (NÃO PODE USAR COMO NOME)

Categoria Palavras Proibidas
Comandos if, else, elif, for, while, break, continue, pass
Definição def, return, lambda, yield
Classes class, del
Módulos import, from, as
Exceções try, except, finally, raise, assert
Operadores and, or, not, is, in
Escopo global, nonlocal
Assíncrono async, await
Contexto with
Valores True, False, None

Tabela 6: EXEMPLOS PRÁTICOS (COMPARATIVO RUIM VS BOM)

Ruim ❌ Bom ✅ Por quê?
class c: class Cliente: Nome descritivo em vez de uma letra
class cliente: class Cliente: PascalCase (primeira letra maiúscula)
class CLIENTE_VIP: class ClienteVip: Não usar UPPER_CASE (é para constantes)
class calcular_imposto: class CalculadoraImposto: Classe é substantivo, não verbo
class Clientes: class Cliente: Singular em vez de plural
class usuario_class: class Usuario: Evitar redundância (Class)
class f: class Funcionario: Nome descritivo
class dados_do_banco: class DadosBanco: snake_case é para funções/variáveis

Tabela 7: HIERARQUIA E HERANÇA

Tipo Padrão de Nome Exemplo ✅ Exemplo ❌
Classe base (pai) Nome genérico Animal, Veiculo, FormaGeometrica AnimalBase, VeiculoPai
Classe filha (específica) Nome específico Cachorro, Carro, Circulo AnimalCachorro, VeiculoCarro
Classe abstrata ABC no final ou herda de ABC AnimalABC, FormaGeometricaABC AnimalAbstrato
Interface (Protocol) Nome descritivo + Protocol ComparableProtocol, SerializableProtocol IComparable (C#)

Tabela 8: VALIDAÇÃO RÁPIDA PARA CLASSES

Verificação Regra Status
1º caractere É letra maiúscula (A-Z)? ✅ ou ❌
Todos caracteres Só letras, números, _ ? ✅ ou ❌
Sem espaços Não contém espaços? ✅ ou ❌
PascalCase Primeira letra de cada palavra maiúscula? ✅ ou ❌
Substantivo É um nome (não verbo)? ✅ ou ❌
Singular Representa UM objeto? ✅ ou ❌
Descritivo Dá pra saber o que representa? ✅ ou ❌
Não é reservada Não está na lista de palavras reservadas? ✅ ou ❌

Tabela 9: ERROS COMUNS E CORREÇÕES

Erro Exemplo ERRADO Correção ✅
Letra minúscula class cliente: class Cliente:
snake_case class cliente_vip: class ClienteVip:
UPPER_CASE class CLIENTE_ABC: class ClienteABC:
Nome genérico class dados: class DadosUsuario:
Verbo no nome class calcular_imposto: class CalculadoraImposto:
Plural class Clientes: class Cliente:
Acabado com Class class ClienteClass: class Cliente:
Acentuação class ClienteÚnico: class ClienteUnico:
Palavra reservada class class: class MinhaClasse:
Hífen class Cliente-Vip: class ClienteVip:

Tabela 10: CLASSES MAIS COMUNS EM PROJETOS PYTHON

Contexto Exemplo de Nome ✅ Exemplo ❌
Usuário do sistema Usuario, UsuarioAutenticado, PerfilUsuario user, usuario_sistema, USUARIO
Produto Produto, ProdutoDigital, ProdutoFisico product, produto_digital, PRODUTO
Pedido Pedido, PedidoItem, CarrinhoCompras pedido, order, PEDIDO
Pagamento Pagamento, CartaoCredito, Boleto pagamento, payment, PAGAMENTO
Conexão ConexaoBanco, ConexaoAPI, DatabaseConnection conexao, conn, CONEXAO
Configuração ConfiguracaoApp, DatabaseConfig, Settings config, cfg, CONFIGURACAO
Arquivo ArquivoCSV, ArquivoXML, FileProcessor arquivo, file, ARQUIVO
Relatório RelatorioVendas, RelatorioPDF, ReportGenerator relatorio, report, RELATORIO
Validação ValidadorCPF, ValidadorEmail, DataValidator validador, validator, VALIDACAO
Formulário FormularioCadastro, LoginForm, FormData form, Formulario, FORM

Tabela 11: PROJETOS COM MÚLTIPLAS CAMADAS (ARQUITETURA)

Camada Sufixo Exemplo ✅ Exemplo ❌
Apresentação (View) View, Form, Tela LoginView, CadastroForm, TelaPrincipal Login, Cadastro, Principal
Controle (Controller) Controller UsuarioController, PedidoController Usuario, Pedido
Serviço (Service) Service UsuarioService, EmailService Usuario, Email
Repositório (Repository) Repository UsuarioRepository, PedidoRepository UsuarioDB, PedidoDados
Modelo (Model) Nome direto Usuario, Pedido, Produto UsuarioModel, PedidoModelo
DTO (Data Transfer) DTO UsuarioDTO, PedidoDTO UsuarioDados, PedidoInfo
Utilitário (Utils) Util, Helper DataUtil, StringHelper DataUtils, HelperString

Tabela 12: NOMES DE CLASSES POR DOMÍNIO

Domínio Exemplos Corretos ✅ Exemplos Errados ❌
Bancário ContaBancaria, Transacao, Extrato, ClienteBanco conta, transacao, extrato, cliente
Comércio CarrinhoCompras, Produto, Pedido, Pagamento carrinho, produto, pedido, pagamento
Educação Aluno, Professor, Turma, Disciplina, Matricula aluno, professor, turma, disciplina
Saúde Paciente, Medico, Consulta, Prontuario, Exame paciente, medico, consulta, prontuario
Recursos Humanos Funcionario, Departamento, Cargo, FolhaPagamento funcionario, departamento, cargo
Logística Transportadora, Rota, Entrega, Caminhao, Motorista transportadora, rota, entrega

TESTE SEU CONHECIMENTO (Marque ✅ ou ❌)

Tentativa Nome da Classe Válido? Regra Aplicada
1 ClienteVip PascalCase, substantivo, descritivo
2 clienteVip Deveria ser PascalCase (primeira letra maiúscula)
3 Cliente_Vip Não usar underscore em nomes de classes
4 CLIENTE_VIP UPPER_CASE é para constantes
5 Calculadora Substantivo, PascalCase
6 calcular_imposto Verbo + snake_case (é função)
7 class Palavra reservada
8 PedidoService Serviço com sufixo Service
9 UsuarioRepository Repositório com sufixo Repository
10 2Cliente Começou com número
11 Cliente-Importador Usou hífen
12 EndereçoEntrega Acento não permitido
13 NotaFiscalEletronica Válido (PascalCase, descritivo)
14 Clientes Deveria ser singular (Cliente)
15 __ClientePrivado Não usar __ (name mangling para atributos)
16 _ClienteInterno Permitido (privado - convenção interna)
17 LoginForm Formulário com sufixo Form
18 SaldoInsuficienteException Exceção com Exception no final
19 UsuarioABC Classe abstrata com ABC
20 DadosBanco Válido (PascalCase, descritivo)

TABELAS DE REGRAS PARA NOMEAR ARQUIVOS .py QUE CONTÊM CLASSES

Tabela 1: REGRAS OBRIGATÓRIAS (Python exige)

Regra Exemplo CORRETO ✅ Exemplo ERRADO ❌ Motivo do Erro
Começar com letra (a-z) ou underscore (_) cliente.py, _utils.py 2cliente.py, @utils.py Nomes não podem começar com números ou caracteres especiais
Sem espaços cliente_vip.py, endereco_entrega.py cliente vip.py, endereco entrega.py Espaços não são permitidos
Apenas letras, números e underscore (_) cliente_1.py, endereco2.py cliente-vip.py, endereço.py Caracteres especiais e acentos são proibidos
Case-sensitive cliente.py != Cliente.py Cliente.py = cliente.py? Falso São arquivos diferentes
Terminar com .py cliente.py, usuario.py cliente.txt, cliente.class Extensão obrigatória .py

Tabela 2: CONVENÇÕES (Boas Práticas - Recomendado)

Convenção Regra Exemplo CORRETO ✅ Exemplo ERRADO ❌
snake_case Todas minúsculas, palavras separadas por _ cliente_vip.py, endereco_entrega.py clienteVip.py, ClienteVip.py
Nome descritivo Nome do arquivo reflete o conteúdo cliente.py, pedido.py, produto.py arquivo1.py, test.py, novo.py
Singular ou plural Depende do conteúdo (1 classe = singular) cliente.py (contém classe Cliente) clientes.py (contém classe Cliente)
Tamanho médio 2-4 palavras ideal validacao_cpf.py, processamento_pagamento.py c.py, este_arquivo_contem_a_classe_principal_do_sistema.py

Tabela 3: CORRESPONDÊNCIA ARQUIVO x CLASSE

Nome do Arquivo ✅ Nome da Classe Interna ✅ Relação
cliente.py Cliente Correspondência direta
cliente_vip.py ClienteVip Snake_case arquivo = PascalCase classe
endereco_entrega.py EnderecoEntrega Snake_case arquivo = PascalCase classe
usuario_repository.py UsuarioRepository Arquivo descreve a classe
validacao_cpf.py ValidadorCPF Pode conter classe principal
pedido_service.py PedidoService Serviço em arquivo próprio

Tabela 4: PADRÕES POR TIPO DE CLASSE

Tipo de Classe Padrão Nome Arquivo Exemplo Arquivo ✅ Classe Interna ✅
Modelo/Entidade nome_classe (singular) cliente.py, produto.py, pedido.py Cliente, Produto, Pedido
Serviço nome_service.py usuario_service.py, email_service.py UsuarioService, EmailService
Repositório nome_repository.py usuario_repository.py, pedido_repository.py UsuarioRepository, PedidoRepository
Controller nome_controller.py pagamento_controller.py, usuario_controller.py PagamentoController, UsuarioController
Utilitário nome_util.py data_util.py, string_util.py DataUtil, StringUtil
Configuração config.py, settings.py config.py, app_settings.py Config, AppSettings
Exceção nome_exception.py saldo_insuficiente_exception.py SaldoInsuficienteException
Fábrica nome_factory.py conexao_factory.py, usuario_factory.py ConexaoFactory, UsuarioFactory
Validador nome_validator.py cpf_validator.py, email_validator.py CpfValidator, EmailValidator
Modelo ORM nome_model.py usuario_model.py, produto_model.py UsuarioModel, ProdutoModel

Tabela 5: ESTRUTURA DE PROJETOS (Múltiplos Arquivos)

Tipo de Projeto Padrão de Arquivos Exemplo ✅ Exemplo ❌
Pequeno (1-3 classes) Todos no mesmo arquivo modelos.py (contém Cliente, Produto, Pedido) cliente.py, produto.py, pedido.py (muitos arquivos)
Médio (4-10 classes) Uma classe por arquivo cliente.py, produto.py, pedido.py, pagamento.py tudo.py (um arquivo gigante)
Grande (+10 classes) Organizado em pacotes usuarios/cliente.py, usuarios/perfil.py clientes_tudo.py
Micro serviço arquivo principal + modelos app.py, modelos.py principal_tudo_junto.py

Tabela 6: ORGANIZAÇÃO POR PACOTES

Estrutura Exemplo ✅ Exemplo ❌
Pacote com módulos relacionados usuarios/ Usuarios/ (maiúsculo)
usuarios/cliente.py usuarios/Cliente.py
usuarios/perfil.py usuarios/Perfil.py
usuarios/endereco.py usuarios/Endereco.py
Pacote com submódulos pagamentos/ Pagamentos/
pagamentos/cartao.py pagamentos/Cartao.py
pagamentos/boleto.py pagamentos/Boleto.py
pagamentos/pix.py pagamentos/Pix.py

Tabela 7: NOMES RESERVADOS (NÃO PODE USAR)

Nome Proibido Motivo Alternativa ✅
test.py Conflito com módulo padrão testes_cliente.py
json.py Conflito com módulo padrão manipulador_json.py
email.py Conflito com módulo padrão email_utils.py
sys.py Conflito com módulo padrão sistema_utils.py
os.py Conflito com módulo padrão sistema_operacional.py
re.py Conflito com módulo padrão regex_utils.py
datetime.py Conflito com módulo padrão data_hora_utils.py
math.py Conflito com módulo padrão calculadora_utils.py
random.py Conflito com módulo padrão gerador_aleatorio.py
string.py Conflito com módulo padrão texto_utils.py

Tabela 8: EXEMPLOS PRÁTICOS (COMPARATIVO)

Ruim ❌ Bom ✅ Por quê?
a.py cliente.py Nome descritivo
Cliente.py cliente.py snake_case para arquivos
clienteVIP.py cliente_vip.py Palavras separadas por _
clientes.py cliente.py Singular (classe Cliente)
arquivo_final_versao_2_final.py cliente_final.py Muito longo e confuso
temp.py validacao_cpf.py Nome descritivo do conteúdo
utils.py data_util.py, string_util.py Específico em vez de genérico
main.py app.py, servidor.py Nome descritivo da aplicação

Tabela 9: VALIDAÇÃO RÁPIDA PARA NOMES DE ARQUIVO

Verificação Regra Status
1º caractere É letra (a-z) ou _ ? ✅ ou ❌
Todos caracteres Só letras, números, _ ? ✅ ou ❌
Sem espaços Não contém espaços? ✅ ou ❌
snake_case Todas minúsculas com _ ? ✅ ou ❌
Extensão .py Termina com .py ? ✅ ou ❌
Não é reservado Não conflita com módulo padrão? ✅ ou ❌
Descritivo Dá pra saber o conteúdo? ✅ ou ❌

Tabela 10: ERROS COMUNS E CORREÇÕES

Erro Exemplo ERRADO Correção ✅
CamelCase ClienteVip.py cliente_vip.py
PascalCase Cliente.py cliente.py
UPPER_CASE CLIENTE_VIP.py cliente_vip.py
Espaços cliente vip.py cliente_vip.py
Acentuação cliente_vip.py cliente_vip.py (sem acento)
Hífen cliente-vip.py cliente_vip.py
Nome genérico arquivo1.py cliente.py
Nome longo cliente_do_sistema_de_cadastro.py cliente_cadastro.py
Plural para uma classe clientes.py (com classe Cliente) cliente.py
Começar com número 2cliente.py cliente2.py

Tabela 11: PROJETO POR TAMANHO

Tamanho do Projeto Número de Classes Padrão de Arquivos Exemplo
Micro 1-3 1 arquivo app.py (contém todas as classes)
Pequeno 4-10 2-3 arquivos modelos.py, servicos.py, utils.py
Médio 11-30 1 arquivo por classe cliente.py, produto.py, pedido.py...
Grande 31+ Pacotes organizados usuarios/, produtos/, pedidos/, pagamentos/

Tabela 12: PADRÕES POR FRAMEWORK

Framework Padrão de Nome Exemplo ✅ Exemplo ❌
Django app/models.py blog/models.py blog/classes.py
Django app/views.py blog/views.py blog/controladores.py
Django app/admin.py blog/admin.py blog/administracao.py
Flask app.py, models.py app.py, models.py principal.py, classes.py
FastAPI main.py, models.py main.py, schemas.py app.py, classes.py
PyQt nome_janela.py janela_principal.py JanelaPrincipal.py
pytest test_nome.py test_cliente.py cliente_test.py

Tabela 13: SUFIXOS COMUNS PARA ARQUIVOS

Sufixo Uso Exemplo ✅ Exemplo ❌
_service.py Classes de serviço usuario_service.py usuario_servicos.py
_repository.py Classes de repositório pedido_repository.py pedido_repos.py
_controller.py Controladores pagamento_controller.py pagamento_ctrl.py
_model.py Modelos ORM produto_model.py produto_classe.py
_util.py Utilitários data_util.py data_utils.py (plural)
_exception.py Exceções saldo_exception.py erros.py
_factory.py Fábricas conexao_factory.py fabrica_conexao.py
_validator.py Validadores cpf_validator.py validador_cpf.py
_config.py Configurações app_config.py configuracoes.py
_test.py Testes cliente_test.py test_cliente.py (prefira test_)

TESTE SEU CONHECIMENTO (Marque ✅ ou ❌)

Tentativa Nome do Arquivo Classe Interna Válido? Regra
1 cliente.py Cliente snake_case + correspondência
2 Cliente.py Cliente Arquivo deve ser snake_case
3 clienteVIP.py ClienteVip Deveria ser cliente_vip.py
4 cliente_vip.py ClienteVip Padrão correto
5 ClienteVip.py ClienteVip Arquivo deve ser snake_case
6 clientes.py Cliente Plural + classe singular
7 clientes.py Clientes Se classe for Clientes
8 pedido-service.py PedidoService Hífen não permitido
9 pedido_service.py PedidoService Correto
10 usuarioRepository.py UsuarioRepository camelCase no arquivo
11 usuario_repository.py UsuarioRepository Correto
12 json.py JsonUtils Nome reservado (módulo padrão)
13 validador_cpf.py ValidadorCPF Correto
14 2fatores.py DoisFatores Começou com número
15 init.py (sem classe) Arquivo especial de pacote
16 _utils.py _Utils (privada) Arquivo privado válido
17 ClienteÚnico.py ClienteUnico Acento não permitido
18 test_cliente.py (testes) Padrão de teste
19 app.py App Nome válido para aplicação
20 main.py Main, App Nome comum para entrada

📊 RESUMO POR CATEGORIA

Categoria Funções

TABELA - RESUMO DAS 71 FUNÇÕES , BUILT-IN POR CATEGORIA (Python 3.11.9)

Categoria Funções
Conversão de tipo int(), float(), str(), bool(), bytes(), bytearray(), list(), tuple(), set(), frozenset(), dict(), complex()
Números abs(), divmod(), pow(), round(), sum(), min(), max(), bin(), hex(), oct()
Iteração iter(), next(), enumerate(), filter(), map(), zip(), reversed(), sorted()
Sequências len(), range(), slice(), all(), any()
Objetos dir(), id(), type(), isinstance(), issubclass(), callable()
Atributos getattr(), setattr(), hasattr(), delattr(), property(), vars()
Escopo globals(), locals(), super()
Entrada/Saída print(), input(), open()
Código dinâmico eval(), exec(), compile(), breakpoint(), help()
Caracteres chr(), ord(), ascii(), repr(), format()
Assíncrono aiter(), anext()
Memória memoryview()
Internos build_class(), object()

TABELA DE FUNÇÕES BUILT-IN DO PYTHON 3.11.9

Função Descrição
abs() Retorna o valor absoluto (ignora sinal negativo)
aiter() Retorna um iterador assíncrono para um objeto async iterável
all() Retorna True se TODOS os elementos do iterável são verdadeiros
anext() Retorna o próximo item de um iterador assíncrono
any() Retorna True se PELO MENOS UM elemento do iterável é verdadeiro
ascii() Retorna string com caracteres não-ASCII escapados
bin() Converte um inteiro em uma string binária com prefixo '0b'
bool() Converte um valor para booleano (True ou False)
breakpoint() Abre o depurador (debugger) no ponto onde é chamado
bytearray() Cria um array mutável de bytes (valores 0-255)
bytes() Cria um objeto imutável de bytes
callable() Verifica se um objeto pode ser chamado como uma função
chr() Converte um código Unicode (inteiro) para o caractere correspondente
classmethod() Converte um método em método de classe
compile() Compila código fonte em um objeto de código executável
complex() Cria um número complexo (parte real + imaginária)
delattr() Deleta um atributo de um objeto
dict() Cria um dicionário (estrutura chave-valor)
dir() Retorna a lista de nomes no escopo atual ou atributos de um objeto
divmod() Retorna uma tupla (quociente, resto) da divisão de dois números
enumerate() Retorna pares de (índice, valor) de um iterável
eval() Executa uma string como código Python e retorna o resultado
exec() Executa código Python (não retorna valor)
filter() Constrói um iterador com os elementos que atendem a uma condição
float() Converte um número ou string para ponto flutuante
format() Formata um valor usando especificações de formato
frozenset() Cria um conjunto imutável (não pode ser modificado)
getattr() Retorna o valor de um atributo de um objeto
globals() Retorna um dicionário do escopo global atual
hasattr() Verifica se um objeto possui um determinado atributo
hash() Retorna o valor hash de um objeto (se for hashable)
help() Abre o sistema de ajuda interativo ou exibe documentação
hex() Converte um inteiro em uma string hexadecimal com prefixo '0x'
id() Retorna a identidade única (endereço de memória) de um objeto
input() Lê uma linha digitada pelo usuário no console
int() Converte um número ou string para inteiro
isinstance() Verifica se um objeto é instância de uma classe ou tipo
issubclass() Verifica se uma classe é subclasse de outra
iter() Retorna um iterador a partir de um objeto iterável
len() Retorna o número de itens (tamanho) de um objeto
list() Cria uma lista a partir de um iterável
locals() Retorna um dicionário do escopo local atual
map() Aplica uma função a cada elemento de um iterável
max() Retorna o maior valor de um iterável ou entre argumentos
memoryview() Cria uma visualização (view) sobre memória de bytes sem copiar
min() Retorna o menor valor de um iterável ou entre argumentos
next() Retorna o próximo item de um iterador
object() Retorna um novo objeto simples sem características
oct() Converte um inteiro em uma string octal com prefixo '0o'
open() Abre um arquivo e retorna um objeto de arquivo
ord() Retorna o código Unicode (inteiro) de um caractere
pow() Retorna a potência de um número (x elevado a y)
print() Imprime valores no console (saída padrão)
property() Cria uma propriedade para gerenciar atributos de uma classe
range() Gera uma sequência imutável de números (economiza memória)
repr() Retorna a representação oficial (para debug) de um objeto
reversed() Retorna um iterador que percorre a sequência em ordem reversa
round() Arredonda um número para uma determinada precisão
set() Cria um conjunto (coleção de elementos únicos sem ordem)
setattr() Define o valor de um atributo de um objeto
slice() Cria um objeto slice (fatia) para fatiar sequências
sorted() Retorna uma nova lista ordenada a partir de um iterável
staticmethod() Converte um método em método estático
str() Converte um objeto para string
sum() Soma todos os elementos de um iterável
super() Retorna um objeto proxy que delega chamadas para a classe pai
tuple() Cria uma tupla (sequência imutável) a partir de um iterável
type() Retorna o tipo de um objeto ou cria uma nova classe dinamicamente
vars() Retorna o dicionário dict de um objeto (atributos)
zip() Agrupa elementos de múltiplos iteráveis em tuplas
build_class() Função interna usada pelo Python para criar classes (não chamar diretamente)

About

Plataforma de Estudos Python

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages