-
Title:
cs101_unit2_07_l_Using-Procedures
-
Description:
-
Sfortunatamente, non siamo ancora pronti per essere del tutto sorridenti.
-
Sebastian mi ha detto ci vorrà ancora qualche anno prima che possa avere
-
la mia auto "self-driving", ma il problema maggiore di cui non abbiamo ancora parlato
-
è come usare veramente la procedura.
-
Quello che abbiamo fatto è crearne, finchè non ne useremo veramente
-
non abbiamo ancora una buona ragione per essere veramente felici.
-
Impareremo ad usarle e poi torneremo ad essere sorridenti.
-
Impareremo ora ad usare le procedure.
-
Il modo di usare una procedura. Ci servirà il nome della procedura, seguito da
-
una parentesi aperta, seguita da una lista di inputs.
-
Può esserci qualsiasi numero di input, ma deve essere lo stesso numero di inputs che
-
la procedura si aspetta.
-
Questi input sono a volte chiamati "operandi".
-
Altre volte sono chiamati "argomenti".
-
Non discuteremo su questo.
-
Li chiameremo semplicemente inputs.
-
Hai realmente già fatto qualcosa di molto simile a questo.
-
Nella Unit 1, hai imparato ad usare "find" su "stringhe".
-
A "find" passeresti uno o due input.
-
Il primo input è una "stringa".
-
Che è la stringa che stai cercando--è il primo input--
-
e il secondo input potrebbe essere un numero--la posizione da cui partire
-
nella ricerca di tale stringa.
-
Abbiamo usato "find" in molti modi nella Unit 1, così come l'hai usata
-
da te nell'homework per l'Unit 1.
-
"find" è un po' diversa dalla procedura che hai definito.
-
Prima di tutto, è incorporata [built in].
-
L'altro motivo è che, invece di avere solo "find", abbiamo
-
un'altro input coinvolto.
-
Abbiamo la stringa sulla quale operiamo "find", diciamo
-
sia la variabile "page"--che è davvero un altro input a "find".
-
Parleremo in un corso successivo del perchè questo sia diverso, ma è
-
molto simile a chiamare una procedura dove uno degli input è implicito
-
e gli altri due sono espliciti.
-
E' un po' diverso da questo e non ci addentreremo oltre in questo corso ma
-
in un corso successivo impareremo di più su cosa questo significhi realmente.
-
Per tutte le procedure che stai definendo, non avremo nessun
-
oggetto su cui invocarle.
-
Avremo solo la procedura da chiamare e gli argomenti o operandi o input,
-
come preferisci chiamarli, da passare in ingresso.
-
Vediamo ora come ciò funziona con una semplice procedura.
-
Definisco la procedura "restofstring" e gli daremo
-
parametro "s", che significa che prende un input e useremo
-
il nome "s" per riferirci al valore dell'input.
-
Gli faremo ritornare una stringa dal primo carattere alla fine.
-
Uiseremo l'operatore di indiczzazione della stringa "return s[1:]".
-
Questo valuterà la "stringa", rimuovendo il primo carattere, e questo per tutte le stringhe, da
-
posizione 1 fino alla fine della "stringa".
-
Questo è quello che ritorniamo.
-
Quindi l'output di "restofstring" è la stringa che parte dalla
-
seconda lettera della stringa in ingresso.
-
Qui c'è un esempio di come usare questa procedura.
-
Possiamo chiamarla direttamente.
-
Possiamo dire "print restofstring".
-
E' la nostra procedura.
-
Ora metteremo la nostra parentesi e passeremo un input.
-
C'è un parametro a "restofstring", così dobbiamo
-
passare in ingresso un input che dovrebbe essere una "stringa".
-
Passeremo la stringa "audacity".
-
Quello che succede quando chiamiamo la procedura, è che l'esecuzione salterà
-
al corpo della procedura.
-
Possiamo pensare a costa sta facendo ora l'interprete.
-
Invece di eseguire il codice qui,l'interprete si moverà.
-
Quando chiamiamo una procedura, salterà al codice dentro la procedura.
-
Assegnerà ai parametri i valori passati come input.
-
Possiamo pensare ci sia un assegnamento che dice che ora il valore
-
"s" è il valore dell'input da passare in ingresso.
-
Ora valuteremo il corpo della procedura.
-
In questo caso c'è una sola istruzione--è l'istruzione di return.
-
Troveremo che il valore in uscita è s[1:].
-
Il risultato sarà quindi la stringa "udacity".
-
Poi abbiamo il valore di ritorno.
-
"return" significa che salteremo indietro.
-
Stiamo saltando indietro a dove abbiamo chiamato la procedura, ma ora
-
abbiamo davvero un risultato.
-
Quando saltiamo indietro, il valore che questo valuta è qualsiasi valore
-
abbiamo ritornato.
-
In questo caso è la stringa "udacity".
-
Non abbiamo la nostra auto "self--driving", ma ora puoi
-
definire ed usare le procedure.
-
E' un concetto davvero potente. Qualsiasi cosa faremo nel proseguo del corso e qualsiasi cosa
-
Qualsiasi cosa faremo nel proseguo del corso e qualsiasi cosa
-
praticamente tutti quelli che programmano computers hanno a che fare con definire
-
procedure ed utilizzare procedure.
-
Ora dovremmo avere un gran sorriso.
-
Possiamo pensare alle nostre procedure in termini di mappare input e output.
-
Possiamo pensare anche a noi umani come a una mappatura di input e output.
-
x
-
dalla bocca--magari anche dal naso.
-
Non proverò a disegnare nessuno degli output della nostra procedura umana, ma dal momento
-
che le procedure sono un concetto così importante, avremo diversi
-
quiz ora che verificheranno che tu li abbia capiti bene.
-
Not Synced
Al di fuori della procedura--quando arriviamo alla riga 7--"s" è non definito.
-
Not Synced
Così ora stiamo provando a stampare.
-
Not Synced
E' un concetto davvero potente.
-
Not Synced
Ghiamiamo ora "t".
-
Not Synced
La definizione di "s" dura finchè siamo all'interno della procedura.
-
Not Synced
Nel corpo della procedura, il parametro "s" ha un valore che
-
Not Synced
Nel corpo della procedura, il valore di "s"
-
Not Synced
Non abbiamo la nostra auto "self--driving", ma ora puoi
-
Not Synced
Non proverò a disegnare nessuno degli output della nostra procedura umana, ma dal momento
-
Not Synced
Non è definito.
-
Not Synced
Ora puoi pensare che stampi "s" prima di usare il nome "s" qui.
-
Not Synced
Possiamo fare quello che vogliamo col risultato della procedura--come ogni
-
Not Synced
Possiamo pensare alle nostre procedure in termini di mappare input e output.
-
Not Synced
Possiamo pensare anche a noi umani come a una mappatura di input e output. Abbiamo input che vengono dagli occhi,
-
Not Synced
Possiamo vedere "s" mentre è in "restofstring".
-
Not Synced
Possiamo vedere che l'esecuzione è cominciata dalla print;
-
Not Synced
Quando eseguiamo ciò, quello che otteniamo è un errore.
-
Not Synced
Quello che voglio farvi vedere--supponiamo non chiameremo quella "s"
-
Not Synced
Questo è il perchè dell'errore di nome quando stampiamo il valore di "s" qui.
-
Not Synced
Quindi vediamo i i risultat "udacity".
-
Not Synced
Vedremo il "Sono qui" in "reat:of:string.
-
Not Synced
altra espressione in Python, così possiamo memorizzare una variabile
-
Not Synced
che le procedure sono un concetto così importante, avremo diversi quiz ora che verificheranno che tu li abbia capiti bene.
-
Not Synced
che è il risultato che abbiamo nel tabulato.
-
Not Synced
chiamare "restofstring", eseguire questo codice, ritornare il risultato
-
Not Synced
dalla bocca, magari anche dal naso.
-
Not Synced
definire ed usare le procedure.
-
Not Synced
praticamente tutti quelli che programmano computers hanno a che fare con definire procedure ed utilizzare procedure. Ora dovremmo avere un gran sorriso.
-
Not Synced
è passato ai corrispondenti church