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()