0% acharam este documento útil (0 voto)
16 visualizações7 páginas

Modulo 3 - Tipo de Dados String

Tipo de Dados String

Enviado por

Eloi favero ctic
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
16 visualizações7 páginas

Modulo 3 - Tipo de Dados String

Tipo de Dados String

Enviado por

Eloi favero ctic
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 7

© E.L.

Favero Algoritmos em Python 25

<class 'float'>
© E.L.Favero Algoritmos em Python 26

Capítulo
3 TIPO DE DADOS STRING
Este capítulo apresenta o tipo de dados string usado para representar nomes e
textos. Eles são muitos usados nos comandos de entrada e saída. Aqui tratamos de vários
operadores e métodos de manipulação de strings: operadores + % *; métodos lower(),
upper(), split(), strip(). Fatiamento de strings. Composição de strings. Caracteres ascii.

3.1 Tipo STRING


Para atribuirmos para uma variável um string, basta que coloquemos entre aspas simples,
ou triplas, como mostra o exemplo abaixo; pode ser também apóstrofo. Neste print
concatenamos as 3 strings usando o operador +. Entre eles colocamos o string fim de linha
“\n”.

A='Isso é uma String com apostrofo'


B="Isso é uma String com aspas"
A3='''Isso é uma String com 3 apostrofo'''
B3="""Isso é uma String com 3 aspas"""
print('varios strings:'+'\n'+A+'\n'+B+'\n'+A3+'\n'+B3+'\n')

Strings no início de uma linha, sem o comando de atribuição são considerados comentários.
O string com três aspas pode ocupar várias linhas. É útil em programas grandes para
colocar uma parte do código programa como comentário, ou para representar um texto
grande dentro do código do programa.

""" aqui é comentário


Exemplo com string
© E.L.Favero Algoritmos em Python 27

grande"""

b="""Este texto tem


algumas linhas
esta é a terceira
esta é a quarta"""
print(b.split())
>>>
['Este', 'texto', 'tem', 'algumas', 'linhas', 'esta', 'é', 'a',
'terceira', 'esta', 'é', 'a', 'quarta']

O método Split quebra o string e devolve uma lista, acima temos uma lista de palavras. Litas
só veremos mais adiante, mas aqui vamos nos familiarizando com a notação.

Os strings em python são não mutáveis. Portanto, se temos uma string a fazemos b=a;
serão duas cópias diferentes; se modificamos o a não modifica o b. Para isso acontecer as
variáveis string são referencias (apontam para) os conteúdos. Ver abaixo.

3.2 Composição de string


O tipo string permite muitas operações, entre elas, atribuição =, concatenação +,
multiplicação *, composição %. Nas linhas 1 e 2, abaixo, são criadas 2 variáveis as quais
atribuímos uma string. Na linha 3 usa-se a composição de strings %, um recurso que
preenche os marcadores escritos com %s, do tipo string, a partir de uma tupla de valores
(valores entre parênteses).

nome1 = "Linguagem Python"


nome2 = 'Algoritmos'
print ("Texto de %s para programação na %s" % (nome2, nome1))
>>>
Texto de Algoritmos para programação na Linguagem Python

>>> '-'*10
'----------'
© E.L.Favero Algoritmos em Python 28

Para a composição de strings temos inúmeros marcadores, para os diferentes tipos de


dados: caracteres, string, decimais com sinal e sem sinal, decimais em outras bases (ver
final do capítulo 2) e ponto flutuante.

Marcador do tipo de dados Conversão


%s String
%i, %d Decimal inteiro
%x, %X Hexadecimal Inteiro
%e, %E Notação exponencial
%f Ponto flutuante (Números reais)
Alguns formatos para a composição de strings

>>> 'tempo: %5.2f horas' % (42.232232)


'tempo: 42.23 horas'

No exemplo acima o tempo é mostrado apenas com duas casas decimais. 5 casas no total,
duas depois do ponto. Aos poucos vamos introduzindo o uso destes formatos para a
composição de strings.
Além dos operadores (+ % *) para strings temos vários outros métodos tais como
lower(), upper(), split(), strip(), etc. O método startswith(prefixo) retorna True se uma string
começa com o prefixo passado por argumento, e False caso contrário.
O termos lower(), upper(), split(), strip() significam:

 lower(), caixa baixa


 upper(), caixa alta
 split(), quebra
 strip(), limpa brancos
 startswith(), começa com
 len(), (length), comprimento
 capitalize(), primeira letra em maiúscula

Seguem alguns exemplo. Como trabalhar com letras maiúsculas e ou minúsculas: O


capitalize(), exibe em caixa alta apenas o primeiro caractere de cada palavra; o upper()
retorna em caixa alta e lower() retorna em caixa baixa.

>>> nome1 = "Linguagem Python"


>>> nome1.upper()
'LINGUAGEM PYTHON'
>>> nome1.lower()
'linguagem python'

