pseudosugar.

Estender Python com recursos de linguagem de programação funcional
Baixe Agora

pseudosugar. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • GPL
  • Preço:
  • FREE
  • Nome do editor:
  • Kai Zhu
  • Site do editor:
  • http://www-rcf.usc.edu/~kaizhu/

pseudosugar. Tag


pseudosugar. Descrição

Estenda Python com recursos de linguagem de programação funcional Pseudosugar é um módulo pido python adicionando os seguintes Açúcar de Sintaxe: Função >> Função -> Função (AA, BB, CC, ...) xx ..Function (AA, BB, CC) -> FUNÇÃO (XX, AA, BB , CC) XX ... FUNÇÃO (AA, BB, CC) -> Função (AA, XX, BB, CC) XX .... Função (AA, BB, CC) -> Função (AA, BB, XX, CC) Uso de demonstração: >>> ## Iniciar o console interativo >>> da Pseudosugar Import * >>> pseudo_console (). Interact () Python 3.1.1 (R311: 74480, Setembro 13, 17:17:12 ) no tipo Linux2 "Ajuda", "Copyright", "créditos" ou "licença" para mais informações. (pseudo_console) pseudo_importer - adição de gancho to sys.meta_path >>> de Pseudosugar Import * >>> #### Exemplos rápidos >>> ## Operador de prefixo >>> Imprimir ## operador de postfix >>> 'Olá', 'World' >>>> Printhello World >>> ## Pseudomethod >>> Def Função (AA, BB, CC): Retorno (AA, BB, CC) >>> 1. (0, 0) >>>> Imprimir (1, 0, 0) >>> 2 ... Função (0, 0) >>>> Imprimir (0, 2, 0) >>> 3 .... Função (0, 0) >>>> Imprimir (0, 0, 3) >>> ## '' Converte funções em operadores postfix >>> ## se comporta quase exatamente como '>>>>', exceto no sentido inverso> >> ## É útil para encadear vários operadores >>> 'Qwerty' >>>> lista >>>> classificada >>>> enumerar >>>> dict >>>> Imprimir {0: 'E', 1: 'Q', 2: 'R', 3: 't', 4: 'W', 5: 'Y'} >>> ## Precedência >>> ## '>>>>' Precedência do operador do que 'tupla) ## LIST (TUPLE (' ABCD ')) >>> #### Pseudomethod Sintaxe >>> Chamadas de função para objetos >>> ## Vincular a chamada de função Imprimir () para 'Hello' >>> PRI nt ('olá') Olá >>> 'olá' ..print () olá >>> 'olá' ..print ('World') Olá mundo >>> 'olá'. ! ') Olá mundo! >>>' olá '..print (' World ','! ', file = sys.stdout) Olá mundo! >>> ## Crie uma string pseudomethod que adiciona uma exclamação ou outras finais> >> def add_ending (self, end = '!'): retorna auto + fim >>> 'olá' ..add_ending () ..print () olá! >>> 'olá'.upper () ..add_ending ) ..print () olá! >>> 'hello'.upper () ..add_ending (' World ') ..print () Olá mundo >>>' Olá'.upper () ..add_ending ('mundo' ) .Lower () ..print () Olá mundo >>> 'Olá'.upper () ..add_ending (' World '). Baixa () ..add_ending ('! ') ..print () Olá mundo! >>> 'hello'.upper () ..add_ending (' World '). Lower () ..add_ending ('! ') ..add_ending (final ='! ') ..print () Hello World !!> >> ## Precedência do operador >>> ## 'AA ...bb ()' tem a mesma precedência do operador como operador de atributo 'A.B' >>> def add (AA, BB): retorne aa + bb >> > Imprimir (2 * 3..add (4) + 5 == 2 * (3 + 4) + 5) True >>> Imprimir (3 == 1.Add (2)) True >>> Imprimir (00. ..add (1), 0) 01 0 >>> ## estender Tipos restritos >>> ## O tipo de objeto de código Python não pode ser subticado nem aceitará qualquer ligao de método. >>> ## No entanto, podemos Estrance-o por funções ordinárias dinamicamente vinculativas. >>> ## Aqui está um pseudomethod que desmonta uma instância do tipo a uma saída especificada >>> Import DIS, IO, SYS >>> DEF desinstalação (auto, arquivo): ... backup_stdout = sys.stdout ## backup sys.stdout ... tente: ... sys.stdout = file ... dis.dis (self) ## desmontar ... File ... finalmente: ... sys.stdout = backup_stdout ## restaurar sys.stdout >>> code_source = 'Imprimir ("Olá")'; code_object = compilar (code_source, '', 'EXEC'); Exec (code_object) hello >>> code_object ..disassemble (file = io.stringio ()). getvalue () ..print () 10 load_name 0 (imprimir) 3 load_const 0 ('olá') 6 call_function 19 pop_funct 10 load_const 1 (Nenhum) 13 return_value >>> ## '...' e '....' sintaxe >>> ## Às vezes nós queremos o 2º ou terceiro argumento de uma função ligada a um objeto. >> > ## '...' e '....' Vai fazer isso respectivamente >>> '2nd' ... Imprimir (0, 0) 02 0 >>> 3RD '.... Imprimir (0 , 0) 00 3ª >>> ## '....' é útil para encadeamento re.sub >>> ss = 'file = io.stringio (); Imprimir 1, 2, 3 >> arquivo; Imprimir arquivo.GetValue () '; Imprimir (SS) Arquivo = io.stringio (); Imprimir 1, 2, 3 >> arquivo; Imprimir arquivo.getValue () >>> Imprimir (... Re.sub ('Imprimir (. *?) $', 'Imprimir (\ 1)', ... Re.SUB ('PRINT (. *)> > (. *?); ',' impressão (\ 1, file = \ 2); ', ss) ...) ...) file = io.stringio (); Imprimir (1, 2, 3, arquivo = arquivo); Imprimir (file.getvalue ()) >>> ss .... re.sub ('imprimir (. *) >> (. *?);', 'imprimir (\ 1, file = \ 2);' ...... re.sub ('Imprimir (. *?) $', 'Imprimir (\ 1)') ....Print () file = io.stringio (); Imprimir (1, 2, 3, arquivo = arquivo); Imprimir (File.GetValue ()) >>> ## De fato, outro uso primário de pseudomethod é achatar feio, difícil de ler, lisp-like série aninhada chamada >>> Imprimir (Dict (enumerar (Zip (» ABC ', classificada (' ABC BCA CAB'.SPlit (''), tecla = lambda x: x ))))))) {0: ('A', 'CAB'), 1: ('B' 'ABC'), 2: ('C', 'BCA')} >>> 'ABC BCA CAB'.SPLIT (' ') ..sorted (key = lambda x: x ) ... zip ('abc') ..enumerate () ..dict () ..print () {0: ('A', 'cab "), 1: (' B ',' ABC '), 2: (' C ',' BCA ')} >>> ## Módulos de importação escritos com Pseudomethod Syntax >>> ## Create Test_Module.py >>> aberto (' test_module.py ',' W '). Escreva (' "" " .imprimir() ') ..Print (' bytes escrito ') 18 bytes escritos >>> ## durante a importação, insira o prefixo mágico' pseudosugar '. Antes do último módulo >>> ## Import pseudosugar.a >>> ## Import A.pseudosugar.b >>> ## Import A.b.pseudosugar.c >>> Import Pseudosugar.Test_Modulehello Requisitos: · Pitão


pseudosugar. Software Relacionado

extdirect.django.

Este pacote fornece uma maneira simples de expor funções / visualizações em Django ao pacote EXT.Direct incluído no EXJS 3.0 seguindo a especificação EXT.Direct ...

135

Download