6 999
contributi
S3v (discussione | contributi) (tolto "stub") |
|||
(21 versioni intermedie di 3 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
{{ | {{Acc_Menu_Python}} | ||
== Tipi numerici == | == Tipi numerici == | ||
=== Interi === | === Interi === | ||
Gli interi sono... numeri interi :) | Gli interi sono... numeri interi :) | ||
Riga 29: | Riga 30: | ||
=== Numeri complessi === | === Numeri complessi === | ||
Li tralasciamo. Chi è interessato ora sa che in Python esiste un tipo predefinito per gestirli; si presume che sia in grado di trovare la documentazione autonomamente. | Li tralasciamo. Chi è interessato ora sa che in Python esiste un tipo predefinito per gestirli; si presume che sia in grado di trovare la documentazione autonomamente. | ||
== Booleani == | == Booleani == | ||
Riga 47: | Riga 49: | ||
0 | 0 | ||
</pre> | </pre> | ||
== Sequenze == | == Sequenze == | ||
Riga 81: | Riga 84: | ||
<class 'str'> | <class 'str'> | ||
</pre> | </pre> | ||
Le stringhe possono essere '''indicizzate (indexed)''', cioé la posizione di ogni carattere può essere individuata con un numero intero: | Le stringhe possono essere '''indicizzate (indexed)''', cioé la posizione di ogni carattere può essere individuata con un numero intero: | ||
Riga 92: | Riga 94: | ||
</pre> | </pre> | ||
L'indicizzazione, come mostra la tabella sopra, può essere effettuata sia partendo dal primo carattere (sequenza di numeri positivi) che dall' ultimo (sequenza di numeri negativi). | L'indicizzazione, come mostra la tabella sopra, può essere effettuata sia partendo dal primo carattere (sequenza di numeri positivi) che dall' ultimo (sequenza di numeri negativi). | ||
E' possibile estrapolare porzioni (substring) o singoli caratteri di una stringa per mezzo dello '''slicing''' (taglio). | E' possibile estrapolare porzioni (substring) o singoli caratteri di una stringa per mezzo dello '''slicing''' (taglio). | ||
Riga 148: | Riga 149: | ||
'avorP' | 'avorP' | ||
</pre> | </pre> | ||
Le stringhe possono essere '''concatenate''' con l'operatore '''+''': | Le stringhe possono essere '''concatenate''' con l'operatore '''+''': | ||
Riga 161: | Riga 161: | ||
</pre> | </pre> | ||
Per la manipolazione delle stringhe sono disponibili una serie di '''operazioni comuni a tutte le sequenze''' (mutabili e non, eccetto che per i range), di seguito il link alla documentazione uffciale (prima tabella ): | |||
Per la manipolazione delle stringhe sono disponibili una serie di '''operazioni comuni a tutte le sequenze | |||
* [http://docs.python.org/release/3.1.3/library/stdtypes.html#sequence-types-str-bytes-bytearray-list-tuple-range Sequence Types — str, bytes, bytearray, list, tuple, range] | * [http://docs.python.org/release/3.1.3/library/stdtypes.html#sequence-types-str-bytes-bytearray-list-tuple-range Sequence Types — str, bytes, bytearray, list, tuple, range] | ||
Riga 182: | Riga 181: | ||
{{Box|Nota|Per l'inserimento di oggetti di tipo stringa, é ammesso anche l'uso dei doppi apici}} | {{Box|Nota|Per l'inserimento di oggetti di tipo stringa, é ammesso anche l'uso dei doppi apici}} | ||
Tutti gli oggetti contenuti in una lista sono '''indicizzati (indexed)''' con un valore numerico ed é possibile eseguire lo '''slicing''', analogamente a quanto detto per le stringhe. | Tutti gli oggetti contenuti in una lista sono '''indicizzati (indexed)''' con un valore numerico ed é possibile eseguire lo '''slicing (taglio)''', analogamente a quanto detto per le stringhe. | ||
Le liste, essendo oggetti '''mutabili''', danno la possibilità di: | Le liste, essendo oggetti '''mutabili''', danno la possibilità di: | ||
Riga 217: | Riga 216: | ||
['ho', 46, 'anni'] | ['ho', 46, 'anni'] | ||
</pre> | </pre> | ||
analogamente alle stringhe, le liste possono essere '''concatenate''': | analogamente alle stringhe, le liste possono essere '''concatenate''': | ||
Riga 232: | Riga 230: | ||
['ho', 46, 'anni', 'ho', 46, 'anni'] | ['ho', 46, 'anni', 'ho', 46, 'anni'] | ||
</pre> | </pre> | ||
possiamo '''aggiungere liste come nuovi elementi''', e agire sugli elementi di quest'ultime: | possiamo '''aggiungere liste come nuovi elementi''', e agire sugli elementi di quest'ultime: | ||
Riga 245: | Riga 242: | ||
</pre> | </pre> | ||
Per la manipolazione delle liste si possono effettuare una serie di '''operazioni comuni a tutte le sequenze mutabili''', di seguito il link alla documentazione ufficiale: | |||
* [http://docs.python.org/release/3.1.3/library/stdtypes.html#mutable-sequence-types Mutable sequence types] | |||
Per l'analisi dei '''metodi''' ed ulteriori funzionalità: | |||
* [http://docs.python.org/release/3.1.3/tutorial/datastructures.html#more-on-lists More on Lists] | |||
=== Tuple === | === Tuple === | ||
Per definire una tupla possiamo riprendere quando detto per le liste, insieme ordinato di oggetti. A differenza delle liste le tuple sono oggetti '''immutabili''', non é possibile inserire, modificare o cancellare elementi (oggetti). | |||
Le tuple possono contenere oggetti mutabili come loro elementi. | |||
Per creare una tupla la sintassi è la seguente: | |||
<pre> | |||
>>> tricolore = ('verde', 'bianco', 'rosso') | |||
>>> tricolore | |||
('verde', 'bianco', 'rosso') | |||
</pre> | |||
Anche gli elementi di una tupla sono '''indicizzati (indexed)''' con un valore numerico, ed é possibile eseguire lo '''slicing (taglio)''' in modo analogo a quanto detto per le liste. | |||
==Collezioni non ordinate== | |||
È possibile con i dizionari ed i set gestire oggetti in cui l'ordine di sequenza è superfluo. | |||
===Dizionari=== | |||
Trattasi di una sequenza non ordinata di coppie di valori ''chiave:valore''. Siccome sono implementati tramite una tabella di hash, risultano molto efficienti quando è necessario effettuare ricerche per chiave. | |||
Ecco qualche esempio: | |||
<pre>>>> libri = {"Dante": "divina commedia", "Macchiavelli": "il principe"} | |||
>>> libri | |||
{'Macchiavelli': 'il principe', 'Dante': 'divina commedia'} | |||
>>> libri.keys() | |||
dict_keys(['Macchiavelli', 'Dante']) | |||
>>> libri.items() | |||
dict_items([('Macchiavelli', 'il principe'), ('Dante', 'divina commedia')]) | |||
>>> libri['Macchiavelli'] | |||
'il principe'</pre> | |||
===Set=== | |||
I set sono collezioni disordinate di elementi unici. Molte delle operazioni che si possono compiere con questi oggetti sono direttamente collegabili alla teoria degli insiemi (quindi unione, differenza, intersezione, sottoinsieme...). | |||
Ecco un chiaro esempio: | |||
<pre> | |||
>>> a = {1,2,3,4,5,6} | |||
>>> 2 in a | |||
True | |||
>>> {2,3}.issubset(a) | |||
True | |||
>>> a | |||
{1, 2, 3, 4, 5, 6} | |||
>>> a = a - {3,6} | |||
>>> a | |||
{1, 2, 4, 5} | |||
>>> a.add(4) | |||
>>> a | |||
{1, 2, 4, 5} | |||
>>> a.add(4) | |||
>>> a | |||
{1, 2, 4, 5} | |||
>>> a.union({5,6,7}) | |||
{1, 2, 4, 5, 6, 7} | |||
</pre> | |||
[[Categoria:Accademia Python - Lezione 1]] | [[Categoria:Accademia Python - Lezione 1]] |
contributi