Funzioni di prima classe in Python

July 19

linguaggi di programmazione orientati agli oggetti costituiti principalmente da oggetti "di prima classe". Questi oggetti rappresentano tipi di dati complessi creati dal programmatore. Il linguaggio di programmazione Python estende la nozione di ciò che un oggetto è. In Python, ogni cosa è un oggetto, comprese le funzioni. Ciò significa che un programmatore può utilizzare funzioni come dati nello stesso modo che userebbe variabili e oggetti. Per capire che cosa di prima classe sono funzioni, il programmatore deve capire la programmazione orientata agli oggetti, funzioni, e in che modo i due lavorano insieme in Python.

Oggetti

Nella programmazione orientata agli oggetti, il concetto chiave è quello del "oggetto". Un oggetto è un tipo di dati creato da un programmatore per rappresentare un'entità con dati e funzioni. Mentre altri tipi di dati sono semplici rappresentazioni di valore, come i numeri interi o caratteri, gli oggetti sono complessi, inclusi i valori e le funzioni di molti dati. Tuttavia, gli oggetti ancora si comportano come altri tipi di dati in quanto possono essere creati, distrutti, copiati e utilizzati come argomenti per altre funzioni.

First-Class Objects

oggetti di prima classe sono oggetti che possono essere creati o distrutti, o utilizzati come argomenti di funzioni. Nella maggior parte dei linguaggi di programmazione orientati agli oggetti, tutti gli oggetti sono oggetti di prima classe. Ma altri enti, come le funzioni, non sono oggetti di prima classe. Una funzione in C ++ non si comporta come un oggetto in C ++ si comporta, per cui vi è una netta differenza tra i due nell'attuazione codice C ++.

Python e oggetti

Un detto popolare circa il linguaggio di programmazione Python dice che "Ogni cosa è un oggetto." Il detto è vero. Tutto in Python non agisce come un oggetto. In particolare, le funzioni sono oggetti di prima classe in Python. Questo rende le funzioni "funzioni di prima classe" che i programmatori possono passare come argomenti per altre funzioni. Ciò significa che le funzioni hanno anche una serie di attributi simili alle classi, che memorizzano i dati su una particolare istanza di una funzione di esecuzione.

Esempi

In questo esempio, il programmatore crea due funzioni semplici. Il primo si definisce come una normale funzione, con un argomento variabile. Il secondo utilizza quindi la prima funzione nella sua lista degli argomenti. La seconda funzione può quindi chiamare la prima funzione all'interno della sua definizione. La funzione chiamata dentro l'altra funzione può utilizzare le variabili locali all'interno della funzione che ha chiamato:

def FUNC1 (x):

. . . tornare x * 3

def funz2 (f, y): // "f" rappresenta una funzione, ma ha lo stesso aspetto come una variabile

. . . return f (y) // Python sa f è una funzione perché viene utilizzato come uno

funz2 (FUNC1, 3)

9