Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> python

Strings Python

Strings Python


Neste tutorial, você aprenderá a criar, formatar, modificar e excluir strings em Python. Além disso, você será apresentado a várias operações e funções de string.

Vídeo:Strings Python

O que é String em Python?


Uma string é uma sequência de caracteres.

Um caractere é simplesmente um símbolo. Por exemplo, o idioma inglês tem 26 caracteres.

Computadores não lidam com caracteres, eles lidam com números (binários). Mesmo que você veja caracteres na tela, internamente eles são armazenados e manipulados como uma combinação de 0s e 1s.

Essa conversão de caractere em um número é chamada de codificação, e o processo inverso é decodificação. ASCII e Unicode são algumas das codificações populares usadas.

Em Python, uma string é uma sequência de caracteres Unicode. O Unicode foi introduzido para incluir todos os caracteres em todos os idiomas e trazer uniformidade na codificação. Você pode aprender sobre Unicode em Python Unicode.

Como criar uma string em Python?


Strings podem ser criadas colocando caracteres entre aspas simples ou aspas duplas. Mesmo aspas triplas podem ser usadas em Python, mas geralmente usadas para representar strings de várias linhas e docstrings.
# defining strings in Python
# all of the following are equivalent
my_string = 'Hello'
print(my_string)

my_string = "Hello"
print(my_string)

my_string = '''Hello'''
print(my_string)

# triple quotes string can extend multiple lines
my_string = """Hello, welcome to
           the world of Python"""
print(my_string)

Ao executar o programa, a saída será:
Hello
Hello
Hello
Hello, welcome to
           the world of Python

Como acessar caracteres em uma string?


Podemos acessar caracteres individuais usando indexação e um intervalo de caracteres usando fatiamento. O índice começa em 0. Tentar acessar um caractere fora do intervalo de índice gerará um IndexError . O índice deve ser um número inteiro. Não podemos usar floats ou outros tipos, isso resultará em TypeError .

Python permite indexação negativa para suas sequências.

O índice de -1 refere-se ao último item, -2 até o penúltimo item e assim por diante. Podemos acessar um intervalo de itens em uma string usando o operador de fatiamento : (cólon).
#Accessing string characters in Python
str = 'programiz'
print('str = ', str)

#first character
print('str[0] = ', str[0])

#last character
print('str[-1] = ', str[-1])

#slicing 2nd to 5th character
print('str[1:5] = ', str[1:5])

#slicing 6th to 2nd last character
print('str[5:-2] = ', str[5:-2])

Quando executamos o programa acima, obtemos a seguinte saída:
str =  programiz
str[0] =  p
str[-1] =  z
str[1:5] =  rogr
str[5:-2] =  am

Se tentarmos acessar um índice fora do intervalo ou usar números diferentes de um número inteiro, obteremos erros.
# index must be in range
>>> my_string[15]  
...
IndexError: string index out of range

# index must be an integer
>>> my_string[1.5] 
...
TypeError: string indices must be integers

O fatiamento pode ser melhor visualizado considerando o índice entre os elementos, conforme mostrado abaixo.

Se quisermos acessar um intervalo, precisamos do índice que cortará a parte da string.

Como alterar ou excluir uma string?




Strings são imutáveis. Isso significa que os elementos de uma string não podem ser alterados depois de atribuídos. Podemos simplesmente reatribuir diferentes strings ao mesmo nome.
>>> my_string = 'programiz'
>>> my_string[5] = 'a'
...
TypeError: 'str' object does not support item assignment
>>> my_string = 'Python'
>>> my_string
'Python'

Não podemos excluir ou remover caracteres de uma string. Mas excluir a string inteiramente é possível usando o del palavra-chave.
>>> del my_string[1]
...
TypeError: 'str' object doesn't support item deletion
>>> del my_string
>>> my_string
...
NameError: name 'my_string' is not defined

Operações de string do Python


Existem muitas operações que podem ser realizadas com strings, o que o torna um dos tipos de dados mais usados ​​em Python.

Para saber mais sobre os tipos de dados disponíveis em Python, visite:Python Data Types

Concatenação de duas ou mais strings


