Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Le Stringhe In Python, Sbobinature di Fondamenti di informatica

Strings, Cosa si può fare con le stringhe, String Lenght, String Concatenation (+), String Repetition (“*”), Converting Numbers to Stings, String and Characters, Methods, Some Useful String Methods, String Escape Sequences.

Tipologia: Sbobinature

2020/2021

In vendita dal 12/01/2022

benedetta-morelli-5
benedetta-morelli-5 🇮🇹

5 documenti

1 / 15

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Lezione 4- Le Stringhe
Appunti di Benedetta Morelli
STRINGHE
Python mette a disposizione nativamente il tipo stringa.
In informatica si parla di “stringa per far riferimento ad una sequenza più o
meno lunga di caratteri. (quindi delle lettere, stringhe alfanumeriche.)
Per le variabili di tipo stringa è bene precisare che si parlerà di OGGETTI.
(Sono delle variabili, dei tipi di dati più complessi.)
CHE COSA SIGNIFICA UTILIZZARE DELLE STRINGHE
Molti programmi elaborano non solo dei numeri (altrimenti il computer
sarebbe più simile ad una calcolatrice) molti programmi vanno ad elaborare dei
testi, quindi delle stringhe alfanumeriche.
Un testo è costituito da sequenze di caratteri. Dal punto di vista sintattico e
non semantico, un testo è costituito da caratteri, lettere, cifre, segni di
punteggiatura, spazi e così via, una stringa, in particolare è una sequenza di
caratteri.
This is a string” è una stringa.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Anteprima parziale del testo

Scarica Le Stringhe In Python e più Sbobinature in PDF di Fondamenti di informatica solo su Docsity!

STRINGHE

Python mette a disposizione nativamente il tipo stringa. In informatica si parla di “stringa” per far riferimento ad una sequenza più o meno lunga di caratteri. (quindi delle lettere, stringhe alfanumeriche.) Per le variabili di tipo stringa è bene precisare che si parlerà di OGGETTI. (Sono delle variabili, dei tipi di dati più complessi.) CHE COSA SIGNIFICA UTILIZZARE DELLE STRINGHE Molti programmi elaborano non solo dei numeri (altrimenti il computer sarebbe più simile ad una calcolatrice) molti programmi vanno ad elaborare dei testi, quindi delle stringhe alfanumeriche. Un testo è costituito da sequenze di caratteri. Dal punto di vista sintattico e non semantico, un testo è costituito da caratteri, lettere, cifre, segni di punteggiatura, spazi e così via, una stringa, in particolare è una sequenza di caratteri. “This is a string” è una stringa.

Abbiamo già utilizzato senza chiederci molti dettagli le string, quando abbiamo utilizzato l’istruzione print. Ogni volta che abbiamo scritto delle istruzioni print abbiamo utilizzato inconsapevolmente delle stringhe. Il metodo print in particolare deve ricevere in ingresso una o più stringhe che devono essere tra di loro ‘concatenate’. Una stringa in Python è identificata dagli apici, a differenza di altri programmi, la stringa è identificata o dal singolo apice o doppi apici. In Python può essere identificata in maniera del tutto intercambiabile sia dal doppio apice che singolo. Come si inizia dobbiamo andare a terminare. Quindi, la stringa letterale rappresenta all’interno di un programma, all’interno di un enunciato, delle linee di codice, una sequenza di caratteri che viene utilizzata sempre come un numero. COSA SI PUO’ FARE CON LE STRINGHE Possiamo chiedere a Python la lunghezza della stringa stessa, ovvero, ogni stringa, ogni insieme di caratteri avrà una propria lunghezza

Possiamo anche specificare la stringa con gli spazi andando ad includere in maniera automatica anche lo spazio stesso Quindi, definito sempre fisrtName = Harry e lasName= Morgan se vogliamo scrivere la stringa Harry spazio Morgan , possiamo concatenare Harry con la stringa che contiene un blanc quindi doppi apici “ spazio “ doppi apici, il cognome Come mai l’operatore + applicato alle stringhe dà questo comportamento visto che fino ad ora + era utilizzato nel caso della somma? Questo è un esempio di un concetto generale di programmazione orientata agli oggetti che si chiama Overloading di operatori, ovvero, che si utilizza un solo operatore, quindi si compatta, il cui comportamento è differente a seconda delle tipo di variabile a cui è applicato. Quindi, nel caso dei numeri l’operatore assume il significato di somma e nel caso di stringhe assume il significato di concatenare.

Ma anche l’operatore * (per) può essere utilizzato come overloading, ma in questo caso significa ripetere. Ad esempio se andiamo a scrivere: Stiamo producendo la stringa che avrà Nello stesso modo dashes Se andiamo a scrivere il trattino alto - * (per) 50, la stringa conterrà 50 trattini alti Quindi, l’operatore asterisco produrrà una stringa ‘ripetere’, come ‘concatenare con sé stesso’.

