Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
I
intro
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
Operations
Operations
Incidents
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Corsi
Slides Corsi Python
intro
Commits
976562fe
Commit
976562fe
authored
Apr 06, 2018
by
edne
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Revisione giorno 1
parent
058c9f08
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
49 additions
and
58 deletions
+49
-58
day_1.md
day_1.md
+49
-58
No files found.
day_1.md
View file @
976562fe
...
...
@@ -2,21 +2,20 @@

-
Niccolò Izzo
`<izzo.niccolo_chiocciola_gmail.com>`
-
Tancredi Orlando
`<tancredi_chiocciola_coselosche.org>`
-
Mario Antani
[
antani at gmx.com
](
)
-
Mario Antani
[
antani at gmx.com
](
)
----
Potete ottenere questa presentazione recandovi all'indirizzo:
[
slides.poul.org/201
7/python
](
https://slides.poul.org/2017
/python
)
[
slides.poul.org/201
8/python
](
https://slides.poul.org/2018
/python
)
---
#
Perché Python?
Perché Python?
-
Ottimo per i principianti
-
Facile da usare
...
...
@@ -116,7 +115,7 @@ Type "help", "copyright", "credits" or "license" for more info...
Hello world!
```
Per uscire:
`quit()`
Per uscire:
`quit()`
o
`CTRL-D`
Notes:
Mostrare la differenza tra interprete (il software che converte le istruzioni
...
...
@@ -164,9 +163,7 @@ Traceback (most recent call last):
ZeroDivisionError: division by zero
```
Il segreto degli hacker? Leggere le scritte!
(
[
Lettura consigliata
](
http://www.girodivite.it/Diario-di-un-aspirante-hacker.html
)
)
Il segreto degli
[
hacker
](
http://www.girodivite.it/Diario-di-un-aspirante-hacker.html
)
? Leggere le scritte!
----
...
...
@@ -214,9 +211,7 @@ Il segreto degli hacker? Leggere le scritte!
----
## Interi (`int`)
Cifre senza punto
## Numeri interi (`int`)
```
12 # notazione decimale
...
...
@@ -226,12 +221,10 @@ Cifre senza punto
----
## Decimali (`float`)
Cifre con punto
## Numeri decimali (`float`)
```
>>> 3.14 + 1.23
4
>>> 3.14 + 1.23
4.3740000000000006
```
...
...
@@ -274,8 +267,8 @@ int
## Booleani (`bool`)
-
Possono assumere due valori:
`True`
o
`False`
-
Supportano operazioni logiche (
`and`
,
`or`
,
`not`
)
-
Possono assumere due valori:
**True**
o
**False**
-
Supportano operazioni logiche (
**and**
,
**or**
,
**not**
)
-
Sono il risultato delle operazioni di confronto
----
...
...
@@ -302,6 +295,8 @@ False
----
## Short-circuit evaluation
```
>>> (3.14 < 2) or print('Hello world!')
Hello world!
...
...
@@ -414,6 +409,10 @@ lista = [False, 1, "due", 3.0, 4, 5]
['due', 3.0, 4]
```
----
### Slicing
-
È possibile indicare tutti gli elementi dall'inizio o fino alla fine di una
lista omettendone l'indice
...
...
@@ -424,6 +423,13 @@ lista = [False, 1, "due", 3.0, 4, 5]
[4, 5, 'sei']
```
-
Utilizzando indici negativi si parte a contare dal fondo
```
>>> lista[-4:]
[3.0, 4, 5, 'sei'] # ultimi 4 elementi
```
----
### Unpacking
...
...
@@ -758,6 +764,8 @@ Hello world!
-
I parametri diventano variabili visibili all'interno della funzione per essere
usati
----
## Valore di ritorno
-
Il valore di ritorno è ciò che fornisce in uscita la funzione, il proprio
...
...
@@ -765,8 +773,6 @@ Hello world!
-
Lo si specifica inserendo l'istruzione
`return`
seguita dal valore di ritorno
-
La funzione termina subito dopo l'istruzione return
----
```
>>> def somma(a, b):
... return a + b
...
...
@@ -811,7 +817,7 @@ def f(a, b=3, c=6):
## Scoping
-
Lo scoping
modific
a la
**visibilità**
delle variabili
-
Lo scoping
determin
a la
**visibilità**
delle variabili
-
Le variabili definite all'interno di uno scope sono accessbili solo al
suo interno
-
Gli scope sono definiti da funzioni, classi e moduli
...
...
@@ -867,25 +873,6 @@ assegnata. Infatti dentro la funzione la variabile `x` non esiste.
----
### Evadere dallo scope
È tuttavia possibile accedere in scrittura a una variabile globale,
specificandolo esplicitamente con l'istruzione
**`global`**
.
```
>>> x = 'globale'
>>> def f():
... global x
... print(x)
... x = 'variabile ' + x
... print(x)
>>> f()
globale
variabile globale
```
----
## None
-
Equivale al
`NULL`
di C
...
...
@@ -980,10 +967,10 @@ importati alcuni elementi con la sintassi `from ... import`.
----
È possibile eseguire del codice solo se il modulo è eseguito direttamente
e non è stato importato (o il contrario)
È possibile eseguire del codice solo se il file è eseguito direttamente
e non è stato importato come modulo
```
python
if __name__ == '__main__':
print('Programma eseguito direttamente')
else:
...
...
@@ -1035,6 +1022,12 @@ Successfully installed shouty-0.1.dev6
'Corsi antani avanzati'
```
```
from math import pi
>>> '{:.2f}'.format(pi)
3.
14
```
----
## Input dall'utente
...
...
@@ -1107,6 +1100,7 @@ with open("documento.txt", "w") as f:
- All'interno del blocco, `f` è un riferimento al file
- Non serve chiudere esplicitamente
- Se vengono sollevati errori o eccezioni il file viene chiuso
- Usate `with` quando potete
----
...
...
@@ -1124,7 +1118,6 @@ FileNotFoundError: [Errno 2] No such file or directory ...
```
- Queste situazioni si chiamano **eccezioni**.
-
Gli errori hanno un nome.
----
...
...
@@ -1137,15 +1130,15 @@ FileNotFoundError: [Errno 2] No such file or directory ...
```
>>> try:
... f = open("documento.txt", "r")
... with open("documento.txt", "r") as f:
... print('Do stuff')
... except FileNotFoundError:
... print("Acciderba, questo file non esiste! Lo creo.")
... f = open("documento.txt", "w")
... print("Ops")
```
----
I più ardimentosi possono anche "
alz
are" eccezioni all'interno del proprio
I più ardimentosi possono anche "
sollev
are" eccezioni all'interno del proprio
codice con l'istruzione `raise`.
```
...
...
@@ -1161,14 +1154,12 @@ Exception: No internet connection!
Lunedì 15 alle 17.15 in aula 5.0.3.
-
Programmazione funzionale
-
Lambda
-
List comprehensions
-
Generatori
-
Programmazione orientata agli oggetti
-
Classi
-
Metodi
-
Ereditarietà
- List comprehensions
- Decoratori
- yield
- Classi
- Metodi
- Ereditarietà
----
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment