python python tutorial pylint pypi python manual perl manual grafics entra in modalita' interattiva: python esegue uno script da shell: $ myscript.py esegue uno script da prompt: $ exec(open('myscript.py').read()) dopo averlo reso eseguibile: $ chmod +x myscript.py la prima riga dello script deve essere: #! /usr/bin/env python # questo e' un commento """ e questo un commento su linee multiple""" passaggio argomenti: $ myscript.py stringa uso argomenti: (scriptname.py stringa = stampa la 'stringa') import sys print sys.argv[1] separatore di comandi: a = 1; b = 2; print(a+b) assegnazione di pił variabili: a, b = 0, 0.1 separazione di variabili: print('a = ', a) comandi multilinea: a = 1 \ + 2 \ + 3 stampa senza line brake: print(a, end=',') operazioni e assegnazioni a variabile---- variabile intera, float, bool, stringa: my_int = 3 my_float = 3.5 my_bool = True my_bool = False my_string = "stringa di caratteri" esponente: my_int = (3**2 + 1)/2 modulo: my_int = 5%4 input di una stringa da console: n = input("inserisci un nome") arrotondamento di numeri decimali: round(a,2) conversione da variabile intera a float e viceversa: a = int(3.1415) b = float(3) stringhe--------------------------------- stampa un output leggibile: print 'Questa stringa\n' stampa in forma raw (non interpreta i caratteri speciali): print r'Non va a capo\n' variabile stringa string = "Questa stringa ha 23 caratteri" stampa la stringa: print (string) la stringa é una sequence, potition ordered collection of other objects: string[0] string[1] string[0:3] string[:3] string[1:] stampa su pił righe: print (""" prima riga seconda terza riga""") concatenazione: print ("stampa " + "le " + "stringhe") print ("pi greco vale " + str(3.14)) stampa con variabili: print ("stampa prima %s stringa" % (string1)) print ("stampa prima %s e seconda %s stringa" % (string1, string2)) lunghezza: len(string) trasforma in maiuscolo: string.upper() trasforma in minuscolo: string.lower.() trasforma in variabile stringa una variabile numerica: pi = 3.14 str(pi) stampa la stringa allineata: print(string.jrust(10)) input da console: string = raw_input("inserisci una stringa") liste ----------------------------------- lista di numeri: a = [0, 1, 2, 3, 4] a = range(0, 5, 1) lista di stringhe: b = ['uno', 'due', 'tre'] elimina un gruppo di elementi dalla lista: del a[2:4] aggiunge elemento in fondo alla lista: a.append(5) aggiunge una lista alla lista esistente: a.extend(lista) inserisce (a sinistra della posizione i) un elemento nella lista: a.insert(i, 6) rimuove un elemento (il primo incontrato) da una lista: a.remove(6) restituisce e rimuove l'ultimo elemento dalla lista: a.pop() restituisce l'indice del primo elemento incontrato: a.index(5) restituisce il numero di ripetizioni di un elemento: a.count(5) ordina la lista: a.sort() inverte l'ordine delgli elementi della lista: a.reverse() restituisce una lista costituita dagli item di a per i quali la funzione e' vera: filter(function, a) list comprehension - a partire dalla lista a crea una lista con i risultati dell'espressione se la condizione e' soddisfatta: [espressione for x in a condizione] [x*2 for x in a if x > 2] tuple ------------------------------- packing: t = 1, 2, 'casa' tuple vuota: t = () tuple di un elemento: t = 1, unpacking di tupla con 3 elementi: a, b, c = t ------------------------------------- dictionary -------------------------- crea un dictionary (formato da coppie key:value): tel = {'rossi': 347347347, 'bianchi': 347589589} interroga il dictionary tramite una chiave: tel['rossi'] cancella una coppia key:value tramkite la chiave: del tel['rossi'] aggiunge una coppia: tel['verdi'] = 347111111 elenco delle chiavi: tel.keys() ------------------------------------- while condizione: istruzione 1 istruzione 2 if condizione: istruzione 1 elif condizione: istruzione 2 else: istruzione 3 for i in range(0, 10, 1): istruzione 1 istruzione 2 for i in range(0, 10, 1): istruzione 1 if i==5: print i break definizione di funzione f con variabile n e valore di ritorno a def f(n): """ documentation string """ istruzione 1 istruzione 2 return a ---------- moduli --------------------- importa un modulo: from math import sqrt sqrt(2.) import math dir(math) math.sqrt(2.) -----------plot-------------------------- matplotlib import numpy as np import matplotlib.pyplot as plt x=[1,3,4,6,7] y=[3,3,5,7,4] plt.plot(x, y, 'ro-') plt.axis((0,10,0,10)) plt.xlabel('asse x') plt.ylabel('asse y') plt.title('Plot di esempio') plt.text(2, 8, 'pallini rossi $\mu$') plt.grid(False) plt.show() --------------np array----------------- numpy a = np.array([1, 4, 3]) [1 4 3] b = np.sort(a) [1 3 4] c = np.arange(1, 8, 3) [1 4 7] plt.plot(b,c) plt.show() numeri random: x = np.random.normal(mu, sigma, 100) plt.hist(x) plt.show()