You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: episodes/06-libraries.md
+19-33Lines changed: 19 additions & 33 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -48,7 +48,7 @@ quindi non preoccupatevi se li mischiate.
48
48
## Un programma deve importare un modulo di libreria prima di utilizzarlo.
49
49
50
50
- Usare `import` per caricare un modulo di libreria nella memoria di un programma.
51
-
-quindi fare riferimento agli elementi del modulo come `module_name.thing_name`.
51
+
-Quindi fare riferimento agli elementi del modulo come `module_name.thing_name`.
52
52
- Python usa `.` per indicare "parte di".
53
53
- Utilizzo di `math`, uno dei moduli della libreria standard:
54
54
@@ -122,7 +122,7 @@ cos(pi) is -1.0
122
122
123
123
- Usare `import ... as ...` per dare a una libreria un breve *alias* durante
124
124
l'importazione.
125
-
-quindi fare riferimento agli elementi della libreria usando questo nome abbreviato.
125
+
-Quindi fare riferimento agli elementi della libreria usando questo nome abbreviato.
126
126
127
127
```python
128
128
import math as m
@@ -135,14 +135,14 @@ cos(pi) is -1.0
135
135
```
136
136
137
137
- comunemente usato per le librerie usate di frequente o con nomi lunghi.
138
-
- Ad esempio, la libreria di plottaggio`matplotlib` è spesso indicata con l'alias
138
+
- Ad esempio, la libreria per grafici`matplotlib` è spesso indicata con l'alias
139
139
`mpl`.
140
140
- Ma può rendere i programmi più difficili da capire, poiché i lettori devono imparare
141
141
gli alias del programma.
142
142
143
143
::::::::::::::::::::::::::::::::::::::: challenge
144
144
145
-
## Esplorazione del modulo matematico
145
+
## Esplorazione del modulo math
146
146
147
147
1. Quale funzione del modulo `math` si può usare per calcolare una radice quadrata
148
148
*senza* usare `sqrt`?
@@ -156,9 +156,7 @@ cos(pi) is -1.0
156
156
potremmo usare `pow(x, 0.5)` per trovare una radice quadrata.
157
157
158
158
2. La funzione `sqrt(x)` è probabilmente più leggibile di `pow(x, 0.5)`
159
-
nell'implementazione delle equazioni. La leggibilità è una pietra miliare della buona
160
-
programmazione, quindi ha senso fornire una funzione speciale per questo specifico
161
-
caso comune.
159
+
nell'implementazione delle equazioni. La leggibilità è una pietra miliare della buona programmazione, quindi ha senso fornire una funzione speciale per questo specifico caso comune.
162
160
163
161
Inoltre, il design della libreria `math` di Python ha origine nello standard C, che
164
162
include sia `sqrt(x)` che `pow(x,y)`, quindi un po' di storia della programmazione si
@@ -188,7 +186,7 @@ bases = 'ACTTGCTTGAC'
188
186
189
187
## Soluzione
190
188
191
-
Il [modulo random][randommod] sembra poter essere utile.
189
+
Il [modulo random][randommod] sembra essere utile.
192
190
193
191
La stringa ha 11 caratteri, ognuno dei quali ha un indice posizionale da 0 a 10. Si
una digitazione leggermente inferiore, ma potrebbe essere un po' più difficile da capire
218
-
leggendo:
214
+
[`random.sample`](https://docs.python.org/3/library/random.html#random.sample)? Consente di risparmiare di digitare troppo, ma potrebbe essere un po' più difficile da capire leggendo:
219
215
220
216
```python
221
217
from random import sample
@@ -242,7 +238,7 @@ print(choice(bases))
242
238
243
239
::::::::::::::::::::::::::::::::::::::: challenge
244
240
245
-
## Esempio di programmazione del puzzle (problema di Parson)
241
+
## Jigsaw Puzzle (problema di Parson)
246
242
247
243
Riorganizzare le seguenti istruzioni in modo da stampare una base di DNA casuale e il
248
244
suo indice nella stringa. Non tutte le istruzioni sono necessarie. Sentitevi liberi di
@@ -284,7 +280,7 @@ Quando un vostro collega digita `help(math)`, Python segnala un errore:
284
280
NameError: name 'math' is not defined
285
281
```
286
282
287
-
Cosa ha dimenticato di fare il vostro collega?
283
+
Cosa ha dimenticato di fare?
288
284
289
285
::::::::::::::: solution
290
286
@@ -331,10 +327,7 @@ print(angle)
331
327
```
332
328
333
329
Dal momento che avete appena scritto il codice e avete familiarità con esso, potreste
334
-
trovare la prima versione più facile da leggere. Ma quando si cerca di leggere un enorme
335
-
pezzo di codice scritto da qualcun altro, o quando si torna al proprio enorme pezzo di
336
-
codice dopo diversi mesi, i nomi non abbreviati sono spesso più facili, a meno che non
337
-
ci siano chiare convenzioni di abbreviazione.
330
+
trovare la prima versione più facile da leggere. Ma quando si cerca di leggere un molte righe di codice, scritte da qualcun altro, o quando si rivede dopo diversi mesi, i nomi non abbreviati sono spesso più facili, a meno che non ci siano chiare convenzioni di abbreviazione.
338
331
339
332
340
333
@@ -346,7 +339,7 @@ ci siano chiare convenzioni di abbreviazione.
346
339
347
340
## Ci sono molti modi per importare le librerie!
348
341
349
-
abbinare le seguenti istruzioni di stampa alle chiamate di libreria appropriate.
342
+
Abbinare le seguenti istruzioni di stampa alle chiamate di libreria appropriate.
350
343
351
344
Comandi di stampa:
352
345
@@ -365,14 +358,10 @@ Chiamate di libreria:
365
358
366
359
## Soluzione
367
360
368
-
1. Chiamate di libreria 1 e 4. Per fare riferimento direttamente a `sin` e `pi` senza il
369
-
nome della libreria come prefisso, è necessario usare l'istruzione `from ... import
370
-
...`. Mentre la chiamata di libreria 1 importa specificamente le due funzioni `sin` e
371
-
`pi`, la chiamata di libreria 4 importa tutte le funzioni del modulo `math`.
372
-
2. Chiamata alla biblioteca 3. In questo caso, `sin` e `pi` sono indicati con il nome
373
-
abbreviato di libreria `m` invece di `math`. La chiamata di libreria 3 fa esattamente
374
-
questo usando la sintassi `import ... as ...`: crea un alias per `math` sotto forma
375
-
di nome abbreviato `m`.
361
+
1. Chiamate di libreria 1 e 4. Per fare riferimento direttamente a `sin` e `pi` senza il nome della libreria come prefisso, è necessario usare l'istruzione `from ... import
362
+
...`. Mentre la chiamata di libreria 1 importa specificamente le due funzioni `sin` e `pi`, la chiamata di libreria 4 importa tutte le funzioni del modulo `math`.
363
+
2. Chiamata alla libreria 3. In questo caso, `sin` e `pi` sono indicati con il nome
364
+
abbreviato di libreria `m` invece di `math`. La chiamata di libreria 3 fa esattamente questo usando la sintassi `import ... as ...`: crea un alias per `math` sotto forma di nome abbreviato `m`.
376
365
3. Chiamata di libreria 2. Qui `sin` e `pi` sono indicati con il normale nome di
377
366
libreria `math`, quindi è sufficiente la normale chiamata `import ...`.
378
367
@@ -395,7 +384,7 @@ libreria 4 non fornisce questa informazione.
395
384
## Importazione di elementi specifici
396
385
397
386
1. Riempire gli spazi vuoti in modo che il programma sottostante stampi `90.0`.
398
-
2. Trovate questa versione più facile da leggere rispetto alle precedenti?
387
+
2. Trovate quale version è più facile da leggere rispetto alle precedenti.
399
388
3. Perché i programmatori non dovrebbero usare sempre questa forma di `import`?
400
389
401
390
```python
@@ -416,9 +405,7 @@ print(angle)
416
405
417
406
Molto probabilmente questa versione è più facile da leggere, perché è meno densa. La
418
407
ragione principale per non usare questa forma di importazione è quella di evitare
419
-
scontri di nomi. Per esempio, non si importerebbe `degrees` in questo modo se si volesse
420
-
usare anche il nome `degrees` per una propria variabile o funzione. O se si importasse
421
-
anche una funzione chiamata `degrees` da un'altra libreria.
408
+
scontri di nomi. Per esempio, non si importerebbe `degrees` in questo modo se si volesse usare anche il nome `degrees` per una propria variabile o funzione. O se si importasse anche una funzione chiamata `degrees` da un'altra libreria.
422
409
423
410
424
411
@@ -454,8 +441,7 @@ ValueError: math domain error
454
441
455
442
1. Il logaritmo di `x` è definito solo per `x > 0`, quindi 0 è fuori dal dominio della
456
443
funzione.
457
-
2. Si ottiene un errore del tipo `ValueError`, che indica che la funzione ha ricevuto un
458
-
valore di argomento inappropriato. Il messaggio aggiuntivo "errore del dominio
444
+
2. Si ottiene un errore del tipo `ValueError`, che indica che la funzione ha ricevuto un valore di argomento inappropriato. Il messaggio aggiuntivo "errore del dominio
459
445
matematico" chiarisce il problema.
460
446
461
447
:::::::::::::::::::::::::
@@ -472,7 +458,7 @@ ValueError: math domain error
472
458
473
459
- La maggior parte della potenza di un linguaggio di programmazione è nelle sue
474
460
librerie.
475
-
- Un programma deve importare un modulo di libreria per poterlo utilizzare.
461
+
- Un programma deve importare un modulo di una libreria per poterlo utilizzare.
476
462
- Usare `help` per conoscere il contenuto di un modulo di libreria.
477
463
- Importazione di elementi specifici da una libreria per abbreviare i programmi.
478
464
- Creare un alias per una libreria quando la si importa per abbreviare i programmi.
0 commit comments