Articolo originale: https://www.freecodecamp.org/news/python-vs-javascript-what-are-the-key-differences-between-the-two-popular-programming-languages/

Se vuoi conoscere le differenze principali tra Python e JavaScript, questo è l'articolo che fa per te.

Questi due linguaggi di programmazione sono molto popolari e versatili, ma presentano delle differenze sostanziali di cui parleremo nel dettaglio.

In quest'articolo, imparerai:

  • Le diverse applicazioni di Python e JavaScript.
  • Le differenze principali tra Python e JavaScript a livello sintattico e funzionale.

Iniziamo!

🔹 Python vs JavaScript: applicazioni pratiche

Iniziamo con una rapida panoramica delle applicazioni pratiche.

image-187

Python

Grazie alla sua versatilità, Python è diventato uno strumento essenziale praticamente in ogni applicazione scientifica. È un linguaggio di programmazione polivalente che supporta vari paradigmi di programmazione.

È ampiamente utilizzato in applicazioni specializzate e di carattere scientifico, tra cui data science, intelligenze artificiali, machine learning, formazione informatica, visione artificiale ed elaborazione di immagini, medicina, biologia e persino astronomia.

È anche utilizzato nello sviluppo web. Possiamo iniziare da qui a confrontare le sue applicazioni con quelle di JavaScript. Python è utilizzato per lo sviluppo back-end, un'area dello sviluppo web che si occupa di creare gli elementi non visibili agli utenti, come il lato server di un'applicazione.

JavaScript

Mentre Python può essere usato per lo sviluppo back-end di un'applicazione web, JavaScript può essere usato sia per il back-end che il front-end di un'applicazione.

Il front-end è quella parte di un'applicazione che l'utente vede e con cui interagisce. Ogni volta che vedi o interagisci con un sito web o un'applicazione, stai usando JavaScript "dietro le quinte".

Analogamente, quando interagisci con un'app mobile, potresti usare JavaScript, in quanto framework come React Native ci permettono di scrivere applicazioni che si adattano a diverse piattaforme.

JavaScript è così ampiamente utilizzato nello sviluppo web, perché è un linguaggio versatile e fornisce gli strumenti necessari a sviluppare i vari componenti di un'applicazione web.

Differenze tra le applicazioni di Python e JavaScript

In breve, gli sviluppatori usano Python per una serie di applicazioni scientifiche, e JavaScript per lo sviluppo web, per funzionalità rivolte agli utenti e per i server.

🔸 Python vs JavaScript: sintassi

Adesso che sai per cosa vengono usati, vediamo come sono scritti e quali sono le differenze nella loro sintassi.

Parleremo delle differenze tra i loro elementi principali:

  • Blocchi di codice
  • Definizione delle variabili
  • Convenzioni di nomenclatura delle variabili
  • Costanti
  • Tipi di dati e valori
  • Commenti
  • Strutture di dati integrate
  • Operatori
  • Input/Output
  • Istruzioni condizionali
  • Loop for e loop while
  • Funzioni
  • Programmazione orientata agli oggetti

Blocchi di codice in Python e JavaScript

Ogni linguaggio di programmazione possiede il proprio stile per definire i blocchi di codice. Vediamo le differenze tra Python e JavaScript:

Definire i blocchi di codice in Python

Python si basa sull'indentazione per definire i blocchi di codice. Quando una serie di righe di codice continue viene indentata allo stesso livello, viene considerata parte dello stesso blocco di codice.

Utilizziamo l'indentazione per definire condizionali, funzioni, loop e in pratica ogni istruzione composta in Python.

Questi sono alcuni esempi:

image-127
Uso dell'indentazione per definire blocchi di codice in Python

💡 Suggerimento: a breve vedremo le differenze specifiche tra questi elementi in Python e JavaScript. Per ora, concentrati sull'indentazione.

Definire i blocchi di codice in JavaScript

JavaScript, invece, fa uso delle parentesi graffe ({}) per raggruppare le istruzioni che appartengono allo stesso blocco di codice.

Ecco alcuni esempi:

image-9
Uso delle parentesi graffe per definire blocchi di codice in JavaScript

Definizione delle variabili in Python e JavaScript

L'istruzione di assegnazione è una delle istruzioni fondamentali in qualsiasi linguaggio di programmazione. Vediamo come possiamo definire una variabile in Python e JavaScript.

Come definire una variabile in Python

Per definire una variabile in Python, scriviamo il nome della variabile seguito dal segno uguale (=) e il valore che desideriamo assegnare alla variabile.

In questo modo:

<nome_variabile> = <valore>

Ad esempio:

x = 5

Come definire una variabile in JavaScript

In JavaScript, la sintassi è molto simile, ma abbiamo bisogno di aggiungere la parola chiave var prima del nome della variabile e terminare la riga con i due punti (;).

In questo modo:

var <nome_variabile> = <valore>;

💡 Tip: le variabili definite usando var possiedono una visibilità di funzione.

Ad esempio:

var x = 5;

Possiamo usare anche la parola chiave let:

let <nome_variabile> = <valore>;

Ad esempio:

let x = 5;

💡 Suggerimento: in questo caso, usando let, la variabile ha una visibilità a livello di blocco e verrà riconosciuta solo all'interno del blocco di codice in cui viene definita.

image-125
Definizione delle variabili in Python e JavaScript

💡 Suggerimento: In JavaScript, la fine dell'istruzione viene contrassegnata dai due punti (;) mentre in Python, iniziamo semplicemente una nuova riga per definire la fine dell'istruzione.

Convenzioni di nomenclatura delle variabili in Python e JavaScript

Python e JavaScript seguono due convenzioni diverse per la nomenclatura delle variabili.

I nomi delle variabili in Python

In Python, dovremmo utilizzare lo stile snake_case.

Secondo la guida allo stile di Python:

I nomi delle variabili seguono la stessa convenzione dei nomi delle funzioni.

I nomi delle funzioni dovrebbero essere minuscoli, con parole separate da trattini bassi per migliorare la leggibilità.

Dunque, un tipico nome di una variabile in Python sarà:

first_name

💡 Tip: la guida allo stile menziona anche che il "mixedCase è permesso solo in contesti in cui è già presente come stile prevalente, per mantenere la compatibilità".

I nomi delle variabili in JavaScript

In JavaScript, dovrebbe utilizzare lo stile lowerCamelCase (notazione a cammello). Il nome inizia con una lettera minuscola e poi ogni nuova parola inizia con una lettera maiuscola.

Secondo le linee guida di JavaScript da MDN Web Docs:

Per i nomi delle variabili, utilizza lo stile lowerCamelCasing e usa nomi concisi, leggibili e semantici dove appropriato.

Ecco un tipico nome di una variabile in JavaScript:

firstName
image-178

Costanti in Python e JavaScript

Bene, ora che sai qualcosa in più sulle variabili, parliamo un po' delle costanti. Le costanti sono valori che non cambiano durante l'esecuzione di un programma.

Come definire le costanti in Python

In Python, facciamo affidamento alle convenzioni di nomenclatura per definire le costanti. Infatti, non esistono regole rigide in questo linguaggio per evitare che un valore vari.

Secondo la guida allo stile di Python:

Le costanti sono generalmente definite al livello di un modulo e scritte in lettere maiuscole con parole separate da trattini bassi.

Questo è lo stile di nomenclatura che dovremmo usare per definire una costante in Python:

NOME_DELLA_COSTANTE

Ad esempio:

PERCENTUALE_TASSA = 32

💡 Suggerimento: il nome scritto in maiuscolo ha la funzione di avvertimento, per noi e per altri sviluppatori. Il valore non dovrebbe essere modificato nel programma, ma tecnicamente, può essere modificato.

Come definire le costanti in JavaScript

In JavaScript, possiamo definire costanti che non possono essere cambiate nel programma e con un identificatore che non può essere riassegnato.

Questo, però, non vuol dire che il valore stesso non può essere cambiato.

Secondo l'articolo const in MDN Web Docs:

La dichiarazione const crea un riferimento a un valore di sola lettura. Non vuol dire che il valore che contiene sia immutabile—solo che l'identificatore della variabile non può essere riassegnato. Ad esempio, nel caso in cui il contenuto sia un oggetto, il contenuto dell'oggetto (le sue proprietà) può essere alterato.

Per definire una costante in JavaScript, aggiungiamo la parola chiave const prima del nome della variabile:

const PERCENTUALE_TASSA = 32;

Se proviamo a cambiare il valore della costante, vedremo il seguente errore:

image-15

Quindi, il valore non può essere cambiato.

💡 Suggerimento: per eseguire e testare piccoli blocchi di codice JavaScript, puoi usare la console DevTools di Chrome.

image-181

Tipi di dati e valori in Python e JavaScript

Vediamo le differenze principali tra i tipi di dati in Python e JavaScript.

Tipi di dati numerici

Python ha tre tipi di dati numerici: int (numeri interi),  float (floating-point numbers o numeri decimali) e complex (numeri complessi). Ognuno possiede proprietà, caratteristiche e applicazioni specifiche.

JavaScript possiede solo due tipi di dati numerici: Number e BigInt. Gli interi e i decimali sono considerati entrambi di tipo Number.

Secondo l'articolo Number da MDN Web Docs:

Un numero letterale come 37 nel codice JavaScript è un decimale e non un intero. Non esiste un tipo a parte per gli interi nelle applicazioni comuni (JavaScript adesso ha il tipo BigInt, ma non è stato pensato per sostituire Number. 37 è ancora un Number e non un BigInt).

None vs. null

In Python, esiste un valore speciale chiamato None, che usiamo tipicamente per indicare che una variabile non ha un valore in un punto particolare di un programma.

Il valore equivalente in JavaScript è null, che "rappresenta l'assenza intenzionale del valore di un oggetto" (fonte).

image-144

Il valore undefined

In JavaScript, esiste un valore speciale che viene assegnato automaticamente quando dichiariamo una variabile senza assegnarle un valore iniziale.

Ecco un esempio:

image-142

Come puoi vedere, il valore della variabile x è undefined.

In Python, devi assegnare un valore iniziale alla variabile. Non è possibile dichiarare una variabile senza un valore iniziale.

💡 Tip: puoi assegnare None come valore iniziale di una variabile in Python per rappresentare l'assenza di un valore.

Tipi di dati primitivi in Python e JavaScript

I tipi di dati primitivi rappresentano i valori basilari con cui lavorare in un linguaggio di programmazione. Confrontiamo i tipi di dati primitivi di questi due linguaggi:

  • Python ha quattro tipi di dati primitivi: interi (int), decimali (float), booleani (bool) e stringhe (str).
  • JavaScript ha sei tipi di dati primitivi: undefined, booleani (Boolean), stringhe (String), numeri (Number), BigInt e Symbol.

Come scrivere commenti in Python e JavaScript

I commenti sono molto importanti per scrivere del codice pulito e leggibile. Vediamo come usarli in Python e JavaScript:

