Commit 4189c6a5 authored by edne's avatar edne
Browse files

Update day_1.md

parent 4f02ef8f
......@@ -328,9 +328,30 @@ tupla = ('a', 1, 2, 'bcd')
### in
```
>>> lista = ['a', 'b', 'c']
>>> 'c' in lista
True
```
----
### Riferimenti
## Riferimenti
- Quando assegnamo un oggetto ad una variabile, la variabile contiene solo un *riferimento* all'oggetto
- **Non** l'oggetto stesso.
```python
>>> spesa_a = ['mela', 'mango']
>>> spesa_b = spesa_a
>>> spesa_b.append('carota')
```
```python
>>> spesa_a
['mela', 'mango', 'carota']
```
----
......@@ -372,7 +393,8 @@ d = {
## Strutture di controllo
TODO: parlare di musica
Notes:
- parlare di musica
----
......@@ -406,26 +428,115 @@ else:
----
### while
## `while`
----
Eseguire più volte le stesse istruzioni (fintantoché una condizione è vera)
```python
>>> x = 0
>>> while x < 3:
... x = x + 1
... print("ora x vale", x)
...
ora x vale 1
ora x vale 2
ora x vale 3
```
### for
--
break e continue?
## `for`
----
Cicli di esecuzione sulle sequenze
### funzioni
```python
for i in [0, 1, 2, 3, 4]:
print i
```
--
## `break`, `continue`
* `break`: interrompe l'iterazione
* `continue`: salta all'iterazione successiva
```python
for i in [0, 1, 2, 3, 4, 5, 6, 7]:
if i == 2:
continue
if i == 6:
break
print(i)
```
----
### Scoping
global?
# Funzioni
--
## Funzioni
* Porzioni riusabili di un programma <!-- .element: class="fragment" -->
* Il concetto più importante per costruire un programma <!-- .element: class="fragment" -->
* Ci permettono di dare un nome a un blocco di istruzioni <!-- .element: class="fragment" -->
* E di eseguirlo un numero qualsiasi di volte, "chiamando" la funzione <!-- .element: class="fragment" -->
* <!-- .element: class="fragment" --> Si definiscono con la keyword `def`
--
## Esempio
```python
def say_hello():
# block belonging to the function
print('hello world')
# End of function
say_hello() # call the function
say_hello() # call the function again
```
--
## Parametri e Argomenti
- Le funzioni posso specificare dei "parametri"
- ogni volta che si chiama la funzione, deve essere passato un valore per ogni parametro
- I valori che vengono passati durante la chiamata sono detti "argomenti"
```python
def test(a, b): # a, b sono i parametri
print(a+b)
test(3, 4) # 3, 4 sono gli argomenti
```
--
## Variabili locali
- Le variabili definite dentro una funzione sono **locali**
- Non sono correlate con variabili dello stesso nome, definite fuori
--
## Lo statement global
- Permette di definire una variabile globale all'intero di una funzione
--
### Argomenti di default
- Alcuni parametri possono essere dichiarati opzionali
- Se omettiamo l'argomento, la funzione userà quello di default
```python
def f(a, b=3, c=6):
print(a, b, c)
......@@ -442,7 +553,20 @@ def f(a, b=3, c=6):
1 3 4
```
### Return
## Il `return` statement
Tramite il `return` la funzione ci dà un risultato
```python
>>> def somma(a, b):
... return a + b
...
>>> somma(1, 2)
3
```
Notes:
- differenza tra restituire un valore e stamparlo
---
......
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