A junção de duas ou mais strings em uma única é chamada de concatenação.

O + operador faz isso em Python. Simplesmente escrever dois literais de string juntos também os concatena.

O * O operador pode ser usado para repetir a string por um determinado número de vezes.
# Python String Operations
str1 = 'Hello'
str2 ='World!'

# using +
print('str1 + str2 = ', str1 + str2)

# using *
print('str1 * 3 =', str1 * 3)

Quando executamos o programa acima, obtemos a seguinte saída:
str1 + str2 =  HelloWorld!
str1 * 3 = HelloHelloHello

Escrever dois literais de string juntos também os concatena como + operador.

Se quisermos concatenar strings em linhas diferentes, podemos usar parênteses.
>>> # two string literals together
>>> 'Hello ''World!'
'Hello World!'

>>> # using parentheses
>>> s = ('Hello '
...      'World')
>>> s
'Hello World'

Iterando por meio de uma string


Podemos iterar através de uma string usando um loop for. Aqui está um exemplo para contar o número de 'l's em uma string.
# Iterating through a string
count = 0
for letter in 'Hello World':
    if(letter == 'l'):
        count += 1
print(count,'letters found')

Quando executamos o programa acima, obtemos a seguinte saída:
3 letters found

String de teste de associação


Podemos testar se uma substring existe ou não dentro de uma string, usando a palavra-chave in .
>>> 'a' in 'program'
True
>>> 'at' not in 'battle'
False

Funções incorporadas para trabalhar com Python


Várias funções internas que funcionam com sequência também funcionam com strings.

Alguns dos mais usados ​​são enumerate() e len() . O enumerate() A função retorna um objeto enumerar. Ele contém o índice e o valor de todos os itens na string como pares. Isso pode ser útil para iteração.

Da mesma forma, len() retorna o comprimento (número de caracteres) da string.
str = 'cold'

# enumerate()
list_enumerate = list(enumerate(str))
print('list(enumerate(str) = ', list_enumerate)

#character count
print('len(str) = ', len(str))