Commenti mono-riga

  • In Python, usiamo il cancelletto (#) per scrivere un commento. Tutti i caratteri sulla riga dopo il simbolo vengono considerati parte del commento.
  • In JavaScript, utilizziamo due barre oblique (//) per iniziare un commento a singola riga.

Ecco un esempio grafico:

image-145

In Python:

# Comment

In JavaScript:

// Comment

Commenti multi-riga

  • In Python, per scrivere un commento multi-riga, iniziamo ogni riga con un cancelletto.
  • In JavaScript, i commenti multi-riga partono con /* e finiscono con */. Tutti i caratteri tra questi simboli vengono considerati parte del commento.
image-146

In Python:

# Multi-line comment 
# in Python to explain
# the code in detail.

In JavaScript:

/* 
Multi-line comment 
in JavaScript to explain 
the code in detail.
*/

Strutture di dati integrate in Python e JavaScript

Anche le strutture di dati integrate in Python e JavaScript presentano delle differenze sostanziali.

Tuple

  • In Python, è presente una struttura di dati integrata chiamata tupla, che è molto simile a una lista ma è immutabile. Non può essere cambiata durante l'esecuzione del programma, quindi viene usata per contenere dati che non devono essere modificati.
  • In JavaScript, non esiste una struttura di dati integrata con queste caratteristiche. Tuttavia, puoi realizzare una struttura di dati simile con alcune funzionalità del linguaggio.
image-182

Liste vs Array

  • In Python, le liste vengono usate per contenere sequenze di valori nella stessa struttura di dati. Possono essere modificate, indicizzate, divise e usate in un programma.
  • In JavaScript, una versione equivalente di questa struttura di dati è detta array.

Ecco un esempio:

image-147

Hash Tables

  • In Python, esiste una struttura di dati integrata chiamata dizionario, che ci aiuta a mappare dei dati tramite delle corrispondenze create da coppie chiave-valore. Funziona piuttosto bene come hash table.
  • JavaScript non possiede una simile struttura di dati integrata, ma ci sono alcuni modi di riprodurre le sue funzionalità con determinati elementi del linguaggio.
image-183

Operatori in Python e JavaScript

Gli operatori sono essenziali per scrivere espressioni in qualsiasi linguaggio di programmazione. Vediamo la differenze basilari tra Python e JavaScript.

Divisione esatta

Mentre la maggior parte degli operatori aritmetici funziona allo stesso modo in Python e JavaScript, l'operatore di divisione esatta è un po' diverso.

  • In Python, la divisione esatta (anche detta "intera") è rappresentata da una doppia barra obliqua (//).
  • In JavaScript, non esiste un operatore particolare per questa operazione. Invece, possiamo usare il metodo Math.floor() per arrotondare per difetto il risultato all'intero più vicino.
image-149

Confronto di valori e tipi

In Python, utilizziamo l'operatore == per valutare se due valori e i loro tipi di dati sono uguali.

Ad esempio:

# Confronto di due interi
>>> 0 == 0     
True
# Confronto di un intero con una stringa
>>> 0 == "0"
False

Anche in JavaScript, è presente questo operatore, ma funziona in modo leggermente diverso dato che converte due oggetti nello stesso tipo di dato prima di effettuare il confronto.

Se controlliamo il risultato del confronto "intero vs. stringa" dell'esempio precedente usando JavaScript (0 == "0"), il risultato è true invece di False perché i valori vengono convertiti nello stesso tipo di dato prima di effettuare il confronto:

image-150

In JavaScript, per verificare se il valore e il tipo di dato sono entrambi uguali, abbiamo bisogno dell'operatore === (un simbolo uguale triplo).

Ora otteniamo il risultato che ci aspettavamo:

image-151

💡 Suggerimento: l'operatore == in Python agisce come l'operatore === in JavaScript.

Operatori logici

  • In Python, i tre operatori logici sono: and, or e not.
  • In JavaScript, questi operatori sono: &&, ||, and ! (rispettivamente).
image-152

Operatori di tipo

  • In Python, per verificare il tipo di un oggetto, usiamo la funzione type().
  • In JavaScript, usiamo l'operatore typeof.

Ecco una descrizione grafica della loro sintassi:

image-153

Input e Output in Python e JavaScript

Richiedere un input e mostrare dei valori a un utente sono delle operazioni molto comuni. Vediamo come puoi farlo con Python e JavaScript.

Input

  • In Python, usiamo la funzione input() per richiedere un input utente. Scriviamo il messaggio all'interno delle parentesi.
  • In JavaScript, un'alternativa (se stai eseguendo il codice nel browser) è mostrare un piccolo prompt con window.prompt(messaggio) e assegnare il risultato a una variabile.

La differenza principale tra i due approcci è che in Python, l'utente sarà invitato a inserire un valore nella console, mentre in JavaScript, un piccolo prompt verrà visualizzato nel browser e chiederà all'utente di inserire un valore.

image-161

💡 Suggerimento: questo è ciò che vedrai nella console di Python per inserire un valore:

image-184

In JavaScript, se apri i DevTool di Chrome e inserisci nella console questa riga di codice:

image-163

Vedrai questo prompt:

image-162
Il prompt mostrato chiamando window.prompt()

Output

  • In Python, visualizziamo un valore nella console con la funzione print(), passando il valore tra le parentesi.
  • In JavaScript, visualizziamo un valore nella console usando console.log(), passando il valore tra le parentesi, allo stesso modo.
image-164

💡 Tip: se stai lavorando sul browser, puoi anche chiamare alert() per mostrare un piccolo prompt, passando un messaggio (o un valore) tra parentesi.

Istruzioni condizionali in Python e JavaScript

Con i condizionali, possiamo scegliere cosa accade in un programma a seconda che una specifica condizione sia True o False. Analizziamo le differenze tra Python e JavaScript.

L'istruzione if

  • In Python, ci basiamo sull'indentazione per indicare quali righe di codice appartengono al condizionale.
  • In JavaScript, dobbiamo inserire la condizione tra parentesi tonde e il codice tra parentesi graffe. Il codice deve anche essere indentato.
image-154
Condizionali in Python (sinistra) e JavaScript (destra)

L'istruzione if/else

La clausola else è molto simile in entrambi i linguaggi. L'unica differenza è che:

  • In Python, scriviamo due punti (:) dopo la parola chiave else
  • In JavaScript, inseriamo il codice che appartiene alla clausola tra parentesi graffe ({}).
image-155

Condizioni multiple

Per scrivere condizioni multiple:

  • In Python, usiamo la parola chiave elif seguita dalla condizione. Dopo la condizione aggiungiamo i due punti (:) e indentiamo il codice nella riga successiva.
  • In JavaScript, usiamo la parola chiave else if seguita dalla condizione (tra parentesi). Dopo la condizione, indentiamo il codice all'interno de parentesi graffe.
image-156
Condizionali in Python (sinistra) e JavaScript (destra)

Switch in JavaScript

  • In JavaScript, abbiamo una struttura di controllo aggiuntiva che possiamo usare per scegliere cosa eseguire in base al valore di un'espressione. Questa istruzione si chiama switch.
  • Python non possiede questa tipologia di struttura di controllo integrata.

Ecco la sintassi generica di questa istruzione:

image-159
Istruzione switch in JavaScript

In JavaScript:

switch (expression) {
    case value1:
        // Code
        break;
    case value2:
        // Code
        break;
    case value3:
        // Code
        break;
    default:
        // Code
}

💡 Suggerimento: puoi aggiungere casi a seconda delle necessità e l'espressione può essere una variabile.

Loop for e loop while in Python e JavaScript

Adesso vediamo come possiamo definire diversi tipi di loop in Python e JavaScript e quali sono le differenze principali.

Loop for

La sintassi per definire un loop for in Python è relativamente più semplice che in JavaScript.

  • In Python, scriviamo la parola chiave for seguita dal nome della variabile del loop, la parola chiave in e la chiamata della funzione range() specificando i parametri necessari. Poi, aggiungiamo i due punti (:) seguiti dal corpo del loop indentato.
  • In JavaScript, dobbiamo specificare esplicitamente alcuni valori. Iniziamo con la parola chiave for seguita da parentesi. All'interno delle parentesi, definiamo la variabile del loop con il suo valore iniziale, la condizione che deve risultare False per terminare il loop e come deve essere aggiornata la variabile in ogni iterazione. Poi, aggiungiamo le parentesi graffe per creare un blocco di codice in cui scrivere il corpo del loop indentato.
image-165
Loop for in Python (sinistra) e JavaScript (destra)

Iterare sugli iterabili

Possiamo usare un loop for in Python e JavaScript per iterare sugli elementi di un iterabile.

  • In Python, scriviamo la parola chiave for seguita dalla variabile del loop, la parola chiave in e l'iterabile. Poi, aggiungiamo i due punti (:) e il corpo del loop (indentato).
  • In JavaScript, possiamo usare un loop for .. of. Scriviamo la parola chiave for seguita da parentesi al cui interno scriviamo la parola chiave var seguita dalla variabile del loop, la parola chiave of e l'iterabile. Inseriamo il corpo del loop tra parentesi graffe e poi lo indentiamo.
image-167
Loop for in Python (sinistra) e JavaScript (destra)

In JavaScript, esistono anche i loop for .. in per iterare sulle proprietà di un oggetto.

Secondo MDN Web Docs:

L'istruzione for...in itera su tutte le proprietà enumerabili di un oggetto che sono connesse a stringhe (ignorando quelle connesse a Symbols), incluse le proprietà enumerabili ereditate. statement iterates over all enumerable properties of an object that are keyed by strings (ignoring ones keyed by Symbols), including inherited enumerable properties.

Ecco un esempio:

const object = { a: 1, b: 2, c: 3 };

for (const property in object) {
  console.log(property, object[property]);
}

L'output che otteniamo eseguendo questa riga di codice nella console dei DevTool di Chrome è:

image-168

Loop while

I loop while sono molto simili in Python e JavaScript.

  • In Python, scriviamo la parola chiave while seguita dalla condizione, dai due punti (:) e, in una nuova riga, il corpo del loop (indentato).
  • In JavaScript, la sintassi è molto simile, ma occorre inserire la condizione tra parentesi tonde e il corpo del loop tra parentesi graffe.
image-169
While Loop in Python (left) and JavaScript (right)

Loop do..while in JavaScript

JavaScript possiede anche un tipo di loop che non è presente in Python.

Questo tipo di loop è detto do..while, perché svolge un'operazione almeno una volta e continua finché la condizione resta True.

La sintassi di base è:

do {
    // Code
} while (condition);

💡 Suggerimento: questo tipo di loop garantisce che il codice sia eseguito almeno una volta.

Questo è particolarmente utile se chiediamo un input a un utente. L'utente sarà invitato a inserire l'input e, nel caso sia valido, il programma potrà proseguire. Se l'input non è valido, all'utente verrà richiesto di reinserire un input finché non sarà valido.

Funzioni in Python e JavaScript

Le funzioni sono incredibilmente importanti per scrivere programmi concisi, gestibili e leggibili. La sintassi è molto simile in Python e JavaScript, ma analizziamo le differenze fondamentali.

  • In Python, scriviamo la parola chiave def seguita dal nome della funzione e, tra parentesi, la lista dei parametri. Poi, aggiungiamo i due punti (:) e il corpo della funzione (indentato).
  • In JavaScript, le uniche differenze sono la definizione della funzione usando la parola chiave function e il corpo della funzione circondato da parentesi graffe.
image-170
Funzioni in Python (in alto) e JavaScript (in basso)

In aggiunta, c'è una differenza molto importante tra le funzioni in Python e JavaScript:

Numeri di argomenti di una funzione

  • In Python, il numero di argomenti passati a una chiamata di funzione deve corrispondere al numero di parametri definiti nella sua definizione. Se ciò non accade, si verificherà un'eccezione.

Ecco un esempio:

>>> def foo(x, y):
	print(x, y)

	
>>> foo(3, 4, 5)
Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    foo(3, 4, 5)
TypeError: foo() takes 2 positional arguments but 3 were given
  • In JavaScript, questo non è necessario, dato che i parametri sono opzionali. Puoi chiamare una funzione con più o meno argomenti rispetto ai parametri definiti nella funzione. Agli argomenti mancanti viene assegnato il valore undefined di default e gli argomenti extra sono accessibili con l'oggetto arguments.

Ecco un esempio in JavaScript:

image-171

Nota come la funzione è stata chiamata con tre argomenti ma solo due parametri sono stati inclusi nella lista dei parametri della definizione della funzione.

💡 Suggerimento: per ottenere il numero di argomenti passati alla funzione, puoi usare arguments.length all'interno della funzione.

Programmazione orientata agli oggetti in Python e JavaScript

Sia Python che JavaScript supportano la programmazione orientata agli oggetti, quindi vediamo come creare e utilizzare gli elementi principali di questo paradigma di programmazione.

Classi

La prima riga della definizione di una classe è molto simile in Python e JavaScript. Scriviamo la parola chiave class seguita dal nome della classe.

L'unica differenza è:

  • In Python, aggiungiamo due punti (:) dopo il nome della classe
  • In JavaScript, circondiamo il contenuto della classe con parentesi graffe ({})
image-172
Definizione di classe in Python (sinistra) e JavaScript (destra)

💡 Suggerimento: in Python e JavaScript, i nomi della classi dovrebbero iniziare con una lettera maiuscola così come ogni parola all'interno del nome della classe.

Costruttore e attributi

Il costruttore è un metodo speciale che viene chiamato per creare una nuova istanza di una classe (un nuovo oggetto). Lo scopo principale è inizializzare gli attributi dell'istanza.

  • In Python, il costruttore che inizializza una nuova istanza è chiamato __init__. Questo metodo viene chiamato automaticamente per inizializzare gli attributi quando viene creata una nuova istanza. La sua lista dei parametri definisce i valori da passare per creare l'istanza. Il primo parametro della lista è self.
  • In JavaScript, il metodo costruttore è chiamato constructor e, allo stesso modo, possiede una lista di parametri.

💡 Suggerimento: in Python, usiamo self per fare riferimento all'istanza, mentre in JavaScript usiamo this.

Per assegnare valori agli attributi in Python, usiamo questa sintassi:

self.attributo = valore

Mentre in JavaScript usiamo la sintassi:

this.attributo = valore;
image-174
Classe di esempio in Python (sopra) e in JavaScript (sotto)

Metodi in Python e JavaScript

  • In Python, definiamo i metodi con la parola chiave def dal nome e la lista dei parametri tra parentesi. Il primo parametro della lista è self e si riferisce all'istanza che sta chiamando il metodo. Dopo la lista, aggiungiamo due punti (:) e il corpo del metodo indentato.

Ecco un esempio:

class Circle:

	def __init__(self, radius, color):
		self.radius = radius
		self.color = color

	def calc_diameter(self):
		return self.radius * 2
Esempio: metodo di una classe in Python
  • In JavaScript, i metodi vengono definiti scrivendo il loro nome seguito dalla lista dei parametri tra parentesi graffe. Dentro le parentesi, scriviamo il corpo del metodo.
class Circle {

    constructor(radius, color) {
        this.radius = radius;
        this.color = color;
    }

    calcDiameter() {
        return this.radius * 2;
    }
}
Esempio: metodo di una classe in JavaScript

Istanze

Per creare un'istanza di una classe:

  • In Python, scriviamo il nome della classe e passiamo gli argomenti tra parentesi.
my_circle = Circle(5, "Red")
  • In JavaScript, dobbiamo aggiungere la parola chiave new prima del nome della classe.
my_circle = new Circle(5, "Red");

🔹 Ricapitolando

Python e JavaScript sono linguaggi molto utili e versatili con diverse applicazioni pratiche.

Python può essere usato per lo sviluppo web e per un'ampia serie di applicazioni, di cui molte a carattere scientifico. JavaScript è principalmente usato per lo sviluppo web (front-end e back-end) e per lo sviluppo di app mobile.

Hanno delle differenze importanti, ma presentano entrambi gli stessi elementi basilari di cui abbiamo bisogno per scrivere dei buoni programmi.

Spero che quest'articolo ti sia piaciuto e che ti sia stato d'aiuto. Adesso conosci le differenze fondamentali tra Python e JavaScript.