Commit 1eedd1e8 authored by Niccolò Izzo's avatar Niccolò Izzo
Browse files

Update day_1.md

parent a62cd8f0
...@@ -608,7 +608,7 @@ for i in [0, 1, 2, 3, 4, 5, 6, 7]: ...@@ -608,7 +608,7 @@ for i in [0, 1, 2, 3, 4, 5, 6, 7]:
- Porzioni riusabili di un programma - Porzioni riusabili di un programma
- Il concetto più importante per costruire un programma - Il concetto più importante per costruire un programma
- Ci permettono di dare un nome a un blocco di istruzioni - Ci permettono di dare un nome a un blocco di istruzioni
- E di eseguirlo un numero qualsiasi di volte, "chiamando" la funzione - E di eseguirle quando vogliamo, "chiamando" la funzione
- Si definiscono con la keyword `def` - Si definiscono con la keyword `def`
---- ----
...@@ -628,8 +628,8 @@ say_hello() # chiama la funzione di nuovo ...@@ -628,8 +628,8 @@ say_hello() # chiama la funzione di nuovo
## Parametri e Argomenti ## Parametri e Argomenti
- Le funzioni posso specificare dei "parametri" - Le funzioni possono specificare dei "parametri"
- ogni volta che si chiama la funzione, il loro valore viene assegnato - Se si chiama la funzione, bisogna assegnargli dei valori
- I valori che vengono passati durante la chiamata sono detti "argomenti" - I valori che vengono passati durante la chiamata sono detti "argomenti"
---- ----
...@@ -662,13 +662,29 @@ Notes: ...@@ -662,13 +662,29 @@ Notes:
## Lo statement `global` ## Lo statement `global`
- Permette di definire una variabile globale all'intero di una funzione - Permette di definire una variabile globale all'intero di una funzione
- Unico modo per modificare una variabile definita fuori dalla funzione
```python
>>> x = 3
>>> def increment_x():
... global x
... x = x + 1
...
>>> increment_x()
>>> x
4
```
Notes:
Accennare alle virtù della programmazione priva di side effects.
---- ----
### Argomenti di default ### Argomenti di default
- Alcuni parametri possono essere dichiarati opzionali - Alcuni parametri possono essere resi opzionali
- Si fa assegnando ai parametri dei valori di default
- Se omettiamo l'argomento, la funzione userà quello di default - Se omettiamo l'argomento, la funzione userà quello di default
...@@ -693,7 +709,7 @@ def f(a, b=3, c=6): ...@@ -693,7 +709,7 @@ def f(a, b=3, c=6):
## None ## None
- Equivale al `NULL` di C o Java - Equivale al `NULL` di C o Java
- Valore restituido quando il `return` viene omesso - Valore restituito quando il `return` viene omesso
--- ---
...@@ -703,11 +719,10 @@ def f(a, b=3, c=6): ...@@ -703,11 +719,10 @@ def f(a, b=3, c=6):
## Moduli ## Moduli
- Riutilizzare funzioni o tenere un programma ordinato - Riutilizzare codice di altri programmi (o librerie)
- Suddividere un programma complesso in piccoli pezzi
- Semplicemente un file con estensione .py - Sono file con estensione `.py`
- Un modulo può essere importato con la keyword `import`
- Un modulo può essere importato da un altro programma
```python ```python
...@@ -723,7 +738,7 @@ def f(a, b=3, c=6): ...@@ -723,7 +738,7 @@ def f(a, b=3, c=6):
Permette di importare solo alcune funzioni Permette di importare solo alcune funzioni
```python ```python
>>> from math import sqrt >>> from math import s3qrt
>>> sqrt(16) >>> sqrt(16)
4.0 4.0
``` ```
...@@ -751,7 +766,7 @@ else: ...@@ -751,7 +766,7 @@ else:
## I/O ## I/O
- A volte può; essere utile interagire con l'utente - A volte può essere utile interagire con l'utente
- Per esempio chiedere valori in ingresso e stampare risultati - Per esempio chiedere valori in ingresso e stampare risultati
- Useremo `input()` per ricevere dei valori e `print()` per stamparli. - Useremo `input()` per ricevere dei valori e `print()` per stamparli.
...@@ -824,7 +839,8 @@ except ValueError: ...@@ -824,7 +839,8 @@ except ValueError:
- Per esempio quando una funzione non è in grado di gestire alcuni input - Per esempio quando una funzione non è in grado di gestire alcuni input
- Dovranno essere gestite (catturate) dal chiamante della funzione, altrimenti l'utente vedrà un messaggio di errore - Dovranno essere gestite (catturate) dal chiamante della funzione,
altrimenti l'utente vedrà un messaggio di errore
```python ```python
def mandaEmail(email, testo): def mandaEmail(email, testo):
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment