Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> python

DSLs Python:soluções sob medida para domínios especializados


Quando escrevemos o programa, descobrimos que os problemas que resolvemos pertencem a áreas específicas, também chamadas de domínios, como:

Usando a General Purpose Language (GPL), como Python ou Java, podemos resolver esses problemas, mas o código se torna muito detalhado e repetitivo. Portanto, usaremos o DSL (Domain Specific Language.

DSL - Linguagem Específica de Domínio


A Linguagem Específica de Domínio é uma linguagem de programação ou especificação dedicada a um domínio específico. É diferente da linguagem de uso geral (GPL como Python, C++ ou Java). Eles são de dois tipos:

DSL externo


Para trabalhar com os bancos de dados, usamos o SQL, em vez de escrever loops para verificar os dados manualmente, simplesmente escrevemos:
09 
Para projetar as páginas da web, usamos o HTML. Em vez de gerenciar manualmente as strings de texto e posições, simplesmente declaramos:
18 

DSL interno


Em Python, a linguagem específica do domínio é construída sobre a sintaxe Python. Frameworks como flask ou Pandas são exemplos de bibliotecas do tipo DSL que ajudam a expressar os problemas com clareza.
26 

Por que DSLs em Python


Python é a melhor escolha para DSL porque:
  • Sua sintaxe é simples e expressiva.
  • Ele permite que funções e classes sejam usadas como blocos de construção.

Por exemplo, as estruturas de teste como pytest ou estruturas web como Flask são semelhantes a DSL. Em vez de escrever a lógica de baixo nível, eles deixaram escrever os comandos expressivos.

Vamos mergulhar no exemplo para aprender mais sobre a linguagem específica do domínio.

Exemplo 1


Vejamos o exemplo a seguir, onde vamos abstrair a linguagem matemática nas funções nomeadas.
30 
A seguir está a saída do programa acima -
48 

Exemplo 2


Considere o exemplo a seguir, onde usaremos o DSL nos arquivos de configuração.
57 
A saída do programa acima é -
69 

Exemplo 3


No exemplo a seguir, observaremos o DSL para consulta de dados usando a sintaxe SQL dentro do Python.
71 
A seguir está a saída do programa acima -
88 

python

  1. Python JSON:codificar (despejar), decodificar (carregar) e ler arquivo JSON
  2. O Zen of Python (easter egg PEP-20)
  3. Funções do Python Lambda com EXEMPLOS
  4. Python RegEx:re.match(), re.search(), re.findall() com exemplo
  5. Python - E/S de arquivos
  6. Tutorial PyTest:O que é, como instalar, estrutura, asserções
  7. Junte-se à comunidade exclusiva do Real Python Slack para desenvolvedores Python
  8. Python - Sintaxe Básica
  9. Manipulação de Exceções do Python Usando a instrução try, except e finally
  10. Caminhos de aprendizagem acelerados de Python:domine Python do iniciante ao avançado