![Fulvio Corno](/img/default-banner.jpg)
- Видео 1 376
- Просмотров 1 350 074
Fulvio Corno
Италия
Добавлен 23 апр 2012
Lezioni relative ai miei corsi presso il Politecnico di Torino, presentazioni delle tesi di laurea e di seminari scientifici.
WA1-2024-L27a: Exercise on useEffect and fetch (second part)
Lecture 27/a date 2024-06-04: Exercise on useEffect and fetch (second part)
Course: Web Applications I, Politecnico di Torino, year 2023/2024
More info:
- course website: bit.ly/polito-wa1
Course: Web Applications I, Politecnico di Torino, year 2023/2024
More info:
- course website: bit.ly/polito-wa1
Просмотров: 253
Видео
WA1-2024-L28: Authentication with Passport.js (second part)
Просмотров 3072 месяца назад
Lecture 28 date 2024-06-04: Authentication with Passport.js (second part) Course: Web Applications I, Politecnico di Torino, year 2023/2024 More info: - course website: bit.ly/polito-wa1
WA1-2024-L27b: Authentication with Passport.js (first part)
Просмотров 1882 месяца назад
Lecture 27/b date 2024-06-04: Authentication with Passport.js (first part) Course: Web Applications I, Politecnico di Torino, year 2023/2024 More info: - course website: bit.ly/polito-wa1
WA1-2024-L26b: Exercise on useEffect and fetch
Просмотров 1602 месяца назад
Lecture 26/b date 2024-05-28: Exercise on useEffect and fetch Course: Web Applications I, Politecnico di Torino, year 2023/2024 More info: - course website: bit.ly/polito-wa1
WA1-2024-L26a: Info about the exam
Просмотров 1432 месяца назад
Lecture 26/a date 2024-05-28: Info about the exam Course: Web Applications I, Politecnico di Torino, year 2023/2024 More info: - course website: bit.ly/polito-wa1
WA1-2024-L25: useEffect: advanced topics
Просмотров 1482 месяца назад
Lecture 25 date 2024-05-28: useEffect: advanced topics Course: Web Applications I, Politecnico di Torino, year 2023/2024 More info: - course website: bit.ly/polito-wa1
WA1-2024-L24: useEffect and React lifecycle
Просмотров 2383 месяца назад
Lecture 24 date 2024-05-21: useEffect and React lifecycle Course: Web Applications I, Politecnico di Torino, year 2023/2024 More info: - course website: bit.ly/polito-wa1
WA1-2024-L23: Fetch. Client-server interaction in React
Просмотров 2253 месяца назад
Lecture 23, date 2024-05-21: Fetch. Client-server interaction in React Course: Web Applications I, Politecnico di Torino, year 2023/2024 More info: - course website: bit.ly/polito-wa1
WA1-2024-L22: Exercise on React Router
Просмотров 2373 месяца назад
Lecture 22, date 2024-05-14: Exercise on React Router Course: Web Applications I, Politecnico di Torino, year 2023/2024 More info: - course website: bit.ly/polito-wa1
WA1-2024-L21: React Context. React Router
Просмотров 2863 месяца назад
Lecture 21, date 2024-05-14: React Context. React Router Course: Web Applications I, Politecnico di Torino, year 2023/2024 More info: - course website: bit.ly/polito-wa1
WA1-2024-L17: React Components and State
Просмотров 4023 месяца назад
Lecture 17, date 2024-04-30: React Components and State Course: Web Applications I, Politecnico di Torino, year 2023/2024 More info: - course website: bit.ly/polito-wa1
WA1-2024-L18: Exercise on React State. Forms in React
Просмотров 3383 месяца назад
Lecture 18, date 2024-04-30: Exercise on React State. Forms in React Course: Web Applications I, Politecnico di Torino, year 2023/2024 More info: - course website: bit.ly/polito-wa1
WA1-2024-L13: Exercise on Javascript in the browser
Просмотров 2974 месяца назад
Lecture 13, date 2024-04-16: Exercise on Javascript in the browser Course: Web Applications I, Politecnico di Torino, year 2023/2024 More info: - course website: bit.ly/polito-wa1
WA1-2024-L14: Exercise on async/await and POST APIs
Просмотров 2384 месяца назад
Lecture 14, date 2024-04-16: Exercise on async/await and POST APIs Course: Web Applications I, Politecnico di Torino, year 2023/2024 More info: - course website: bit.ly/polito-wa1
WA1-2024-L12: Javascript in the browser
Просмотров 3294 месяца назад
Lecture 12, date 2024-04-09: Javascript in the browser Course: Web Applications I, Politecnico di Torino, year 2023/2024 More info: - course website: bit.ly/polito-wa1
WA1-2024-L11: Exercise on HTML, CSS and Bootstrap (NO AUDIO)
Просмотров 3654 месяца назад
WA1-2024-L11: Exercise on HTML, CSS and Bootstrap (NO AUDIO)
WA1-2024-L09: Web architectures. Express.
Просмотров 5354 месяца назад
WA1-2024-L09: Web architectures. Express.
WA1-2024-L10: HTTP APIs. Exercise on API design.
Просмотров 4914 месяца назад
WA1-2024-L10: HTTP APIs. Exercise on API design.
TdP2024-L09: Strutture dati e collection (segue)
Просмотров 3375 месяцев назад
TdP2024-L09: Strutture dati e collection (segue)
WA1-2024-L08: Promises. Exercise on Asynchronous Programming.
Просмотров 4195 месяцев назад
WA1-2024-L08: Promises. Exercise on Asynchronous Programming.
WA1-2024-L07: JavaScript Asynchronous Programming. Interfacing with SQLite.
Просмотров 3885 месяцев назад
WA1-2024-L07: JavaScript Asynchronous Programming. Interfacing with SQLite.
TdP2024-L07: Esercizio 'Libretto Voti' (segue)
Просмотров 3735 месяцев назад
TdP2024-L07: Esercizio 'Libretto Voti' (segue)
TdP2024-L08: Strutture dati e collection
Просмотров 4355 месяцев назад
TdP2024-L08: Strutture dati e collection
TdP2024-L06: Esercizio 'Libretto Voti'
Просмотров 3955 месяцев назад
TdP2024-L06: Esercizio 'Libretto Voti'
WA1-2024-L05: Constructor Functions. Callbacks.
Просмотров 3915 месяцев назад
WA1-2024-L05: Constructor Functions. Callbacks.
WA1-2024-L06: Functional programming.
Просмотров 3495 месяцев назад
WA1-2024-L06: Functional programming.
TdP2024-L04: Ereditarietà e Polimorfismo
Просмотров 5105 месяцев назад
TdP2024-L04: Ereditarietà e Polimorfismo
WA1-2024-L04: JavaScript Exercises on Arrays and Strings
Просмотров 3695 месяцев назад
WA1-2024-L04: JavaScript Exercises on Arrays and Strings
WA1-2024-L03: JavaScript Exercises on Arrays and Strings
Просмотров 4705 месяцев назад
WA1-2024-L03: JavaScript Exercises on Arrays and Strings
Buonasera, ma l’esercizio proposto alla fine (sostituzione vocali) è possibile senza l’utilizzo di un ciclo for? L’unica soluzione che ho trovato è tramite l’utilizzo appunto del ciclo for, che non mi pare sia ancora stato trattato. Grazie per la eventuale risposta!
Salve prof, lezione molto interessante, vorrei chiederle solo una curiosità riguardo all'ultima domanda esposta nel video, sul bus di controllo CBUS transitano anche i bit di controllo calcolati con algoritmi di controllo (hamming, bit di parità, crc ecc..) o transitano anche loro nel data bus?
Buonasera professore, le lezioni di laboratorio sono presenti in questa playlist su youtube? La ringrazio infinitamente per la sua generosità nel pubblicare queste risorse!
Scusi prof ma secondo lei l'ISE di PowerShell (integrata in Windows) si può utilizzare per Python? Così da non dover installare nulla in più oltre a Python, alla fine Visual Basic gira con PowerShell
Visual Studio*
Mi risulta che il componente ISE sia in via di dismissione (da Powershell v6 non è più supportato), ed in ogni caso supporta solamente degli script in linguaggio PS1. Se non vuoi installare "nulla di più", con l'installazione base di Python è già presente l'editor IDLE, molto minimale e leggero.
grazie mille prof, spiegazione molto chiara e intuitiva
Grazie per l'incoraggiamento!
Grazie
grazie a te per l'incoraggiamento
Prof, deve sapere, lei è l'eroe di molti studenti ! La ringrazio a nome di tutti
@@annebogdan3883 sono contento che apprezziate. Cerco di fare al meglio il mio mestiere. Grazie per l'incoraggiamento
@@fulcorno si vede prof 🙏💪
scusi professore, ma perché nell'esercizio 51 non ha invertito i bit essendo AA35 un numero negativo in CA2?
Proprio perché è già un numero negativo, la sua rappresentazione è già corretta con la sequenza di bit corrispondente alla base 16. L'inversione dei bit di cui parli servirebbe per cambiare di segno al numero, facendolo diventare negativo se fosse positivo
@@fulcorno Grazie mille
Salve Prof molto interessanti le sue lezioni ,le volevo chiedere ho dei problemi con code blocks mi da errore sul compilatore come posso risolvere ?Ho installato di nuovo ma niente non funziona Grazie e buona giornata
scusami ma non lavoro più in C da molti anni (queste lezioni sono del 2012). Posso solo dire che dalla tua descrizione è praticamente impossibile capire quale sia il problema.
Salve Prof sto seguendo le sue videolezioni sempre molto interessanti, mi sa consigliare un ottimo compilatore per programmare in C Grazie Prof e grazie per le sue lezioni
onestamente non ho più avuto occasione di usare il C da parecchi anni, non saprei quali siano i compilatori oggi più consigliabili.
Professore , ho un problema , quando provo a creare un file txt per provare ad aprilo con il comando open mi esce la scritta FileNotFoundError : No such file or dictionary , perche?
probabilmente il file non risiede nella stessa cartella in cui è stato avviato il programma. Controlla le impostazioni di VS Code che sono descritte nelle slide 12 e 13
@@fulcorno si ho fatto e risolto , grazie
"PromoSM" 😣
perchè non in Italiano ?
perché questo corso è tenuto da me in inglese e dal collega De Russis in italiano (ruclips.net/p/PLs7DWGc_wmwTz6XD62wCYGRaVXMztRpwd), visto che al Politecnico abbiamo molti studenti internazionali
@@fulcorno Grazie Prof. Gentilissimo come sempre .Un cordiale saluto e complimenti perchè grazie a lei ho imparato molte cose inerenti alla programmazione in special modo nel linguaggio Python . Seguo sempre le sue lezioni.
Salve professore, io ho provato ad eseguire lo stesso programma che lei ha scritto all'inizio cioè z=1+2j,ma mi da sempre l'errore idem quando cerco di importare cmath secondo lei dove sta il problema?
Dovresti dirmi cosa hai scritto esattamente, e quale sia l'errore esatto che ti viene segnalato. Altrimenti è impossibile rispondere.
Salve Professore mi scusi se la disturbo ma le volevo chiedere se esisteva una libreria per il calcolo del simplesso. Grazie mille e complimenti per le sue video-lezioni ho imparato molto su python grazie a lei. Buona giornata
Puoi provare con la libreria ScyPi (docs.scipy.org/doc/scipy/reference/optimize.linprog-simplex.html) oppure PuLP (pypi.org/project/PuLP/). Grazie per le gentili parole sulle lezioni
Salve Prof. Corno, su alcuni libri ho letto che in Javascript le variabili non contengono il valore ma si riferiscono ad un valore. Non mi è chiaro se questo si applica anche ai tipi primitivi oltre che agli oggetti: cioè una variabile a cui è assegnato un number/string/boolean, se non contiene direttamente il valore di quel tipo di dato, almeno un indirizzo lo conterrà, altrimenti come farebbe a puntare al valore?
Il paradigma è comune a quasi tutti i linguaggi di programmazione ad oggetti: le variabili contengono solamente un "riferimento" (cioè un indirizzo, un puntatore), mentre i "valori" sono allocati dinamicamente. Alcuni linguaggi (C++, Java) gestiscono un mix di tipi "primitivi" (la variabile contiene direttamente il valore, come 'int' in Java) e tipi "oggetto" (la variabile è solo un riferimento, come Integer in Java). Anche JavaScript dispone di tipi "primitivi" (developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#primitive_values), ma essi vengono convertiti direttamente in oggetti ogni volta che si chiama un metodo su di essi. Dal punto di vista del programmatore, in JS tutti i tipi primitivi sono immutabili. Ripeto: tutti i tipi primitivi sono immutabili. Questo significa che non c'è modo di distinguere un valore da un riferimento con le operazioni interne al linguaggio, ragion per cui conviene sempre pensare che tutte le variabili siano semplicemente dei riferimenti (e dimenticare la distinzione con i tipi primitivi).
Salve Prof. Corno, non mi è chiaro se in una funzione la keyword 'return' debba essere messa solo se si restituisce un valore (espressione) mentre non deve essere messa quando si restituisce un'attività (statement), oppure ci sta una logica diversa. Ad esempio se una funzione restituisce un console.log('Hello world), il fatto che ci sia o non ci sia il return è a discrezione del programmatore?
quando una funzione non ha un'istruzione 'return' esplicita (oppure ha un 'return' senza alcun argomento), allora viene automaticamente restituito il valore 'undefined'. È bene che la documentazione di una funzione specifichi se la funzione restituisce un valore, e se sì quale e di che tipo... e poi nell'implementazione è opportuno attenersi a questa scelta.
Salve prof, Il materiale che era disponibile nel 2011/12 è ancora negli stessi indirizzi web? Il programma modificato per programma in C ecc..?
quello che è sopravvissuto è a questo indirizzo: elite.polito.it/teaching/past-courses/12bhd-informatica-C
Complimenti molto chiaro. Grazie
Grazie per l'incoraggiamento
Qual è la differenza tra from module import * E import module?
Cosa succederebbe se in una sottoclasse non scriviamo l'istruzione super.__init__() ?
che non sarebbero disponibili gli attributi creati nella superclasse (non vengono ereditati automaticamente se non eseguo la sua init), quindi non sarebbe una vera sottoclasse (nemmeno secondo le regole del Duck Typing). Consideriamolo obbligatorio.
@@fulcorno grazie
Buongiorno professore, per completare l'introduzione al mondo VCS non sarebbe utile menzionare anche il concetto di branch, che è molto usato nella pratica?
Certamente è fondamentale. Purtroppo il tempo a disposizione nelle lezioni è limitato ed occorre focalizzarsi sui temi di utilità nello specifico del corso.
Grazie professore
mi scusi prof ma nell'esercizio #48 il risultato della sottrazione non dovrebbe essere uguale a: 72AD?
Scusi professore, ho un dubbio sull’esercizio 50, nella codifica in CA2, il numero in binario con MSB=1, non dovrebbe essere negativo? Però il 99 è rappresentato con 1 come MSB, che è positivo, non ho ben chiara questa cosa, grazie.
Io ho fatto una versione con solo il ciclo for esterno, ma 4-5 if ed elif interni
immagino che avrai usato delle variabili "flag" per tenere traccia di informazioni aggiuntive (ad esempio sono dentro/fuori da una parola), perché analizzando un carattere per volta non sono sicuro che si riescano a cogliere tutti i casi possibili.
@@fulcorno in realtà no, solamente i metodi standard (isupper, islower, isspace, isalpha). Non so giudicarlo rispetto a quello fatto da lei in termini di eleganza/efficienza. Lo lascio qui se può essere di interesse frase = 'oggiA, Piero, mio caro amico, è anDato AAzz a Pescare! con Antonio B.r, mentre PIERINO resta a casa' frase_modificata = frase + ' ' candidato_nome = '' lettera_precedente = '' for lettera in frase_modificata: # scorriamo tutti i caratteri della frase, uno alla volta if lettera.isupper() and candidato_nome == '' and lettera_precedente.isspace(): # abbiamo trovato un candidato nuovo nome candidato_nome += lettera # iniziamo a comporre la parola elif lettera.isupper(): # in tutti gli altri casi, se becchiamo un'altra maiuscola a metà parola.. candidato_nome = '' # cancelliamo tutto... andata male elif lettera.islower() and candidato_nome != '' and lettera_precedente.isalpha(): # se troviamo una minuscola e abbiamo iniziato a comporre.. (ma non se c'era una non lettera in mezzo) candidato_nome += lettera # ..andiamo avanti ad aggiungere elif lettera == ' ': # se arriva uno spazio (o siamo alla fine) e abbiamo qualcosa nel contenitore.. if len(candidato_nome) > 1: print(candidato_nome) # lo stampiamo evviva! candidato_nome = '' # e azzeriamo il nuovo nome, pronti per cercare il prossimo lettera_precedente = lettera # ci salviamo la lettera prima di passare alla prossima
Buongiorno Gent.mo docente, dove posso trovare il file province.csv per svolgere l'esercizio?
grazie mille per il video!! lei almeno ha spiegato con calma i suoi esempi a differenza del mio insegnante
esiste un modo per mostrare l'output in "Output" o "Debug Console" ma non in "Terminal"? Perchè mi scoccia vedere il percorso dell interprete e del file ogni volta
anche a me scoccia, ma non ho trovato una soluzione che mi piaccia. Alcuni hanno suggerito l'estensione "Code Runner" (marketplace.visualstudio.com/items?itemName=formulahendry.code-runner), ma non mi ispira troppa fiducia. Se trovi una soluzione migliore, faccelo sapere!
Lei è veramente il king
Scusi prof, non ho capito perché 3:7 abbia resto 3
Salve Prof volevo chiederle una cosa sulle funzioni ,quando sviluppo una funzione per farla partire inserisco nel def_main il nome della funzione e poi main().Le invio una parte del programma: def stampa_griglia(griglia): for riga in griglia:#itera nella riga for ch in riga:#itera lettera print(ch,end=' ') print() Nel def main() stampa_griglia(griglia) perchè mi chiede di inserire griglia= Grazie e buona giornata
i parametri alle funzioni si possono passare in due modi: per posizione o per nome. Quindi, se i miei dati sono nella variabile 'g', posso chiamare la funzione con stampa_griglia(g) # il valore di g viene passato al primo parametro della funzione oppure stampa_griglia(griglia=g) # il valore di g viene passato al parametro che si chiama 'griglia' nella funzione Quindi sono due modi diversi, alternativi, entrambi corretti.
Professore come ha fatto a trasformare A in codice binario?
Salve professore, le chiedo se il corso di Tecniche di Programmazione 23/24 verrà effettivamente erogato usando linguaggio Python. Grazie!
sì, confermo. Daremo però per scontata la conoscenza dei concetti della programmazione ad oggetti in Java, faremo una parte iniziale sugli oggetti in Python, ma gli studenti del corso già conosceranno in concetti OOP.
Molto chiaro prof! grazie
Buongiorno Professor Corno, come si chiama il software da lei usato come lavagna digitale con i quadretti e dove disegna i diagrammi? È free o a pagamento? Grazie
si chiama OpenBoard, ed è assolutamente gratuito: openboard.ch/index.it.html
@@fulcorno Grazie mille! Lei usa una penna su tavoletta grafica per tracciare le figure/scrivere su OpenBoard? Oppure semplicemente il mouse?
una tavoletta grafica con la penna è essenziale, con il mouse si farebbero solo schifezze perdendo molto tempo
mi era capitato proprio questo esercizio all'esame un anno fa! :)
Spero che sia andato bene... Non era difficile, ma molti si sono incasinati perché era un po' diverso
Salve Prof mi scusi se la disturbo, la ringrazio per la dritta sulle librerie scipy ,sto sviluppando un programma sulle matrici e il calcolo del loro determinante, ma le volevo chiedere per inserire numeri negativi nella matrice come faccio? Le spiego per creare una matrice utilizzo while !=" "inserendo i vari valori, ovviamente quando inserisco il simbolo - il programma mi va in errore mi sfugge qualcosa? come posso ovviare ?Ps ho seguito le sue lezioni e ho acquisito il fatto che nella realizzazione di un programma scorporo il programma in varie funzioni ed è veramente piu gestibile un programma ogni funzione fa il suo lavoro ,grazie ancora Prof tutto quello che so su Python lo devo a lei e i sui insegnamenti . grazie e buona giornata
Salve Prof le mando la parte di codice di lettura: def crea_matrice(): matrice = [] valori_matrice = input('Inserisci valore della matrice A: ') while valori_matrice != '': riga =(valori_matrice) matrice.append(riga) valori_matrice = input('Inserisci valore della matrice A: ') return matrice def stampa_matrice(matrice): for riga in matrice: for c in riga: print(float(c),end=' ') print() return matrice poi in un'altra funzione trasformo i valori stringa in float Esempio di calcolo del determinante in una matrice 2x2 e la sua inversa: def calcolo_matrice_inversa_2x2(matrice): import numpy as np from scipy import linalg a11 = float(matrice[0][0]) a12 = float(matrice[0][1]) a21 = float(matrice[1][0]) a22 = float(matrice[1][1]) a = np.array([[a11, a12],[a21, a22]]) # A singular matrix #a = np.array(det_matrice_3x3(matrice)) # A singular matrix # linalg.det(a) #linalg.inv(a) if linalg.det(a) == 0: return print(f'il determinante è {linalg.det(a)} la matrice non è invertibile') else: return print(f'La matrice inversa è :{linalg.inv(a)} mentre il determinante è :{linalg.det(a)}') Grazie Prof
Salve Prof volevo sapere se quest'anno fara' dei video riguardanti le classi su Python, grazie sempre per le sue belle lezioni e le auguro buona serata
No, non fa parte del programma di questo corso. Però da marzo inizierò un corso di Tecniche di Programmazione per ing. gestionale (terzo anno), dove nel primo mese faremo classi e oggetto in Python.
ok grazie Prof
grazie mille per aver reso disponibile il corso.
grazie a voi per l'incoraggiamento (p.s. questo è un corso del 2021/22, c'è anche la versione più recente del 2023/24... anche se non è cambiato molto)
grazie mille anche da parte mia. volevo chiederle, prima di dover riguardare tutto il corso :P, l'URL del sito dove incollando le porzioni di codice si può vedere il disegnino di quello che accade (dove puntano le variabili etc). sperando di essermi spiegata, attendo cortese riscontro :)
pythontutor.com/
Grazie Prof colgo l’occasione per augurarle buon Natale
Salve Prof volevo chiederle un consiglio, sto realizzando un programma sulle matrici , per realizzare una matrice triangolare superiore o inferiore dovrei utilizzare l'algoritmo di eliminazione di Gauss come posso realizzarlo ?Qualche consiglio su quali strumenti usare di Python
Salve. Ma prima dei diagrammi di flusso non sarebbe meglio imparare i codici del linguaggio ?
in effetti è un mio dilemma da sempre. Bisognerebbe forse introdurli in parallelo. Personalmente non uso molto i diagrammi di flusso, preferisco lo pseudo-codice perché riesco a scriverlo a più alto livello rispetto ad un flow chart. Grazie per lo spunto di riflessione.
@@fulcorno grazie per la risposta. Cosa intenti per pseudo codice?
Si tratta di una descrizione testuale, non formalizzata in nessun linguaggio di programmazione, ma che rappresenta in modo schematico l'algoritmo utilizzato. Ad esempio usando elenchi numerati di operazioni da svolgere, identificando operazioni da ripetere in ciclo, ecc., con costrutti del linguaggio naturale (italiano). Vedi: en.wikipedia.org/wiki/Pseudocode
molto interessante, grazie Professore. Quando ho seguito questo corso l'anno scorso con altro docente non era stato nemmeno accennato.
Non è un argomento presente nel programma del corso. Anche io non l'avevo mai trattato. Da quest'anno ho deciso di fare qualche video "extra" (non trattato in aula) per stuzzicare la curiosità e fare intravedere cosa c'è oltre alle conoscenze di base che diamo nel corso.
Buongiorno professore, ho 15 anni e faccio la 2° di un istituto tecnico economico, volevo innanzitutto ringraziarla per questi 40 video di lezioni fornite gratuitamente, poi volevo avere un consiglio se possibile; Nel tempo libero sto imparando la programmazione web, front-end, con JavaScript, HTML e CSS ma non sono molto convinto... Per lei dovrei imparare linguaggi più come C o Python prima?
Buongiorno, e benvenuto/a nel mondo dll'informatica. Secondo me potresti partire dal linguaggio Python, che è più semplice da imparare rispetto al C, ed ha una maggiore facilità di applicazione a problemi pratici. Se vuoi, puoi vedere le mie playlist sul corso "Informatica 14BHD" dal 2020 in avanti (ad esempio: ruclips.net/p/PLqRTLlwsxDL-yRy3U34aImItjkWhcnSdY). Sulla programmazione web, HTML tutto sommato è molto semplice, CSS può diventare abbastanza "contorto". JavaScript è decisamente più complesso, e non conviene iniziarlo come primo linguaggo di programmazione. Potresti vedere il corso che tiene il collega Luigi De Russis alla playlist ruclips.net/p/PLs7DWGc_wmwTg9F9SkP6GWtJ5FV36dIxp&si=IY-_HuSc7UJGskAu , in cui usa Python per sviluppare applicazioni web. Ma, prima, suggerisco di imparare un po' di Python.
@@fulcorno la ringrazio, seguirò i suoi consigli
Buongiorno Prof al minuto 5:00 stiamo parlando di Casting giusto?
Il concetto di "casting" è diverso nei diversi linguaggi di programmazione. In alcuni casi, l'operazione di casting converte un valore in un altro tipo di dato (esempio: casting da float a int in C), altre volte converte solo il tipo del riferimento senza modificare il dato (esempio: casting di un int* in un float* in C, in cui non avviene nessuna conversione, ma i dati vengono "letti" da un puntatore di tipo diverso), in altre ancora è un'operazione permessa solo tra tipi compatibili (esempio: in Java posso fare casting tra un oggetto di una classe in una sua super-classe (sempre) o sotto-classe (solo se l'oggetto vi appartiene realmente)). In Python si preferisce parlare di un funzione (int, float, str, ... sono funzioni predefinite, e non sono parole chiave del linguaggio), che CREANO UN NUOVO OGGETTO di quel tipo A PARTIRE da un valore che può essere di un tipo diverso... sempre che sia possibile. Quindi preferisco parlare di FUNZIONE DI CONVERSIONE (o brevemente: CONVERSIONE) verso un diverso tipo di dato. Usando la terminologia a oggetti, la funzione int() è un costruttore di un oggetto di tipo int, e l'argomento del costruttore può essere di diversi tipi supportati. Quindi rispetto al 'casting' del C il concetto è allo stesso tempo più semplice (funziona sempre nello stesso modo) e più potente.
Buonasera Professore. Finalmente iniziamo ad entrare nel vivo della programmazione in Python. La seguo sempre volentieri 🙂
Beh, siamo ancora agli inizi... però cerchiamo di divertirci un po'