Che cos'è l'oggetto modulo e l'oggetto funzione?

3

Attualmente sto insegnando a me stesso Python, usando il libro con licenza GNU "Introduction to Computer Science using Python."

Nel capitolo 3, le funzioni sono coperte. Mentre capisco il concetto di funzioni e il modo in cui semplificano il codice eseguendo una sequenza definita di istruzioni ogni volta che si prendono cura di loro, e che i moduli sono raccolte di funzioni e variabili correlate, memorizzate in un file, non capisco il concetto di oggetti modulo e oggetti funzione. Ad esempio, quando viene eseguito "import math", si dice, viene creato un oggetto modulo. Inoltre, quando una funzione viene definita ed eseguita, viene creato un oggetto funzione.

Qualcuno potrebbe spiegare cosa sono questi "oggetti" per me?

    
posta qzxt 28.10.2011 - 02:45
fonte

2 risposte

3

Python in fase di esecuzione conserva molte informazioni sullo stato del codice che sta eseguendo e ne espone parecchio ai programmatori. Quindi, al momento dell'esecuzione, c'è un oggetto reale (un'istanza di una classe) chiamato oggetto modulo che viene creato quando viene importato un modulo. È un vero oggetto Python e puoi fare qualsiasi cosa con esso che puoi fare con un oggetto Python. Ha metodi e tutto.

Quando una definizione di funzione che viene eseguita (che non è la stessa della funzione che viene eseguita - normalmente la definizione verrà eseguita una volta per la funzione quando il modulo viene importato) crea un oggetto funzione, che è solo uno speciale tipo di oggetto che è un wrapper attorno al codice eseguibile. Anche questo è un oggetto reale, puoi impostarlo su variabili, passarlo come parametro, chiamarlo come metodo, ecc.

    
risposta data 28.10.2011 - 03:09
fonte
0

Un oggetto funzione si riferisce al fatto che Python tratta oggetti di prima classe. Ciò consente a Python di utilizzare determinate tecniche dalla programmazione funzionale, in particolare il passaggio di funzioni in modo simile a come si passerebbe qualsiasi altro oggetto come una stringa o una matrice.

Un oggetto modulo è un oggetto creato che rappresenta una libreria di funzioni. Sarebbe simile a una classe astratta in un linguaggio più orientato agli oggetti. Dovresti importare per ottenere set di funzioni predefinite che potresti dover utilizzare.

    
risposta data 28.10.2011 - 03:10
fonte

Leggi altre domande sui tag