Modelos decorados python

Estratégia de Templates Python Envolvendo Decoradores e Expressões Inline
Baixe Agora

Modelos decorados python Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • MIT/X Consortium Lic...
  • Preço:
  • FREE
  • Nome do editor:
  • Caleb P. Burns
  • Site do editor:
  • https://github.com/cpburnz/

Modelos decorados python Tag


Modelos decorados python Descrição

Por que se preocupar em trabalhar com idiomas de modelos incorporados no Python quando Python já é uma linguagem de script totalmente funcional e extensível perfeita para modelagem? Python-decorated-models é um módulo Python que fornece uma estratégia de modelos para o Python. Tudo o que foi involido é decorar suas funções de modelo, e todas as expressões dentro deles serão concatenadas e retornadas na função conclusão.Templates para a casa usando um modelo simples :: Importar PTD @ PDT.Template Def Spam (ovos, presunto = nenhum): '' 'Isso normalmente seria a corda do doc que isso vai ser emitido como uma expressão. '' 'Ovos # Saída Algumas somas de ovos (Xrange (10)) # Saída 45 "Aqui está outra expressão de string". Imprimir "Estas ainda são declarações de impressão regulares que serão" impressas "impressas a stdout". Se não ham: # Todas as expressões até este ponto serão devolvidas com a instrução # vazia de retorno. return "tem algum% s presunto". % Ham # Saída O presunto # Todas as expressões são retornadas no final de um modelo # para o que o modelo vai parecer depois de ser recompilado :: Importar PDT DEF Spam (ovos, presunto = nenhum) _Buffer = pdt.listio ( ) _buffer.write ('' '' Isso normalmente seria a corda do DOC, mas isso será emitido como uma expressão. '' ') _buffer.write (ovos) # Saia alguns ovos. _buffer.write (soma (Xrange (10))) # Saída 45 _Buffer.write ("Aqui está outra expressão de string.") Imprimir "Estas são declarações impressas regulares que serão" impressas "impressas". Se não ham: # Todas as expressões até este ponto serão devolvidas com a instrução # vazia de retorno. Retornar _buffer.getValue () _buffer.write ("Tenha algum% s Ham."% HAM) # Saída O Ham # Todas as expressões são reproduzidas serão devolvidas no final de um modelo #. retorno _buffer.getvalue () Modelo IO BuffEtemplates Use um buffer interno para armazenar resultados de expressão que será retornado no final da função. Um argumentos de funcionalidade de fábrica de buffer personalizado pode ser especificado com :: Importar PDT @ pdt.template (io_factory = myfactory, io_args = myargs, io_kw = mykeywords) def spam (...): * io_factory ** (** calable **) cria Instâncias semelhantes ao `` arquivo` implementando * Write () * e * getValue () * quando chamado. Normalmente, este será um objeto de classe. Por padrão, este é `` listio``. * Io_args * (`` `` `` `` `` `` `` ``````) opcionalmente especifica quaisquer argumentos posicionais passados para * io_factory * quando ele é chamado. O padrão é uma "tupla" vazia`. * Io_kw * (`` `` `` ```````) opcionalmente especifica argumentos de palavra-chave passados para * io_factory * quando é chamado. O padrão é um "ditado" vazio``..here é uma versão simplificada da classe `` Listio`` classe: classe simplelistio (objeto): def __init __ (auto): self.buff = [] def escrever (auto, dados): se Os dados não são nenhum: self.buff.Append (Str (Str (Data)) def getvalue (auto): return "" .Join (self.buff) Import PDT @ PDT.Template (io_factory = simplListio) Def Spam (...) : ... Aqui está um buffer de Exemplo IO que codifica os resultados e os armazena usando `` Cstringio`` :: Importar Custringio Classe Customio (objeto): def __init __ (auto, codificação = 'utf8'): self.buff = cstringio. Stringio () self.enc = Codificando Def Write (auto, dados): se dados não for nenhum: self.buff.write (Unicode (Data) .encode (self..enc)) def getvalue (auto): retorne self.buff .TVALUE () Importar PDT @ PDT.Template (io_factory = Customio, io_kw = {'codificação': 'latin1'}) def spam (...): o * io_args * e * io_kw * são passados como posicional e palavra-chave argumentsto * io_factory * Qual é o construtor de classe. A função * Write () * receberá o resultado de cada expressão no primeiro argumento (* data *). * Dados * terão que ser convertidos para um `` str`` ou `` unicode`` manualmente. Se * Data * é `` Nenhum``, ele deve ser ignorado, portanto, funções que não retornam um valor (ou seja, `` Nenhum``````'`` O resultado concatenado "str` ou` `Unicode`` de de todas as expressões enviadas para * write () *. implementationpdt é inspirado pela Quixote's PTL_ (linguagem de modelo Python), mas sem a necessidade de sintaxe de arquivos especiais, extensões e ancinhos de importação. O decorador do modelo PDT modifica a fonte de funções embrulhadas e recompila-as para permitir a saída de expressão ... _PTL: http://quegote.ca/only no source `` DEF`ed funções são suportadas. Funções para as quais sua fonte de texto (não código de byte) não está disponível não são suportadas. Nem os fechamentos, os geradores, nem são suportados "` lambda`s. As funções só podem ser decoradas acima / após (não abaixo / antes) sendo decoradas como modelo ... Nota: As funções do gerador podem ser suportadas na página inicial do futuro.


Modelos decorados python Software Relacionado

fixo

Uma biblioteca para processar rapidamente arquivos de largura fixa ...

36

Download