Introduzione a Python

Indice

I tipi standard

Operatori numerici

Operatori di confronto

Operatori logici

La funzione

Il modulo

Una funzione utile: print()

Python è un linguaggio orientato agli oggetti, e tutto ciò che viene manipolato o restituito è un (riferimento a un) oggetto. Quindi il contenuto di una variabile è sempre un riferimento a un oggetto.

Tutto è considerato vero tranne il valore intero 0 e il valore decimale 0.0 (la stringa composta unicamente dal simbolo di cifra 0 è considerata un valore vero).

I commenti iniziano con il simbolo # e terminano alla fine della riga.

l simbolo ; alla fine di un’istruzione è opzionale.

Le variabili non vengono dichiarate e incominciano ad esistere nel momento in cui il valore viene loro assegnato.

Le variabili non sono tipizzate e il loro tipo viene determinato automaticamente nel momento in cui il valore viene loro assegnato.

La seguente istruzione di assegnamento crea la variabile x di tipo intero:


In [2]:
x = 1245

Le parentesi tonde che racchiudono i parametri attuali di un metodo o di una funzione sono opzionali (tranne quando servono per disambiguare invocazioni annidate).

NOTA BENE: attenzione alle indentazioni. Ad esempio il codice seguente non funziona:


In [3]:
x = 10
    y = 11


  File "<ipython-input-3-13a076db0f32>", line 2
    y = 11
    ^
IndentationError: unexpected indent

I nomi di variabile possono contenere solo cifre, lettere e il simbolo _. Non possono iniziare con una cifra e in genere sono in minuscolo.

Python è case sensitive.

I tipi standard

Valori booleani:

  • tipo dell'oggetto: bool
  • valori possibili: True e False

In [ ]:
x = True
y = False

Numeri interi:

  • tipo dell'oggetto: int
  • valori possibili: numeri interi positivi e negativi

In [4]:
x = 1301
y = -1301

Numeri decimali:

  • tipo dell'oggetto: float
  • valori possibili: numeri decimali positivi e negativi

In [5]:
x = 1301.15
y = -1301.15

Stringhe di caratteri:

  • tipo dell'oggetto: str
  • valori possibili: tutte le possibili stringhe di caratteri

Il letterale per definire una stringa è la sequenza dei caratteri racchiusa tra singoli apici ' oppure doppi apici ".


In [6]:
s1 = 'Ciao'
s2 = "Ciao"

Operatori numerici

  • somma
    • operatore: +
  • sottrazione
    • operatore: -
  • moltiplicazione
    • operatore: *
  • divisione
    • operatore: /
  • divisione intera
    • operatore: //
  • elevamento a potenza
    • operatore: **
  • resto della divisione intera
    • operatore: %
  • negazione aritmetica
    • operatore: -

In [7]:
34 + 56.5


Out[7]:
90.5

In [8]:
34 - 56


Out[8]:
-22

In [9]:
3.5 * 4


Out[9]:
14.0

In [10]:
13 / 4


Out[10]:
3.25

In [11]:
13.0 // 4


Out[11]:
3.0

In [12]:
2 ** 2


Out[12]:
4

In [13]:
13.0 % 4


Out[13]:
1.0

In [14]:
-13.0


Out[14]:
-13.0

Operatori di confronto

  • uguale a
    • operatore: ==
  • diverso da
    • operatore: !=
  • minore di
    • operatore: <
  • maggiore di
    • operatore: >
  • minore o uguale a
    • operatore: <=
  • maggiore o uguale a
    • operatore: >=

Un'operazione di confronto restituisce sempre un valore di tipo bool: True o False.


In [15]:
34.0 == 34


Out[15]:
True

In [16]:
34 != 56


Out[16]:
True

In [17]:
34 < 56


Out[17]:
True

In [18]:
34 > 56


Out[18]:
False

In [19]:
56 <= 56


Out[19]:
True

In [20]:
56 >= 56


Out[20]:
True

Operatori logici

Tutto è considerato vero tranne il valore intero 0 e il valore decimale 0.0 (la stringa composta unicamente dal simbolo di cifra 0 è considerata un valore vero).

  • congiunzione
    • operatore: and
    • valore restituito: il primo operando se esso è falso, altrimenti il secondo operando
  • disgiunzione
    • operatore: or
    • valore restituito: il primo operando se esso è vero, altrimenti il secondo operando
  • negazione
    • operatore: not
    • valore restituito: True se l'operando è falso, altrimenti False (valori di tipo bool)

NOTA BENE: non è detto che il valore restituito da un'espressione di congiunzione o disgiunzione logica sia True o False (cioé un valore di tipo bool).

Esempi


In [21]:
34 < 56 and 34 < 0


Out[21]:
False

In [22]:
34 < 56 or 34 < 0


Out[22]:
True

In [23]:
not 34 < 0


Out[23]:
True

In [24]:
42 and 0


Out[24]:
0

In [25]:
0 and 36


Out[25]:
0

In [26]:
42 and 36


Out[26]:
36

In [27]:
"0" and 36


Out[27]:
36

In [28]:
42 or 0


Out[28]:
42

In [29]:
0 or 36


Out[29]:
36

In [30]:
0 or 0.0


Out[30]:
0.0

In [31]:
not "0"


Out[31]:
False

In [32]:
not 0.0


Out[32]:
True

In [33]:
not 0


Out[33]:
True

La funzione

Funzione = sequenza di istruzioni a cui viene assegnato un nome

Sintassi di definizione:

def function_name(argument_list):
    function_body

dove:

  • function_name: il nome associato alla funzione
  • argument_list: la lista degli argomenti
  • function_body: il corpo della funzione (sequenza di istruzioni)

Regole:

  • prima di usare una funzione essa va definita:
    • il corpo della funzione deve essere indentato 4 volte rispetto alla riga di intestazione
    • una riga vuota è necessaria dopo l'ultima istruzione
  • gli argomenti di una funzione non sono tipizzati (un dato argomento può assumere un valore di qualsiasi tipo)
  • gli argomenti e le variabili all’interno del corpo della funzione sono locali alla funzione
  • una funzione può anche non avere l'istruzione return e in tale caso restituisce il valore None di tipo NoneType

In [34]:
def somma1(x,y):
    return x+y

In [35]:
somma1(5,4)


Out[35]:
9

In [36]:
somma1("Ciao", " mondo")


Out[36]:
'Ciao mondo'

In [37]:
def somma2(x,y):
    x+y

In [38]:
somma2(5,4)

Il modulo

Modulo = file contenente definizioni e istruzioni che si può importare in uno script.

Sintassi di importazione:

import module_name as new_name

new_name è il nuovo nome (opzionale) che si può associare per comodità al modulo.

Esempio di importazione del modulo math (contenente funzioni matematiche) e uso della funzione sqrt per il calcolo della radice quadrata di un numero


In [39]:
import math

In [40]:
math.sqrt(25)


Out[40]:
5.0

Una funzione utile: print()

La funzione print produce in standard output l’argomento passato e stampa un carattere di newline alla fine.

print(argument)

dove arguments sono gli argomenti della funzione.


In [41]:
print('Ciao mondo!')
print('Ciao mondo!'+'Hello world!')
print(1+3)


Ciao mondo!
Ciao mondo!Hello world!
4

NOTA BENE: la funzione print() può essere usata come la printf() del linguaggio C.


In [42]:
print('%.2f' %10.6777)


10.68

In [ ]: