Python e altri linguaggi di programmazione tradizionalmente implementano codice statico . In questo metodo di programmazione , un programmatore scrive il codice che viene eseguito dagli utenti , ma il codice non e non si può modificare se stesso per adattarsi agli input dell'utente o di eventi di sistema che cambiano. Un nuovo tipo di funzionalità di codifica , chiamato metodi dinamici o codice di auto- modifica permette al programma stesso ad alterare in realtà una sua logica . Funzioni dinamiche in Python sono un esempio di modifica non persistenti , cioè, un programmatore sviluppa un quadro di insieme che persiste staticamente nel codice sorgente , e più tardi , chiama al quadro funzione dinamica solo alterare temporaneamente l' esecuzione del codice < br . >
Attuazione
Python implementa funzioni dinamiche utilizzando la parola chiave " lambda ", seguito dalla logica di funzionamento per definire il quadro e la "mappa" parola chiave per creare la funzione dinamica nel corso della codice . La combinazione di queste parole chiave nei risultati di controllo in fase di esecuzione su cui funzioni vengono eseguiti e compilati in memoria . Sul back-end , la parola chiave " lambda " assegna un quadro in memoria . Quando una "mappa" parola chiave gira , il codice compila il quadro con i valori dati , e assegna una funzione anonima in memoria con l'input dato .
Ottimizzazione
funzioni dinamiche in Python offrono miglioramenti di memoria enormi oltre funzioni statiche . Definizioni di funzione ( meno il quadro statico per la funzione ) possono essere memorizzati in un file o una variabile , o anche essere trasmessi attraverso la rete , piuttosto che il codice , migliorando la flessibilità. Quando una funzione dinamica non è più necessaria per il programma , il programmatore può unallocate la memoria utilizzata dalla funzione , liberando risorse di sistema importanti che sarebbero stati altrimenti tesaurizzate dal programma .
Complicazioni
con
I critici di metodi dinamici e codice di auto- modifica spesso sollevano preoccupazioni circa la leggibilità del codice , perdita di efficienza e risultati imprevedibili . Un piccolo sottoinsieme di situazioni in cui esistono funzioni dinamiche sono appropriate - cioè in sede di attuazione più funzioni con logica simile che può essere facilmente estratta e serializzato . Applicazione non corretta si traduce spesso in codice disordinato , che sembra più complessa di se il programmatore avesse usato funzioni statiche . Gli sviluppatori hanno bisogno di prendere in considerazione l'applicabilità , potenziali guadagni o perdite di memoria , e la complessità del codice prima di implementare funzioni dinamiche .
Programmazione © www.354353.com