|
|
| Line 1: |
Line 1: |
| − | =Introduzione= | + | =Indice= |
| − | * Introduzione: [https://www.html.it/guide/guida-python/ html.it]
| + | <div style="column-count: 3; -moz-column-count: 3; -webkit-column-count: 3;"> |
| − | * Imparare Pyton: [https://kinsta.com/it/blog/tutorial-python/ kinsta.com], piattaforma e-learning [https://www.codecademy.com/learn/learn-python codecademy.com]
| + | * [[Python Essenziale | L'essenziale]] |
| − | * Installazione su Windows [https://docs.python.org/3/using/windows.html python.org] , [https://www.html.it/pag/15609/installare-python/ html.it]
| + | </div> |
| − | In realtà Pyton nasce come linguaggio di programmazione interpretato ma ormai esistono eccezioni a questo.<br />
| + | |
| − | Esiste un IDE proprietario di sviluppo oppure si può scegliere di implementare una solution utilizzando editor esterni per creare il codice sorgente e poi mandare tutto al compilatore in linea.
| + | |
| − | ==IDE==
| + | |
| − | [[File:Python_IDE_01.png|none|650x293px]] | + | |
| − | Per cui cliccando su "File" \ "New File" si passa all'editor di condice sorgente come nel seguente:
| + | |
| − | [[File:Python_IDE_02.png|none|649x292px]]
| + | |
| − | ==Prompt Comandi==
| + | |
| − | [[File:Python_PromptComandi.png|none|649x132px]]
| + | |
| | | | |
| − | =Installazione=
| |
| − | Download ufficiale: [https://www.python.org/downloads/ python.org], Installazione Windows [https://www.python.org/downloads/windows/ python.org]
| |
| − | L'upgrade in Windows di una versione già installata si effettua semplicemente partendo dall'eseguibile di installazione, provederà esso stesso a disinstallare la vecchia versione in favore della nuova.
| |
| | | | |
| − | =Info fondamentali=
| + | ---- |
| − | * Language reference ufficiale: [https://docs.python.org/3/reference/index.html python.org]
| + | [[Linguaggi di programmazione + DB]] | [[Domotica]] | [[C Sharp | C#]] | [[Dizionario:Termini tecnici informatici | Dizionario IT]] |
| − | * Guide di Python [https://www.html.it/guide/guida-python/ html.it]
| + | |
| − | Le '''istruzioni''' generalmente sono scritte su di una riga e non esiste un carattere terminatore se non il ritorno a capo, in Windows è la sequenza di caratteri CR LF .<br />
| + | |
| − | I commenti sono rappresentati col carattere <code>#</code><br />
| + | |
| − | E' possibile suddividere una istruzione su più righe adottando il carattere <code>'''\'''</code>
| + | |
| − | <syntaxhighlight lang="python" line>
| + | |
| − | if 1900 < year < 2100 and 1 <= month <= 12 \
| + | |
| − | and 1 <= day <= 31 and 0 <= hour < 24 \
| + | |
| − | and 0 <= minute < 60 and 0 <= second < 60: # Looks like a valid date
| + | |
| − | return 1
| + | |
| − | </syntaxhighlight>
| + | |
| − | ==Parole chiave==
| + | |
| − | <pre>
| + | |
| − | False await else import pass
| + | |
| − | None break except in raise
| + | |
| − | True class finally is return
| + | |
| − | and continue for lambda try
| + | |
| − | as def from nonlocal while
| + | |
| − | assert del global not with
| + | |
| − | async elif if or yield
| + | |
| − | </pre>
| + | |
| − | ==Le variabili==
| + | |
| − | Python è un linguaggio case-sensitive, che distingue tra nomi di variabili composti da caratteri minuscoli e maiuscoli<br />
| + | |
| − | Non è necessario definire subito il tipo di una variabile esso è definito al volo tuttavia:
| + | |
| − | <syntaxhighlight lang="python" line>
| + | |
| − | indice = int(0) #Si assegna e definice come intero la variabile 'Indice'
| + | |
| − | raggio = float(3.14) #Numero reale
| + | |
| − | nome = "Giuseppe"
| + | |
| − | ok = bool(True)
| + | |
| − | a, b, c = 2, 3, 5 #assegnamento multiplo
| + | |
| − | </syntaxhighlight>
| + | |
| − | <pre>
| + | |
| − | Tipo di dato Nome Descrizione Esempi
| + | |
| − | Intero int Intero di dimensione arbitraria -42, 0, 1200, 999999999999999999
| + | |
| − | Reale float Numero a virgola mobile 3.14, 1.23e-10, 4.0E210
| + | |
| − | Booleano bool Per valori veri o falsi True, False
| + | |
| − | Complesso complex Numeri complessi con parte reale e immaginaria 3+4j, 5.0+4.1j, 3j
| + | |
| − | Stringhe str Usata per rappresentare testo '', 'stefano', "l'acqua"
| + | |
| − | Bytes bytes Usata per rappresentare bytes b'', b'\x00\x01\x02', b'Python'
| + | |
| − | Liste list Una sequenza mutabile di oggetti [], [1, 2, 3], ['Hello', 'World']
| + | |
| − | Tuple tuple Una sequenza immutabile di oggetti (), (1, 2, 3), ('Python', 3)
| + | |
| − | Insiemi set/frozenset Un'insieme di oggetti unici {1, 2, 3}, {'World', 'Hello'}
| + | |
| − | Dizionari dict Una struttura che associa chiavi a valori {}, {'nome': 'Ezio', 'cognome': 'Melotti'}
| + | |
| − | </pre>
| + | |
| − | ===Print e Input===
| + | |
| − | <syntaxhighlight lang="python" line>
| + | |
| − | raggio = float(input('Inserisci il raggio: '))
| + | |
| − | print('Area del cerchio: ', 3.14 * raggio**2)
| + | |
| − | #
| + | |
| − | n = eval(input("Digita un numero: "))
| + | |
| − | </syntaxhighlight>
| + | |
| − | ===Array===
| + | |
| − | Array di stringhe:
| + | |
| − | <syntaxhighlight lang="python" line>
| + | |
| − | month_names = ['Januari', 'Februari', 'Maart', # These are the
| + | |
| − | 'April', 'Mei', 'Juni', # Dutch names
| + | |
| − | 'Juli', 'Augustus', 'September', # for the months
| + | |
| − | 'Oktober', 'November', 'December'] # of the year
| + | |
| − | </syntaxhighlight>
| + | |
| − | Array di numeri:
| + | |
| − | <syntaxhighlight lang="python" line>
| + | |
| − | lista = [0, 1, 2, 3, 4,
| + | |
| − | 5, 6, 7, 8, 9]
| + | |
| − | </syntaxhighlight>
| + | |
| | | | |
| − | ==Controllo del flusso==
| + | [[category:Indice]] |
| − | ===IF===
| + | |
| − | L'indentazione definisce l'appartenanza del blocco delle istruzioni su diverse righe
| + | |
| − | <syntaxhighlight lang="python" line>
| + | |
| − | print("eseguito sempre all'inizio")
| + | |
| − | if condizione:
| + | |
| − | print('eseguito in mezzo solo se la condizione è vera')
| + | |
| − | print('eseguito in mezzo solo se la condizione è vera')
| + | |
| − | print('eseguito in mezzo solo se la condizione è vera')
| + | |
| − | else:
| + | |
| − | print('eseguito in mezzo solo se la condizione è falsa')
| + | |
| − | print('eseguito in mezzo solo se la condizione è falsa')
| + | |
| − | print('eseguito sempre alla fine')
| + | |
| − | </syntaxhighlight>
| + | |
| − | ===SWITCH CASE===
| + | |
| − | Si traduce in un IF più complesso
| + | |
| − | <syntaxhighlight lang="python" line>
| + | |
| − | if condizione1:
| + | |
| − | # gruppo di istruzioni eseguite
| + | |
| − | # se la condizione1 è vera
| + | |
| − | elif condizione2:
| + | |
| − | # gruppo di istruzioni eseguite
| + | |
| − | # se la condizione2 è vera
| + | |
| − | elif condizioneN:
| + | |
| − | # gruppo di istruzioni eseguite
| + | |
| − | # se la condizioneN è vera
| + | |
| − | else:
| + | |
| − | # gruppo di istruzioni eseguite
| + | |
| − | # se tutte le condizioni sono false
| + | |
| − | </syntaxhighlight>
| + | |
| − | ==Cicli==
| + | |
| − | ===For===
| + | |
| − | <syntaxhighlight lang="python" line>
| + | |
| − | seq = [1, 2, 3, 4, 5]
| + | |
| − | for n in seq:
| + | |
| − | print('Il quadrato di', n, 'è', n**2)
| + | |
| − | </syntaxhighlight>
| + | |
| − | ===While===
| + | |
| − | <syntaxhighlight lang="python" line>
| + | |
| − | seq = [10, 20, 30, 40, 50, 60]
| + | |
| − | while len(seq) > 3:
| + | |
| − | print(seq.pop())
| + | |
| − | #----------
| + | |
| − | n = 8
| + | |
| − | while True:
| + | |
| − | guess = int(input('Inserisci un numero da 1 a 10: '))
| + | |
| − | if guess == n:
| + | |
| − | print('Hai indovinato!')
| + | |
| − | break # numero indovinato, interrompi il ciclo
| + | |
| − | else:
| + | |
| − | print('Ritenta sarai più fortunato')
| + | |
| − | </syntaxhighlight>
| + | |
| − | | + | |
| − | =Codice=
| + | |
| − | <syntaxhighlight lang="python" line>
| + | |
| − | </syntaxhighlight>
| + | |
| − | =Varie=
| + | |
| − | <syntaxhighlight lang="python">
| + | |
| − | </syntaxhighlight>
| + | |
| − | * Comando aggiornamento di Python: <code>python -m pip install --upgrade pip</code>
| + | |
| − | * Installare '''esptool''': <code>pip3 installed esptool</code>
| + | |
| − | | + | |
| − | =(Mappa e Link)=
| + | |
| − | ----
| + | |
| − | [[Linguaggi di programmazione + DB]] | [[Domotica]] | [[C Sharp | C#]]
| + | |
| − | ----
| + | |
| − | '''Parole chiave''':
| + | |