Creato da pastuweb.com
Share My Page
My Social Accounts
Account FaceBook Account LinkedIn Account Twitter Account Google Plus Account Git Hub

Comando "dir"

si utilizza per lo più in modalità interattiva. Permette di visualizzare un elenco di attributi dell'oggetto passato come argomento.
 
>>>  import smtplib
>>> dir(smtplib)
 
Verrà mostrato un elenco di funzioni o costanti del modulo "smtplib".
 
Comando "type"
visualizza il tipo dell'oggetto che viene passato come argomento.
 
>>> n=1
>>> type(n)
<type 'int'>
 
>>> import smtplib
>>> type(smtplib)
<type 'module'>
 
E' utile anche in combinazione con dir. Per ottenere informazioni sui tipi delle varie costanti e funzioni  dell'oggetto passato per argomento.
 
>>>  import smtplib
>>> dir(smtplib)
>>> type(smtplib.CRLF)
<type 'str'>
 
 
Le liste 
la lista è un elenco ordinato che contiene elementi eterogenei, ovvero di diverso tipo.
 
>>> elenco = [23, 9,1964]
>>> elenco
[23, 9, 1964]
 
Esempio con elementi eterogenei:
>>> elenco = [23, 9, "pippo"]
>>> elenco
[23, 9, "pippo"]
 
Qui invece definiamo una lista con all'interno un altra lista:
>>> elenco = [23, 9, "pippo", [1,2,3]]
>>> elenco
[23, 9, "pippo", [1,2,3]]
 
Per estrarre un elemento dalla lista  digitare:
>>> elenco[0]
>>> 23
se digitiamo un indice che non esiste viene scatenata un'eccezione "list index out of range".
 
Per estrarre l'elemento che sta in ultima posizione:
>>> elenco[-1]
>>>[1,2,3]
 
metodo "len"
ci permette di scoprire la lunghezza di una lista.
>>> len(elenco)
>>> 3
 
Possiamo anche estrarre un range di valori all'interno della lista (slicing)
>>> elenco = [23, 9, 1964]
>>> elenco [0:2]
[23,9]
>>> elenco [0:-1]
[23,9]
>>>elenco[0:]
[23,9, 1964]
>>> elenco [:]
[23, 9, 1964]
 
Duplicare una lista:
>>> elenco2 = elenco[:]
>>> elenco2
[23, 9, 1964]
 
Lo slicing permetter di estrarre solo RANGE SEQUENZIALI.
 
Sostituire uno o più elementi con lo slicing:
>>> elenco = [23, 9, 1964]
>>> elenco[0:2] = [13,8]
>>>elenco
[13, 8, 1964]
 
Inerire nuovi elementi con lo slicing:
>>> elenco = ['a','b','c']
>>> elenco[1:1] = [1,2,3]
>>>elenco
['a',1,2,3,'b','c']
 
Eliminare degli elementi con lo slicing:
>>> elenco = ['a',1,2,3,'b','c']
>>> elenco [1:4] = []
>>> elenco
['a','b','c']
 
Eliminare gli ULTIMI 2 elementi:
>>> elenco = ['a','b','c',1,2]
>>> elenco [-2:] = []
>>> elenco
['a','b','c']
 
altri metodi della lista
append : aggiunge al fondo
>>> elenco.append('d')
insert : inserisce un elemento nella posizione desiderata
>>> elenco  = ['uno','due']
>>> elenco.insert(0,'zero')
>>> elenco
['zero','uno','due']
 
Per inserirlo al fondo, usare un numero qualsiasi uguale o maggiore della dimensione della lista.
 
extend : accetta come parametro una seconda lista, che viene appesa in fondo.
>>> elenco  = ['uno','due']
>>> aggiunta = ['tre','quattro']
>>> elenco.extend(aggiunta)
>>> elenco
['uno','due','tre','quattro']
 
remove : rimuove l'elemento corrispondente
>>> elenco = ['uno','due','tre','quattro']
>>> elenco.remove(2)
>>> elenco
['uno','due','quattro']
 
