Jump to content
  • #1 Introduzione Data Science con Python: Print, Tipi, Input, Cicli


     Share

    Data Science

     

    La scienza dei dati studia i metodi per estrarre la conoscenza dei dati provenienti da diverse sorgenti:

    • Dati aziendali
    • Web (Social Network Analysis, Marketing) e Mobile (Context Aware Computing)
    • Immagini e Video (sorveglianza, applicazioni mediche, ecc)
    • IoT (sensori, ecc), Industry 4.0

    L'obiettivo è la creazione di prodotti e servizi basati sull'estrazione di conoscenza dai dati immediatamente utilizzabile nei processi decisionali

     

    Big Data

     

    Si parla Big Data quando si ha a che fare con grandi quantità di dati

    La creazione di dati sta seguendo un processo esponenziale: nell'anno 2020 il volume totale di dati creati nel mondo è stato di più di 40 zettabyte (ZB), vale a dire 40 trilioni di gigabyte

    Si prevede che entro il 2025 il volume dei dati arriverà fino a 163 ZB (es. rapport Garante Privacy)

     

    • Volume: dimensione dei dataset (oltre le capacità degli odierni DBMS)
    • Velocità: rapidità con cui i dati arrivano e dono essere elaborate (streaming, real-time)
    • Varietà: tipologia di dati e sorgenti
      • semi-strutturati (XML, tweets, ...)
      • destrutturati (documenti, pagine web)
    • Veridicità: le sorgenti dei dati non sono controllate
    • Variabilità: variazioni sia nella struttura dei dati che nella semantica sottostante;
    • Valore: potenzialità dei dati in termini di vantaggi competitivi raggiungibili con la loro analisi

     

    Volume e Velocità sono ancora considerate di gran lunga le caratteristiche più rilevanti nella gestione dei Big Data

    La Scalabilità è al cuore delle nuove tecnologie che ci si attende in un futuro prossimo per affrontare le sfide tecnologiche poste dai Big Data

    Infrastrutture di calcolo:

     - Cloud Computing (Docker, Servizi, Data Center, ecc.)

     - Edge/IoT Computing

     - High Performance Computing

     

    Data Science e Linguaggi di programmazione:

    R, Julia, Python, C++, Javascript, Scala

     

    Professioni:

    Data Scientist - cos è, cosa fa e quanto guadagna?

    Data Engineer

    Data Analyst

    Data Protection Officier

     

    Python

     

    Pagina ufficiale: www.python.it

    Installazione e download: www.python.org/downloads

    PIP: www.pypi.org/project/pip

    Attraverso pip si possono installare pachetti facilmente usando pip install package-name

    Jupyter: www.jupyter.org

    Per usare Jupyter Notebook usare il comando jupyter notebook

    Colab: sono jupyter notebook su google cloud accessibili con le proprie credenziali google su colab.research.google.com

    Anaconda: www.anaconda.com

    Usata moltissimo per statistica e in data science

     

    Python nasce nel 1991, ora alla versione 3 uscita nel 2008, linguaggio semplice, intuitivo e potente, facilmente comprensibile, come l'inglese parlato in grado di consentire tempi di sviluppo brevi, open source con partecipazione collettiva al suo sviluppo.

     

    kMbpEQp.jpg

     

    Python è oggi uno dei linguaggi più diffusi e più usati per la sua facilità di utilizzo.

    Python è un linguaggio di programmazione ad alto livello, è un linguaggio interpretato, ovvero le istruzioni sono eseguite da un interprete e permette di eseguire dirottamente il codice sorgente che scriviamo.
     

    Python è detto anche "interattivo": possiamo scrivere le istruzioni dal prompt dei comandi senza la necessità di creare un file sorgente

     

    97XD2AN.png

    Interprete Python

    Python è considerato un linguaggio interpretato, offre due modalità per usare l'interprete:

    Interactive mode

    Script mode

     

    Se lanciamo il comando python da riga di comando, in in ambiente Windows che Linux, viene mostrato un nuovo prompt caratterizzato da 3 caratteri di maggiore >>> (interprete interattivo)

    L'interprete interattivo è in grado di leggere e valutare man mano le espressioni inserite dall'utente, è anche possibile eseguire script contenenti sequenze di istruzioni Python, digitando il comando: python nome_script.py

     

    IDLE

    Per la modalità interattiva: Python Shell

    Disponibile anche online: www.python.org/shell

    IDLE (Integrated Develpment and Learning Environment): ambiente visuale che permette di modificare, eseguire, e fare il debug di programmi Python da un'unica interfaccia visuale

     

    Python come calcolatrice

    Un'istruzione è un operazione che l'interprete di Python è in grado di eseguire

    Usando Python come calcolatrice viene stampato a video il valore dell'espressione

    2+2
    4/2
    4//2	divisione intera
    4%2		modulo (resto della divisione)
    3**2 	elevamento a potenza
    (4-2)*3	precedenza tra operatori e parentesi

     

    Variabili

    • Python è tipizzato dinamicamente
      • controlla i tipi solo immediatamente prima dell'esecuzione delle istruzioni
      • tutte le variabili sono implementate con puntatori
    • Non occorre dichiarare le variabili prima di usarle
    • I nomi delle variabili sia lettere che numeri ma devono iniziare con una lettere oppure con un "_"; possono contenere sia lettere maiuscole che minuscole e tiene in conto della differenza (case sensitive) (a!=A)
    <variabile>= <espressione>

     - Alla variabile che compare alla sinistra dell'= viene assegnato il valore ottenuto dalla valutazione dell'espressione;

     - L'istruzione di assegnazione non produce risultati visibili (cioè se la inviate per esecuzione all'interprete interattivo non vi viene "risposto" nulla)

    x=7
    y=3.14
    z=x+y
    s="ciao"

     

    I dati (valori) sono di tanti tipi diversi

    Dal tipo del dato dipendono le operazioni che possiamo fare con esso

    8/4		ok
    "ciao"/2	no

     

    Tipi Semplici:

    Booleani (valore di verità): True e False bool

    Numeri interi int

    Numeri in virgola mobile (metodo di rappresentazione approssimata dei numeri reali) float

    Caratteri e Stringhe (sequenze di caratteri che formano un testo) Una string può essere una stringa di lettere, numeri e simboli. Le stringhe sono racchiuse tra '' o tra "" str

    x=7
    x="7"
    x=7.0
    print(8+4) vs. print("8+4")
    
    "ciao"*2 -> 	"ciaociao"
    "Py"+"thon" ->	"Python"

     

    In Python le variabili assumono il tipo del valore che viene loro assegnato: numero, carattere o serie di caratteri, e lo mantengono fino a quando non viene loro assegnato un valore di tipo diverso

    #Quindi si potrebbe fare:
      x="ciao"
      x=5

    In Python:

    def massimo(x,y):
      if x>y:
        return x
      else:
        return y

    può calcolare il massimo tra due numeri interi, due numeri reali, due stringhe, ecc..

     

    Print

    L'istruzione di stampa print permette di visualizzare il contenuto delle variabili sullo schermo

    print(x)
    print("ciao")
    print(7+2)
    print("5+5 fa ", 5+5)

     

    Type

    La funzione type restituisce il tipo di un valore, di una variabile o di una espressione

    type(x)
    type(2)
    type('ciao')
    type(1==5)

     

    Operatori di Confronto

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

     

    Operatori booleani

    and		ritorna True se entrambi sono veri
    or		ritorna True se almeno uno è vero
    not		ritorna False se è vero, True se è falso

     

    Python Assegnazione Multipla

    Con l'assegnazione multipla ottengo lo scambio dei valori:

    a, b = b, a

     

    Input

    L'istruzione input (prompt) permette di acquisire valori da tastiera

    x=input("inserisci un valore")
    >>> Inserisci un valore 9 enter

    N.B: il valore viene acquisito sempre come string!! convertire il tipo con le funzioni int(), str()...

    numero= int(input('inserisic un numero:'))
    print(numero+7)
    
    numero=float(input('inserisci l importo in euro:'))
    print(numero)
    
    numero=str(numero)
    print(numero)
                       

     

    Script mode

    Per eseguire programmi con sequenze di istruzioni usiamo la modalità script

    python nome_script.py

     

    Nome programma: HelloWorld.py

    print('Hello World')

    per eseguirlo da terminale: python HelloWorld.py

    per eseguirlo da IDLE: Run -> Run Module (F5)

     

    Commenti

    # tutta la riga commentata

    I commenti non hanno effetto sul programma (l'interprete ignora la linea commentata

    #assegno a b il valore 7
    b=7

    Commenti su più righe

    """
    commento
    dentro
    """

     

    Istruzioni condizionali

    if <condizione>: <istruzione>
    if x==2:
      print('x è uguale a 2')

    Se x è uguale a 2 viene effettuata la stampa, altrimenti non fa nulla.
     

    Indentazione

    Le istruzioni nel corpo devono essere "rientrate" cioè stare più all'interno/più a destra della riga che contiene l'if

    Si dice che devono essere "indentate"

    La prima istruzione che non è più "indentata" segnala la fine del blocco di istruzioni che devono essere eseguite se la condizione è soddisfata

    Se il corpo è costituito da una sola istruzione può essere scritto sulla stessa riga (come negli esempi precedenti)

    x=int(input('inserisci un numero'))
    if(x==5):
      print('sono dentro if')
      print('sono ancora dentro if')
    print('sono fuori if')

     

    If-else

    età=int(input('inserisci la tua età'))
    if età >= 18:
      print('sei maggiorenne')
    else:
      print('sei minorenne')
     

     

    Cicli

    I cicli sono usati per eseguire azioni ripetitive

    Ci sono due tipi di cicli:

    while: usato quando non si sa a priori il numero esatto di volte che una azione deve essere ripetuta

    for: quando si sa in anticipo quante volte si dovrà ripetere l'azione

     

    While

    Ripete le istruzioni nella sequenza fino a quando la condizione è soddisfata

    while<condizione>:
      <sequenza di istruzioni>
    
    x=10
    while(x>0):
      print(x)
      x=x-1
    print("0! sono fuori dal ciclo")

     

    For

    Assegna alla variabile il primo elemento della sequenza

    Esegue le istruzioni nel corpo

    Fintantoché ci sono elementi nella sequenza assegna alla variabile l'elemento successivo e torna al passo 2.

    Spesso la lista che si usa nel for è generata dalla funzione range:

    for <variabile> in <sequenza>:
      <sequenza di istruzioni>
      
    #stampare i numeri tra 0 e 10
    for i in range(11):
      print(i)
    
    #stampare i numeri tra 1 e 10
    for i in range(1,11):
      print(i)

     

    Break

    Se eseguo l'istruzione break dentro un ciclo while o for, "uccido" il ciclo e ne esco immediatamente

     

    Continue

    Idem per continue, prosegue al passo successivo.

     

    For/Else

    I cicli for hanno anche una clausola else

    La clausola else viene eseguita dopo il completamento normale del ciclo. Ciò significa che il loop non ha riscrontrato un'istruzione break

    for item in container:
      if (search_something(item):
          #Found it!
          process(item)
          break
    else:
          #Didn't find anything...
          not_found_in_container()

     

    Esempi:

    #!/usr/bin/env python
    # coding: utf-8
    # **** Jupyter Notebook con esempi introduttivi ****
    
    # In[ ]:
    print("Hello world")
    
    # In[ ]:
    print("Espressioni",2,4/2,5//2,5%2,3**2,(4-2)*3)
    
    # In[ ]:
    x=7
    y=3.14
    z=x+y
    s="ciao"
    b=(1 == 2)
    b1=(1 <= 2)
    print(x,y,z,s,b,b1)
    
    x="python"+"3"
    print(x,type(x))
    print(y,type(y))
    print(s,type(s))
    print(b,type(b))
    print(b1,type(b1))
    
    # In[ ]:
    def massimo(x,y):
        if x>y:
            return x
        else:
            return y
        
    print(massimo(12,15))
    print(massimo("ciao","roma"))
    print(massimo(3.4,6.7))
    
    # In[ ]:
    x=10
    y=11
    x ^= y
    y ^= x
    x ^= y
    print(x,y)
    
    # In[ ]:
    x,y=y,x
    print(x,y)
    
    # In[ ]:
    x=int(input('inserisci un numero'))
    if(x==5):
        print('sono dentro if')
        print('sono ancora dentro if')
    print('sono fuori if')
    
    # In[ ]:
    x=int(input('inserisci un numero'))
    if(x==5):
        print('sono dentro if')
        print('sono ancora dentro if')
    print('sono fuori if')
    
    # In[ ]:
    x=int(input("Inserisci un numero"))
    if x==0:
        print("numero 0")
    elif x==1:
        print("numero 1")
    elif x==2:
        print("numero 2")
    else:
        print("Un altro numero")
    
    # **** Costrutti ****
    
    # In[ ]:
    x=10
    while(x>0):
        print(x)
        x=x-1
    print("0! Qui sono fuori dal ciclo")
    
    # In[ ]:
    while True:
        print("Hello, World!")
    print("Qui")
    
    # In[ ]:
    for i in range(10): print("A"+str(i),end=", ")
    print("A10.")
    
    # In[ ]:
    for a in range(1,11): 
        for b in range(1,11): 
            print(a*b)
    
    # In[ ]:
    for a in range(4): 
        for b in range(4): 
            print("*",end='   ')
        print("\n")
    
    # In[ ]:
    for i in range(2):
        x=int(input())
        if (x>10): 
            print("Trovato!")
            break
    else: 
        print("Niente da fare")
    
    # In[ ]:
    for i in range(2):
        for j in range(2):
            x=int(input())
            if (x>10): 
                print("Trovato!")
                break
        else: 
            continue 
        break
    else: 
        print("Niente da fare")
    print(i,j)
    
    # **** Strutture dati: liste e tuple ****

     

     

     Share


    User Feedback

    Recommended Comments

    There are no comments to display.


×
×
  • Create New...

Important Information

Terms of Use Privacy Policy Guidelines We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.