Quando executamos o programa acima, obtemos a seguinte saída:
list(enumerate(str) =  [(0, 'c'), (1, 'o'), (2, 'l'), (3, 'd')]
len(str) =  4

Formatação de string em Python

Sequência de escape


Se quisermos imprimir um texto como Ele disse:"O que há?" , não podemos usar aspas simples nem aspas duplas. Isso resultará em um SyntaxError pois o próprio texto contém aspas simples e duplas.
>>> print("He said, "What's there?"")
...
SyntaxError: invalid syntax
>>> print('He said, "What's there?"')
...
SyntaxError: invalid syntax

Uma maneira de contornar esse problema é usar aspas triplas. Alternativamente, podemos usar sequências de escape.

Uma sequência de escape começa com uma barra invertida e é interpretada de forma diferente. Se usarmos aspas simples para representar uma string, todas as aspas simples dentro da string devem ser escapadas. Semelhante é o caso com aspas duplas. Aqui está como isso pode ser feito para representar o texto acima.
# using triple quotes
print('''He said, "What's there?"''')

# escaping single quotes
print('He said, "What\'s there?"')

# escaping double quotes
print("He said, \"What's there?\"")

Quando executamos o programa acima, obtemos a seguinte saída:
He said, "What's there?"
He said, "What's there?"
He said, "What's there?"

Aqui está uma lista de todas as sequências de escape suportadas pelo Python.
Sequência de escape Descrição
\newline Barra invertida e nova linha ignorados
\\ Barra invertida
\' Aspas simples
\" Aspas duplas
\a Sino ASCII
\b Retrocesso ASCII
\f Formulário ASCII
\n Avanço de linha ASCII
\r Devolução de carro ASCII
\t Guia Horizontal ASCII
\v Guia Vertical ASCII
\oo Caractere com valor octal ooo
\xHH Caractere com valor hexadecimal HH

Aqui estão alguns exemplos
>>> print("C:\\Python32\\Lib")
C:\Python32\Lib

>>> print("This is printed\nin two lines")
This is printed
in two lines

>>> print("This is \x48\x45\x58 representation")
This is HEX representation

String bruta para ignorar a sequência de escape


Às vezes, podemos querer ignorar as sequências de escape dentro de uma string. Para fazer isso, podemos colocar r ou R na frente da corda. Isso implicará que é uma string bruta e qualquer sequência de escape dentro dela será ignorada.
>>> print("This is \x61 \ngood example")
This is a
good example
>>> print(r"This is \x61 \ngood example")
This is \x61 \ngood example

O método format() para formatação de strings


O format() O método que está disponível com o objeto string é muito versátil e poderoso na formatação de strings. As strings de formato contêm chaves {} como espaços reservados ou campos de substituição que são substituídos.

Podemos usar argumentos posicionais ou argumentos de palavras-chave para especificar a ordem.
# Python string format() method

# default(implicit) order
default_order = "{}, {} and {}".format('John','Bill','Sean')
print('\n--- Default Order ---')
print(default_order)

# order using positional argument
positional_order = "{1}, {0} and {2}".format('John','Bill','Sean')
print('\n--- Positional Order ---')
print(positional_order)

# order using keyword argument
keyword_order = "{s}, {b} and {j}".format(j='John',b='Bill',s='Sean')
print('\n--- Keyword Order ---')
print(keyword_order)

Quando executamos o programa acima, obtemos a seguinte saída:
--- Default Order ---
John, Bill and Sean

--- Positional Order ---
Bill, John and Sean

--- Keyword Order ---
Sean, Bill and John

O format() O método pode ter especificações de formato opcionais. Eles são separados do nome do campo usando dois pontos. Por exemplo, podemos justificar à esquerda < , justifique > à direita ou centro ^ uma string no espaço dado.

Também podemos formatar inteiros como binários, hexadecimais, etc. e os floats podem ser arredondados ou exibidos no formato exponencial. Há toneladas de formatação que você pode usar. Visite aqui para ver todas as formatações de strings disponíveis com o format() método.
>>> # formatting integers
>>> "Binary representation of {0} is {0:b}".format(12)
'Binary representation of 12 is 1100'

>>> # formatting floats
>>> "Exponent representation: {0:e}".format(1566.345)
'Exponent representation: 1.566345e+03'

>>> # round off
>>> "One third is: {0:.3f}".format(1/3)
'One third is: 0.333'

>>> # string alignment
>>> "|{:<10}|{:^10}|{:>10}|".format('butter','bread','ham')
'|butter    |  bread   |       ham|'

Formatação de estilo antigo


Podemos até formatar strings como o antigo sprintf() estilo usado na linguagem de programação C. Usamos o % operador para fazer isso.
>>> x = 12.3456789
>>> print('The value of x is %3.2f' %x)
The value of x is 12.35
>>> print('The value of x is %3.4f' %x)
The value of x is 12.3457

Métodos de string Python comuns


Existem vários métodos disponíveis com o objeto string. O format() método que mencionamos acima é um deles. Alguns dos métodos mais usados ​​são lower() , upper() , join() , split() , find() , replace() etc. Aqui está uma lista completa de todos os métodos embutidos para trabalhar com strings em Python.
>>> "PrOgRaMiZ".lower()
'programiz'
>>> "PrOgRaMiZ".upper()
'PROGRAMIZ'
>>> "This will split all words into a list".split()
['This', 'will', 'split', 'all', 'words', 'into', 'a', 'list']
>>> ' '.join(['This', 'will', 'join', 'all', 'words', 'into', 'a', 'string'])
'This will join all words into a string'
>>> 'Happy New Year'.find('ew')
7
>>> 'Happy New Year'.replace('Happy','Brilliant')
'Brilliant New Year'

python

  1. Cadeia C#
  2. Dicionário Python
  3. Strings Java
  4. Java enum Strings
  5. Strings Python:Substituir, Unir, Dividir, Reverter, Maiúsculas e Minúsculas
  6. Função Python String strip () com EXEMPLO
  7. Python String count() com EXEMPLOS
  8. Python String format() Explique com EXEMPLOS
  9. Comprimento da string do Python | Exemplo do método len()
  10. Método Python String find() com exemplos