pop : come a remove, però se senza indice rimuove e restituisce l'ULTIMO ELEMENTO
>>> elenco = ['uno','due','tre','quattro']
>>> elenco.pop()
'quattro'
>>> elenco.pop(0)
'uno
 
count : conta gli elementi che sono uguali all'argomento passato
'>>> elenco = ['uno','uno','tre','quattro']
>>> elenco.count('uno')
2
count, NON esplora eventuali liste presenti all'interno della lista principale.
index : restituisce la posizione all'interno della lista dell'elemento passato come argomento
'>>> elenco = ['uno','due','tre','quattro']
>>> elenco.index('due')
1
 
reverse : inverte una lista
>>> elenco .reverse()
>>> elenco
['quattro','tre','due','uno']
 
sort : dispone in ordine alfabetico e/o numerico gli elementi.
>>> elenco .sort()
>>> elenco
['due','quattro','tre','uno']
 
 
Le Stringhe
Come ogni altro elemento in Python, una stringa è dotata di metodi che ne permettono una facile gestione.
>>> s = '0123456789'
>>> s[:5]
'01234'
>>> s[-5:]
'56789'
>>> s[1:-1]
'12345678'
 
Un altro tipo di slicing:
>>> s = '0123456789'
>>> s[::2]
'02468'
>>> s[1::2]
'13579'
 
Le stringhe sono OGGETTI IMMUTABILI, non si possono ri-definire delle sotto parti.
>>> s= 'abcd'
>>> s[2] ='e'
TypeError Object not support item assignment
 
Usare lo slicing per ri-definire una stringa:
>>> s= 'abcd'
>>> s = s[:2]+'e'+s[3:]
>>> s
'abed'
 
Per inserire un A CAPO:
>>> s='una frase \n seconda frase \n '
 
Stringa su più righe: (3 apici o 3 virgolette)
>>> s= """
una riga
seconda riga
"""
Concatenare stringhe:
>>> s = "ciao"
>>> p = "gianni"
>>> s + p
"ciao gianni"
 
Moltiplicare una stringa:
>>> s = "ciao"
>>> s * 5
"ciaociaociaociaociao"
 
Alcuni metodi:
>>> s = "Questa è una frase"
>>> s.find("una")  #trova una parola
9
>>> s.strip() #toglie gli spazi all'inizio e alla fine
"Questaèunafrase"
>>> s.replace("una","la") #sostituisce
"Questa è la frase"
>>> s.split(" ") #splitta e crea una lista
["Questa", "é", "una", "frase"]
>>> "/".join(["12","10","1998"])
"12/10/1998"
 
 
Le Tuple
sono sequenze di oggetti eterogenei MA SONO IMMUTABILI.
sono una via di mezzo tra le liste e le stringhe.
 
>>> t = ('basta', 'con', 'le' , 'liste')
>>> t
 ('basta', 'con', 'le' , 'liste')
>>> t[:2]
 ('basta', 'con')
>>> t[1]  = "ciao" #oppure t[1] = 3
TypeError Object does not support item assignment
 
NON HANNO ALCUN METODO. L'unico modo che abbiamo per sapere se un elemento è presente in una tupla consiste nell'impiegare l'operatore in:
>>> fibonacci = (1,1,2,3,5,8,13,21)
>>> 8 in fibonacci
TRUE
>>> 9 in fibonacci
FALSE
 
Tupla con UN SOLO ELEMENTO
>>> singolo = (1) #NO, viene visto come una variabile 
>>> singolo
1
>>> singolo = (1,) #SI
>>> singolo
(1,)
 
Le tuple vengono più che altre usate per i dizionari.
 
 
Gli Insiemi
sono un potente tipo di dati che si dovrebbe usare quando dobbiamo gestire gruppi di elementi NON ORDINATI e SENZA DUPLICATI.
La parola chiave da usare è set.
 
>>> insieme = set(['pippo','pluto','paperino'])
>>> insieme
set(['pippo','pluto','paperino'])
 
l'argomento può essere una sequenza qualsiasi.
 
>>>lettere= set("hello")
>>> lettere
set(["h","e","l","o"])
il carattere "l" è un duplicato quindi compare SOLO UNA VOLTA.
 
