{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Lez 1" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#### questi sono i commmenti, non c'è output" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Istruzione di stampa" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print(3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "print( ) è una espressione,come 3+5, deve essere compilata" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print(3+3)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print('ciao') # 'ciao' è una stringa, una sequenza di caratteri separati da virgolette" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "print('ciao') è un'espressione sulle stringhe" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "'ciao'" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print('ciao')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print( # premere shift tab per vedere info argomento funzione" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "python è case-sensitive" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "3+3" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "2*4" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "2**4 # in python la potenza si fa con due asterischi" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "2**1024 # questo risultato non è rappresentabile in nessun altro linguaggio di programmazione" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Gli interi in python non hanno limite di grandezza!!! " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "2.0**1024" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Esiste in python anche un algebra sulle stringhe" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print('ciao'+'ciao') #concatenazione" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print('ciao'+' ciao') " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print('ciao','+','ciao')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print('ciao'*5) #ripetizione" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print('ciao'**5)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print(3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Istruzione di assegnazione" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "x = 5" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "L'operatore di assegnazione, =, viene usato per l'istruzione di assegnazione\n", "\n", "A destra dell'operatore c'è un'espressione che deve essere calcolata\n", "\n", "x è una variabile, un luogo dove memorizzare qualche cosa, è un indirizzo di memoria" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "x" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Cercate di dare dei nomi significativi, in modo da documentare a cosa servono." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "x = 5+5" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "L'espressione a destra ha un tipo!!!" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "type(x) # funzione che ti dice che tipo è x" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "x ='ciao' " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "type(x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Il modo in cui è memorizzato un intero è diverso da come viene memorizzata la stringa.\n", "\n", "La stringa viene memorizzata come una sequenza di caratteri in locazione adiacenti di memoria!" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "s='ciao'" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "s[0] # primo elemento della stringa" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "s[3] # quarto elemento della stringa" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "len(s)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "z='hfhfhhffhfhsdeuociuheb c3784o6 0'" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "z[len(z)-1] # ultimo elemento della stringa" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "z[-3] # ultimo elemento della stringa" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "x = input('Inserisci un numero: ')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Tutto l'input ed output che viene da un calcolatore è sotto forma di caratteri!!!\n", "\n", "56 è una sequenza di caratteri numerici" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "x" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "str(3)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "c='cccc'" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "int(c)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "int(input('Inserisci un numero: '))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "6," ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "int(input('Inserisci un numero: '))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "5, '5'" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print(5,'5')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "59/3" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print(59/3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Python vecchio divisione fra interi dava intero, ora da un float, per fare divisione intero\n", "uso // e per il modulo uso %" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "59//60" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "6%4" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I numeri reali, sono indicati con float" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "float(5)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print('s\\ns') # \\n carattere escape per andare a capo" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print(\"'ciao'\") # print può usare entrambe le virgolette" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print('\"ciao\"')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print('s\\'s')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print('s\\\\s')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### FUNZIONI (che usiamo)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Accetta qualcosa in ingresso, restituisci qualcosa in uscita e può avere degli effetti collaterali. NB: restituire un valore significa darlo disponibile per il programma, print per esempio non restituisci nessun valore ma ha come effetto collaterlae di stampare\n", "\n", "Python ha sia un approcio matematico, nomeFunz(nomeVar), che quello ad oggetti nomeVar.nomeFunz(). Metodo principalmente usato dagli altri linguaggi di programmazione!" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "s = \"stringa\"" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "s.isdecimal()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "s è istanza della classe stringa. schiacciando il punto dopo s e tab vi viene fuori una lista di funzioni della classe stringa che potete usare. Dilettatevi. Per voi una classe è un insieme di oggetti che hanno delle caratteristiche comuni e hanno dei metodi predefiniti specifici. Ricordarsi le parentesi dopo il nome del metodo" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "help(s.isdecimal)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "s.isdecimal()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "a = '10'" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "a.isdecimal()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "parola = 'strinta'" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "parola.replace('t','f') #rimpiazza tutte le t con f" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "parola " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I metodi sulle stringhe creano nuove stringhe, la stringa non viene modificata" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "nuovaparola = parola.replace('t','f')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "(parola, nuovaparola)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### LIBRERIE\n", "Per usare le librerie si usa il comando import" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import math" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Come per i metodi sulle stringhe, mettendo il punto e tab posso vedere tutti i metodi dentro a math" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "math.cos(12)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Per non dover ripetere math ogni volta che voglio una funzione di math si usa il comando qui sotto" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from math import cos" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "cos(0)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from math import * #Dove * significa tutto" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "acos(cos(0)) # Posso fare composizione di funzioni" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import random" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "random.randint(1,13) " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "help(random.randint)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.1" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": {}, "version_major": 1, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 2 }