Podemos testar como começa o início de um string, no caso o nome1 definido acima.
Depois o método strip() retorna uma cópia da string com os espaços em branco removidos
(antes e depois).

>>> nome1.startswith('lin')
False
>>> nome1.startswith('Lin')
True
© E.L.Favero Algoritmos em Python 29

>>> ' aaa '.strip()


'aaa'

Duas funções muito úteis são split() e len(). A Split() quebra e retorna uma lista com os
pedaços. A função len() determina o comprimento da string (quantas letras possui).

>>> x='2,5,7, 12, 15, 7'


>>> x.split(',')
['2', '5', '7', ' 12', ' 15', ' 7']
>>>
>>> len('abcd')
4

3.3 Indexação e fatiamento


Abaixo temos um exemplo de fatiamento de string [:], [início:fim]. nome1[10:] pega a partir
da posição 10 até o fim; nome[10:13] pega a partir da posição 10 até a 12; nome[:5] pega do
início até o 4. Note que o início conta mas o fim não conta, é exclusive fim: fim=13 na prática
é até 12; fim=5 na prática é até 4. Isto é porque a indexação (numeração) começa no
zero. Na prática nome1[:5] pega os primeiros 5 caracteres.

>>> nome1 = "Linguagem Python"


# 0123456789012345
>>> nome1[10:]
'Python'
>>> nome1[10:13]
'Pyt'
>>> nome1[:5]
'Lingu'

3.4 Chr() & Ord() - Carateres ASCII


A tabela Ascii define o mapeamento do conjunto de caracteres para o valor inteiro
representável num byte. As funções chr() e ord() codificam o mapeamento. A função chr()
converte o valor inteiro num caractere e a função ord() retorna o valor inteiro do caractere.

>>> chr(48)
'0'
>>> chr(49)
'1'
>>> chr(65)
'A'
>>> chr(90)
'Z'
>>> chr(97)
'a'
>>> ord('3')
51
>>> ord('b')
98

Abaixo temos um resumo da tabela Ascii, para os principais grupos de letras. As letras de
controle são utilizadas internamente pelos sistemas computacionais principalmente para
© E.L.Favero Algoritmos em Python 30

comunicação de dados. O ord(' ')=32; ord('\t')=9; ord('\n')=10; respectivamente ord() do


espaço, tabulação e nova linha.

Tipo Valores Representação


controle 0..8,
14..31,
127
alfabéticos 65..90, ABCDEFGHIJKLMNOPQRSTUVWXYZ
97..122 abcdefghijklmnopqrstuvwxyz
dígitos 48..57 0123456789
espaços 9..13, 32
pontuação 33..47, !"#$%&'()*+,-./
58..64, :;<=>?@
91..96, [\]^_`
123..126 {|}~

3.5 Lista de exercícios (8)


Programe os exercícios utilizando fatiamento mais as funções e operadores sobre
string apresentados acima.
E3.1 Seja, a='jhon lenon’ . Imprima o conteúdo da variável a capitalizado.

E3.2 Seja, a='jhon lenon’ . Imprima o conteúdo da variável todo em caixa alta.
E3.3 Seja, a='jhon lenon’ . A partir de a, imprima “Lenon, Jhon”. Use fatiamento e
capitalize().
a='jhon lenon'
# 0123456789
print(a[5:].capitalize()+ ', ' + a[:4].capitalize())
>>>
Lenon, Jhon
E3.4 Seja, a='jhon lenon’ . A partir de a, imprima “Jhon, Jhon, Jhon, Lenon. Use
também o operador * para string.
E3.5 Seja, a='jhon lenon’ . A partir de a, imprima “----------Jhon---------“. Use também o
operador * para string.
E3.6 Seja, a='jhon lenon’ . A partir de a, imprima “J. Lenon”.

a='jhon lenon'
# 0123456789
print(a[0].upper()+ '. ' + a[5:].capitalize())
>>>
J. Lenon
E3.7 Seja b="tinoco". Escreva "TINoco", pegando fatias da string b.
E3.8 Seja a='jhon \nlenon \n'. Escreva "LENON, JHON", pegando fatias da string a.
© E.L.Favero Algoritmos em Python 31

3.5.1 Perguntas conceituais (4)


Responda com no mínimo 10 palavras e no máximo 20 palavras:

C3.1 Qual a diferença entre uma string declarada com aspas (apóstrofos) ou 3 aspas?

C3.2 Quais os diferentes usos do operador %, para inteiros e para strings ?

C3.3 Qual o uso do “\n”?

RESUMO:
string com um apóstrofo ou aspas
string com três apóstrofos ou aspas (multi linhas)
string no início de linha como comentário
operadores sobre expressões de string: concatenação +, multiplicação *, composição %
lower(), caixa baixa
upper(), caixa alta
split(), quebra
strip(), limpa brancos
startswith(), começa com
len(), (length), comprimento
capitalize(), primeira letra em maiúscula
fatiamento [início:fim]
tabela ascii
ord() valor ascii do caractere
chr() char do valor ascii

Você também pode gostar