Al contrario possiamo invece convertire una stringa nel suo valore numerico. Utilizzeremo la funzione int e la funzione float, la funzione int converte una stringa nel suo valore intero, la funzione float converte una stringa nel suo valore con la virgola, in virgola mobile. Quindi, se scriviamo stiamo convertendo la stringa 1729 nel numero intero 1729 (millesettecentoventinove) Quando vogliamo convertire un numero con la virgola, 17.29 utilizzeremo l’operatore float Queste conversioni con l’operatore str, int e float saranno utilizzate ogni qual volta avremo necessità di convertire una stringa in un valore numerico o viceversa. Anche quando vogliamo concatenare un numero con una stringa, questo perché sarà impossibile concatenare un numero con una stringa. Si possono concatenare solo delle stringhe con delle stringhe. Quindi utilizzeremo la funzione str o int e float. RICAPITOLANDO: Str= va a convertire una stringa in un numero, sia esso numero intero o un numero in virgola mobile, a seconda se in ingresso ci sia un numero o un numero in virgola mobile tradotto in una stringa. Int e Float: convertono una stringa che è data in ingresso in un numero, quindi una quantità che ha un valore numerico. Occhio che quando si converte una stringa in un valore numerico, eventuali spazi presenti all’inizio o alla fine verranno tagliati e non verranno considerati degli operatori int o float.

Una stringa abbiamo detto essere una sequenza di caratteri, in particolare è una sequenza di caratteri di UNICODE , (riferimento alla rappresentazione dei caratteri) Quali caratteri possono essere rappresentati dai computer, il computer ha quella che viene definita una sua rappresentazione. Rappresentazione di quelle che si chiamano ‘gli alfabeti’, ad esempio l’alfabeto inglese così come quello italiano è da questo punto di vista abbastanza semplici, contengono lettere dalla a alla z, e lettere maiuscole e minuscole. Altre lingue come ad esempio l’italiano rispetto all’inglese utilizzano anche delle lettere accentate (ad esempio la e con accento acuto e grave) avremo il tedesco con i caratteri speciali come la cosiddetta (beta grande) o la doppia esse sostanzialmente e così via. Quindi significa che se un programma deve poter contenere dei caratteri anche in queste lingue deve avere la necessità di codificare anche questi caratteri. Esistevano delle prime rappresentazioni, come la rappresentazione cosiddetta asci o asky (scritta asci) che conteneva, utilizzava 8 bit per la rappresentazione quindi un centinaio di caratteri e questa non riusciva a rappresentare completamente tutti i vari caratteri. Ecco perché sono state introdotte delle rappresentazioni più grandi. Unicode è lo standard attuale, utilizza 64 bit ed è in grado di rappresentare teoricamente quasi tutti i caratteri presenti sulla terra, in grado di rappresentare in un'unica codifica caratteri russi, grechi, ebraici, arabi, giusto per citarne qualcuno. A partire dalla fine degli anni 80 intorno al 1988 un consorzio di produttori di hardware e software ha deciso di sviluppare una codifica standard, una codifica per tutti questi caratteri, la codifica unicode che è un sistema di codifica omogeneo che è stato progettato e poi successivamente realizzato per codificare i caratteri di pressoché tutte le lingue del mondo.

Abbiamo detto che una stringa è una sequenza di caratteri, quindi questo cosa significa, che non potrà essere memorizzata la stringa in un singolo spazio (cella) di memoria, ma dovrà esserci un qualcosa per immaginare un trenino con i vari vagoni. Una stringa sarà una sorta di variabile complessa, come se diciamo un insieme di caratteri, ogni carattere viene memorizzato in un posto, e ogni posto sarà identificato da un numero. Dal primo fino all’ultimo. Il primo elemento di una stringa, in informatica il primo posto non è identificato da 1 ma sarà identificato da 0. Supponiamo quindi di avere la stringa “Chars here” Ogni carattere di questa stringa sarà memorizzato in uno spazio differente. Proprio una sorta di cella, locazione, posto, in una fila di posti ogni persona assume un proprio posto. Il primo carattere avrà indice 0. La posizione verrà chiamata indice quindi ogni posizione sarà identificata da un numero.

Possiamo estrarre da questa stinga un solo carattere? Si. Con l’operatore parentesi quadre [ ]. Quest'operatore ci consente di accedere, selezionare, leggere al singolo carattere. L'operatore indice quindi cosa fa sostanzialmente, riceverà in ingresso un indice valido, ovvero compreso tra 0 e il massimo. E restituisce l’uscita il carattere la cui posizione è data da quell’indice. Supponiamo di aver definito la stringa name name= Harry Quindi si utilizzerà il nome della stringa che vogliamo leggere, quindi in questo caso ‘name’ poi parentesi [ ] e poi un indice valido Ad esempio name di 3 rappresenterà la r, quindi name di 3, restituirà, produrrà, come uscita il carattere r.

Len applicato ad una stringa, ci darà la lunghezza. Occhio, cosa significa ciò, se abbiamo la stringa s= ‘pippo’ , la lunghezza len di s (s) Contando i caratteri len di s sarà uguale a 5, l’ultimo carattere quindi avrà indice 4. ovvero la lunghezza meno uno. Perché? Perché si parte da zero. Il primo carattere avrà sempre indice 0, la lunghezza l’ultimo carattere di una stringa avrà sempre come indice la lunghezza della stringa che chiamiamo len meno 1. METODI Un metodo è una funzione applicata a queste classi particolari di variabili come le stringhe che sono degli oggetti

COME SI UTILIZZANO I METODI

I metodi per le stringhe si utilizzano con il nome della stringa. (punto)E il nome nel metodo. Utilizziamo gli String Escape Come utilizzare i caratteri speciali all’interno di una stringa, possiamo utilizzare ad esempio un tab, quindi una tabulazione all’interno di una stringa scriveremo \t Per utilizzare diciamo o andare da capo utilizzeremo \n Per un blanc \b