UNIONE:
>>> insieme1 = set(['uno','due','tre'])
>>> insieme2 = set(['quattro','cinque','sei'])
>>> insieme1  | insieme2
set(['uno','due','tre','quattro','cinque','sei'])
 
DIFFERENZA
>>> insieme1 = set(['uno','due','tre'])
>>> insieme2 = set(['uno','cinque','sei'])
>>> insieme1  - insieme2
set(['due','tre'])
 
INTERSEZIONE
>>> insieme1 = set(['uno','due','tre'])
>>> insieme2 = set(['uno','cinque','sei'])
>>> insieme1  & insieme2
set(['uno'])
 
DIFFERENZA SIMMETRICA o XOR
>>> insieme1 = set(['uno','due','tre'])
>>> insieme2 = set(['uno','cinque','sei'])
>>> insieme1  ^  insieme2
set(['due','tre','cinque','sei'])
 
 
I Dizionari
è un ARRAY ASSOCIATIVO.
>>>rubrica = dict()
>>> rubrica['marco'] = '333-12345678'
>>> rubrica['lucia'] = '328-12345678'
>>> rubrica
{'marco' : '333-12345678' ,
'lucia' : '328-12345678'}
 
Estraiamo un valore:
>>> rubrica['marco']
'333-12345678'
 
Aggiungiamo un valore:
>>> rubrica['silvia'] = '335-12345678'
 
Un dizionario è un insieme di oggetti che possiamo estrarre attraverso una chiave.
 
Per elencare TUTTE LE CHIAVI:
>>> rubrica.keys()
['marco','lucia','silvia']
 
Controllare l'esistenza di una chiave:
>>> rubrica.has_key('francesco')
False
>>> rubrica.has_key('marco')
True
 
ELIMINARE un elemento:
>>> del rubrica['silvia']
>>> rubrica
{'marco' : '333-12345678' ,
'lucia' : '328-12345678'}
 
Come valore associato ad una chiave, possiamo immettere qualsiasi oggetto Python.
Come chiave, invece, qualsiasi oggetto immutabile, quindi una stringa, un intero o una tupla.
 
Alcuni metodi
clear:
cancella tutti gli elementi di un dizionario.
>>>rubrica = dict()
>>> rubrica['marco'] = '333-12345678'
>>> rubrica['lucia'] = '328-12345678'
>>> rubrica.clear()
>>> rubrica
{}
 
get:
permette di estrarre un valore di default qualora la chiave specificata non sia presente.
>>> rubrica.get('marco', '12345')
 '333-12345678'
>>> rubrica.get('francesco', '12345')
'12345'
 
setdefault:
permette di estrarre un valore di default qualora la chiave specificata non sia presente e di inserire la nuove chiave con il valore di default specificato:
>>> rubrica.setdefault('marco', '12345')
 '333-12345678'
>>> rubrica.setdefault('francesco', '12345')
'12345'
>>> rubrica
{'marco' : '333-12345678' ,
'lucia' : '328-12345678',
'francesco' : '12345'}
 
values:
visualizza tutti i valori.
>>> rubrica.values()
['333-12345678','328-12345678','12345']
 
items:
è la somma di keys e values
>>> rubrica.items()
[ ('marco', '333-12345678'),('lucia','328-12345678'),('francesco','12345')]
 
 
I Numeri
Non esiste limite alle dimensioni di un numero.
Il limite è solo quello fisico della memoria del computer su cui stiamo utilizzando Python.
 
Si possono usare INTERI, VIRGOLA MOBILE e numeri COMPLESSI.
>>> a = -1j
>>> a.real
0.0
>>> a.imag
-1.0
>>> a  ** 0.5 #radice quadrata
>>> a ** 2 #potenza
 
I True e False
>>> numeri_pari = (2,4,6,8)
>>> x=1 in numeri_pari
>>> x
False
>>> y=4 in numeri_pari
>>> y
True
 
None (nulla)
può assumere un solo valore, uguale proprio a None.
Viene usato in tutte le situazioni in cui intendiamo indicare la mancanza di un valore definito.
 
>>> nulla = None #ho definito una variabile nulla
Average (1 Vote)
The average rating is 5.0 stars out of 5.