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

Introdução ao Python: Características e Uso

O documento fornece uma introdução à linguagem de programação Python. Discute as principais características do Python, incluindo que é uma linguagem de script de alto nível, interpretada, interativa e orientada a objetos. Foi projetada para ser altamente legível, utilizando palavras-chave em inglês. O Python é bem adequado para iniciantes e suporta o desenvolvimento de uma ampla gama de aplicações. O documento também aborda instruções Python, identificadores, palavras-chave, indentação, que é usada para definir blocos de código, e comentários.

Traduzido por

ScribdTranslations
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)
52 visualizações119 páginas

Introdução ao Python: Características e Uso

O documento fornece uma introdução à linguagem de programação Python. Discute as principais características do Python, incluindo que é uma linguagem de script de alto nível, interpretada, interativa e orientada a objetos. Foi projetada para ser altamente legível, utilizando palavras-chave em inglês. O Python é bem adequado para iniciantes e suporta o desenvolvimento de uma ampla gama de aplicações. O documento também aborda instruções Python, identificadores, palavras-chave, indentação, que é usada para definir blocos de código, e comentários.

Traduzido por

ScribdTranslations
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

Notas de Python

TUTORIAL DE PYTHON
Cap. 1
Introdução
Python é uma linguagem de programação de propósito geral, interpretada, interativa, orientada a objetos e de alto nível.

linguagem de programação de nível alto. Foi criada por Guido van Rossum entre 1985 e 1990.
Assim como o Perl, o código-fonte do Python também está disponível sob a Licença Pública Geral GNU
(GPL). Este tutorial oferece entendimento suficiente sobre a linguagem de programação Python.

Por que aprender Python?


Python é uma linguagem de script de alto nível, interpretada, interativa e orientada a objetos.
Python foi projetado para ser altamente legível. Ele usa palavras-chave em inglês com frequência, enquanto
Outras línguas usam pontuação, e têm menos construções sintáticas do que outras
línguas.
Python é IMPRESCINDÍVEL para estudantes e profissionais em ativo se tornarem grandes desenvolvedores de Software
Engenheiro, especialmente quando estão trabalhando no domínio do desenvolvimento web. Vou listar a seguir
algumas das principais vantagens de aprender Python:

Python é Interpretado - Python é processado em tempo de execução pelo interpretador.


não é necessário compilar seu programa antes de executá-lo. Isso é semelhante ao PERL
e PHP.
Python é interativo - Você pode realmente sentar-se em um prompt do Python e interagir com
o intérprete diretamente para escrever seus programas.

Python é Orientado a Objetos - Python suporta o estilo Orientado a Objetos ou


técnica de programação que encapsula código dentro de objetos.
Python é uma linguagem para iniciantes - Python é uma ótima linguagem para o
programadores de nível iniciante e apoia o desenvolvimento de uma ampla gama de
aplicações que vão desde o processamento de texto simples até navegadores da WWW e jogos.

Características do Python
A seguir estão características importantes da Programação em Python−

Ele suporta métodos de programação funcional e estruturada, além de POO.


Pode ser usado como uma linguagem de script ou pode ser compilado para byte-code para
construindo grandes aplicações.

Ele fornece tipos de dados dinâmicos de muito alto nível e suporta tipos dinâmicos.
verificando.
Ele suporta coleta de lixo automática.
Pode ser facilmente integrado com C, C++, COM, ActiveX, CORBA e Java.

Aplicações do Python
Como mencionado anteriormente, Python é uma das linguagens mais utilizadas na web. Estou
vou listar alguns deles aqui:
Fácil de aprender− Python tem poucas palavras-chave, estrutura simples e uma clara
sintaxe definida. Isso permite que o estudante aprenda o idioma rapidamente.

Fácil de ler - O código Python é mais claramente definido e visível aos olhos.

Fácil de manter - O código fonte do Python é bastante fácil de manter.

Uma biblioteca padrão ampla - a maior parte da biblioteca do Python é muito portátil e
compatível entre plataformas no UNIX, Windows e Macintosh.
Modo Interativo− Python tem suporte para um modo interativo que permite
teste interativo e depuração de trechos de código.
Portátil− O Python pode ser executado em uma ampla variedade de plataformas de hardware e possui o
mesma interface em todas as plataformas.

Extensível− Você pode adicionar módulos de baixo nível ao interpretador Python. Esses
os módulos permitem que os programadores adicionem ou personalizem suas ferramentas para serem mais
eficiente.
Bancos de dados - Python fornece interfaces para todos os principais bancos de dados comerciais.

Programação GUI− Python suporta aplicativos GUI que podem ser criados e
portado para muitas chamadas de sistema, bibliotecas e sistemas Windows, como o Windows
MFC, Macintosh e o sistema X Window do Unix.
Escalável− Python fornece uma melhor estrutura e suporte para programas grandes
do que a programação em shell.

Python é uma linguagem de script de alto nível, interpretada, interativa e orientada a objetos.
Python foi projetado para ser altamente legível. Ele usa palavras-chave em inglês com frequência, enquanto
outros idiomas usam pontuação, e tem menos construções sintáticas do que outros
idiomas.
Python é interpretado - Python é processado em tempo de execução pelo interpretador.
não precisa compilar seu programa antes de executá-lo. Isso é semelhante ao PERL
e PHP.
Python é Interativo - Você pode realmente sentar-se em um prompt do Python e interagir com
o intérprete diretamente para escrever seus programas.

Python é Orientado a Objetos− Python suporta o estilo Orientado a Objetos ou


técnica de programação que encapsula código dentro de objetos.
Python é uma linguagem para iniciantes - Python é uma ótima linguagem para o
programadores de nível iniciante e apoia o desenvolvimento de uma ampla gama de
aplicações desde o processamento de texto simples até navegadores da WWW e jogos.
Cap. 2
Palavras-chave e Identificadores do Python
Hoje vamos aprender sobre palavras-chave (palavras reservadas em Python) e identificadores (nomes)
dado a variáveis, funções, etc.).

Palavras-chave do Python

As palavras-chave são as palavras reservadas em Python.

Não podemos usar uma palavra-chave como umavariávelnomefunçãotemnome ou qualquer outro identificador.

Eles são usados para definir a sintaxe e a estrutura da linguagem Python.

Em Python, as palavras-chave diferenciam maiúsculas de minúsculas.

Existem 33 palavras-chave no Python 3.7. Este número pode variar ligeiramente ao longo do tempo.

oftme.

Todas as palavras-chave, excetoVerdadeiro, FalsoeNenhumestão em letras minúsculas e devem ser

escrito como estão. A lista de todas as palavras-chave está abaixo.


Falso aguardar caso contrário importar passe

Nenhum quebrar exceto em aumentar

Verdadeiro classe finalmente é retornar

e continuar para lambda tente

como def de não local enquanto

afirmar del global não com

Rendimento
assíncrono senão se se ou
Identificadores Python
Um identificador é um nome dado a entidades como classes, funções, variáveis, etc. Ele ajuda a
diferenciar uma entrada da outra.
Regras para escrever identificadores

1. Identfiers can be a combinaton of leters in lowercase(ato z)or uppercase


(A a Z) ou dígitos (0 a 9) ou um sublinhado_. Nomes comominhaClasse, var_1e
imprima_isso_na_tela, todos são exemplos válidos.

2. Um identificador não pode começar com um dígito.1variávelé inválido, masvariável1é um


nome válido.

3. Palavras-chave não podem ser usadas como identificadores.

E.g global =1

SaídaArquivo "<entrada interativa>", linha 1 global = 1

Erro de Sintaxe:

sintaxe inválida

4. Não podemos usar símbolos especiais como !,@,#,$,% etc. em nosso identificador. a@ =0

Arquivo "<entrada interativa>", linha 1 a@ = 0 ^Erro de Sintaxe:

sintaxe inválida

5. Um identificador pode ter qualquer comprimento.

Coisas para Lembrar


Python é uma linguagem sensível a maiúsculas e minúsculas. Isso significa que, Variável e variável não são o

o mesmo. Sempre dê aos identificadores um nome que faça sentido. Enquanto c = 10 é um válido

nome, contagem de escrita = 10 faria mais sentido, e seria mais fácil de entender
o que representa quando você olha seu código depois de um longo intervalo.

Várias palavras podem ser separadas usando um sublinhado, como esta_e_uma_variavel_longa.


Cap. 3
Afirmação Python, Indentação e
Comentários
Neste tutorial, você aprenderá sobre declarações em Python, por que a indentação é
importante e uso de comentários na programação.
Declaração em Python
Instruções que um interpretador Python pode executar são chamadas de declarações. Para
exemplo,a = 1 é uma declaração de atribuiçã[Link]çãoparadeclaraçãoenquanto
declaração, etc. são outros tipos de declarações que serão discutidas mais tarde.
Declaração de múltiplas linhas

Em Python, o fim de uma instrução é marcado por um caractere de nova linha. Mas nós
pode fazer uma declaração se estender por várias linhas com a continuação de linha
caractere (\). Por exemplo:
a=1+2+3+\

4+5+6+\

7+8+9

Esta é uma continuação de linha explícita. No Python, a continuação de linha é implícita


dentro de parênteses ( ), colchetes [ ] e chaves { }. Por exemplo, podemos
implemente a declaração de várias linhas acima como:

a = (1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9)

Aqui, os parênteses ao redor ( ) fazem a continuação da linha implicitamente. Mesmo


é o caso com [ ] e { }. Por exemplo:
colors = [‘red’, ‘blue’, ‘green’]
Também podemos colocar várias declarações em uma única linha usando ponto e vírgula, como

seguem:a = 1; b = 2; c = 3

Indentação em Python
A maioria das linguagens de programação, como C, C++ e Java, usa chaves { } para
defina um bloco de código. O Python, no entanto, usaindentação.

Um bloco de código (corpo de umfunção, laço, etc.) começa com indentação e termina
com a primeira linha não indentada. A quantidade de indentação fica a seu critério, mas isso

deve ser consistente em todo aquele bloco.

Geralmente, quatro espaços em branco são usados para indentação e são preferidos em relação a

abas. Aqui está um exemplo.


Para i em faixa(1,11):

print(i)

se i == 5: quebra

A aplicação da indentação em Python faz com que o código pareça organizado e


limpo. Isso resulta em programas Python que se parecem semelhantes e consistentes.

A indentação pode ser ignorada na continuação de linha, mas sempre é uma boa ideia
indentação. Isso torna o código mais legível. Por exemplo:

se Verdadeiro:

print('Olá')

a=5

e
se Verdadeiro: imprima(‘Olá’); a = 5

ambos são válidos e fazem a mesma coisa, mas o primeiro estilo é mais claro.

A indentação incorreta resultará emErro de Indentação.


Comentários em Python
Comentários são muito importantes ao escrever um programa. Eles descrevem o que é
acontecendo dentro de um programa, de modo que uma pessoa olhando para o código-fonte não

não ter dificuldade em descobrir isso.

Você pode esquecer os detalhes principais do programa que você acabou de escrever em um mês.

tempo. Portanto, levar o tempo para explicar esses conceitos na forma de comentários é
sempre frutífero.

Em Python, usamos o símbolo de hash (#) para começar a escrever um comentário.

Estende-se até o caractere de nova linha. Comentários são para programadores para
entender melhor um programa. O interpretador Python ignora comentários.

#Este é um comentário

imprimir Helloprint('Olá')

Comentários em várias linhas

Podemos ter comentários que se estendem por várias linhas. Uma maneira é usar
o símbolo de hash (#) no início de cada linha. Por exemplo:
#Este é um comentário longo

e se estende

#para várias linhas

Outra maneira de fazer isso é usar aspas triplas, seja ‘’’ou “””.

Essas aspas triplas são geralmente usadas para strings de múltiplas linhas. Mas elas podem ser
usados como um comentário de várias linhas também. A menos que eles não sejam strings de documentação, eles fazem

não gerar nenhum código extra.


”“Isto é

também um exemplo perfeito


de comentários de várias linhas"""

Docstrings em Python
Uma docstring é uma abreviação para string de documentação.

As docstrings do Python (strings de documentação) são oscadeialiterais que aparecem


logo após a definição de uma função, método, classe ou módulo.

As aspas triplas são usadas ao escrever docstrings. Por exemplo:


def dobrar(num):

Função para dobrar o valor

retornar 2*num

As docstrings aparecem logo após a definição de uma função, classe ou módulo.


Isso separa docstrings de comentários multilineares usando aspas triplas.

As docstrings estão associadas ao objeto como seu__doc__ atributo.

Assim, podemos acessar as docstrings da função acima com as seguintes linhas


de código:
def dobrar(num):

Função para dobrar o valor

retorna 2*numprint(double.__doc__)

Saída
Função para dobrar o valor
Cap.4
Funções Incorporadas do Python
As funções internas do Python são definidas como as funções cuja funcionalidade é pré-definida.
definido em Python. O interpretador Python tem várias funções que são sempre
presente para uso. Essas funções são conhecidas como Funções Internas. Existem várias
funções embutidas em Python que estão listadas abaixo:

Função abs() do Python


A função pythonabs() é usada para retornar o valor absoluto de um número.
recebe apenas um argumento, um número cujo valor absoluto deve ser retornado. O
o argumento pode ser um número inteiro e um número de ponto flutuante. Se o argumento for um
número complexo, então, abs() retorna sua magnitude.
Exemplo da função abs() em Python

6.# número inteiro

[Link] = -20

[Link]('O valor absoluto de -40 é:', abs(inteiro))

9.

10.# número flutuante

[Link] = -20.83

[Link]('Valor absoluto de -40.83 é:', abs(floating))

O valor absoluto de -20 é: 20O valor absoluto de -20,83 é: 20,83

Função all() do Python


A função pythonall() aceita um objeto iterável (como lista, dicionário, etc.).
Retorna verdadeiro se todos os itens no iterável passado forem verdadeiros. Caso contrário, retorna falso. Se
o objeto iterável está vazio, a função all() retorna True.
Exemplo da função all() do Python

13.# todos os valores verdadeiros

14.k = [1, 3, 4, 6]
[Link](todos(k))

dezesseis.

17.# todos os valores falsos

18.k = [0, False]

[Link](tudo(k))

20.# um valor falso

[1, 3, 7, 0]

[Link](tudo(k))

23.# um verdadeiro valor

24.k = [0, False, 5]

[Link](todos(k))

26.# iterável vazio

27.k = []

[Link](todos(k))

Output

VerdadeiroFalsoFalsoFalsoVerdadeiro

Função bin() do Python


A função pythonbin() é usada para retornar a representação binária de um especificado
inteiro. Um resultado sempre começa com o prefixo 0b.
Exemplo da função bin() em Python

29.x = 10

30.y = bin(x)

[Link](y)
0b1010

Python bool()
A função python bool() converte um valor em booleano (Verdadeiro ou Falso) usando o padrão.
procedimento de teste de verdade.

Exemplo de bool() em Python

32.test1 = []

[Link](test1, 'é', bool(test1))

34.test1 = [0]

[Link](test1,'é',bool(test1))

36.test1 = 0.0

[Link](test1,'é',bool(test1))

Nenhum

[Link](test1, 'é', bool(test1))

40.test1 = True

[Link](test1,'é',bool(test1))

String fácil

[Link](test1,'é',bool(test1))

[] is False[0] is True0.0 is FalseNone is FalseTrue is TrueEasy string is


Verdadeiro

bytes() em Python
O pythonbytes() em Python é usado para retornar um objeto de bytes. É um
versão imutável da função bytearray() .
Ele pode criar um objeto de bytes vazio do tamanho especificado.

Exemplo de bytes() em Python

Olá Mundo.

[Link] = bytes(string,'utf-8')
[Link](array)

Olá Mundo.

Função callable() do Python


Uma função callable() em Python é algo que pode ser chamado. Este builtin
A função verifica e retorna verdadeiro se o objeto passado parecer ser chamável,
caso contrário, falso.

Exemplo da função callable() do Python

47.x = 8

[Link](callable(x))

Falso

Função compile() do Python


A função pythoncompile() recebe código-fonte como entrada e retorna um código
objeto que pode ser posteriormente executado pela função exec().

Exemplo da Função compile() do Python

49.# compilar string fonte para código

x=5 y=10 print("soma =",x+y)

[Link] = compilar(código_str, '[Link]', 'exec')

[Link](type(código))

[Link](código)

[Link](x)

soma = 15

Função exec() do Python


A função pythonexec() é usada para a execução dinâmica de programas Python
que pode ser uma string ou código de objeto e aceita grandes blocos de código,
diferente da função eval() que aceita apenas uma única expressão.
Exemplo da função exec() do Python

55.x = 8

[Link](x==8)

[Link](x+4)

Output

Verdade12

Função sum() do Python


Como o nome diz, a função pythonsum() é usada para obter a soma dos números de um
é editável, ou seja, lista.

Exemplo da função sum() do Python

58.s = soma([1, 2, 4])

[Link](s)

60.s = soma([1, 2, 4], 10)

[Link](s)

717

Função any() do Python


A função pythonany() retorna verdadeiro se algum item em um iterável for verdadeiro. Caso contrário,
retorna Falso.
Exemplo da Função any() em Python

62.l = [4, 3, 2, 0]

[Link](any(l))

64.l = [0, False]

[Link](any(l))

66.l = [0, False, 5]

[Link](algo(l))

68.l = []
[Link](qualquer(l))

VerdadeiroFalsoVerdadeiroFalso

Função ascii() do Python


A função pythonascii() retorna uma string contendo uma representação imprimível de
um objeto e escapa os caracteres não ASCII na string usando \x, \u ou \U
escapas.
Exemplo da função ascii() do Python

Python é interessante

[Link](ascii(textoNormal))

Pythön é interessante

[Link](ascii(outroTexto))

[Link]('Pythön é interessante')

'Python is interesting''Pyth\xf6n is interesting'Pythön is interesting

bytearray() do Python
O python bytearray() retorna um objeto bytearray e pode converter objetos em
objetos bytearray, ou criar um objeto bytearray vazio do tamanho especificado.
Exemplo de bytearray() em Python

Python é uma linguagem de programação.

76.

77.# string com codificação 'utf-8'

[Link] = bytearray(string,'utf-8')

[Link](arr)
Python é uma linguagem de programação.

Função eval() do Python


A função pythoneval() analisa a expressão passada para ela e executa o python
expressão(código) dentro do programa.
Exemplo da função eval() do Python

80.x = 8

[Link](eval('x + 1'))

Python float()
A função pythonfloat() retorna um número de ponto flutuante a partir de um número ou
cadeia.
Exemplo de float() em Python

82.# para inteiros

[Link](float(9))

84.# para floats

[Link](float(8.19))

86.# para strings flutuantes

[Link](float("-24.27"))

88.# para floats de string com espaços em branco

[Link](float(" -17,19

90.# erro de ponto flutuante


[Link](float("xyz"))

ValueError: não foi possível converter a string em float: 'xyz'

Função format() do Python


A função pythonformat() retorna uma representação formatada do dado
valor.
Exemplo da Função format() do Python

92.# d, f e b são um tipo

93.# inteiro

[Link](formatar(123,"d"))

95.# argumentos de ponto flutuante

[Link](formato(123.4567898, "f"))

97.# formato binário

[Link](formatar(12,"b"))

123123,4567901100

Python frozenset()
A função pythonfrozenset() retorna um objeto frozenset imutável inicializado
com elementos do iterável fornecido.
Exemplo de frozenset() em Python

99.# tupla de letras

100. letters = ('m','r','o','t','s')

101. fSet = frozenset(letras)


102. print('Conjunto congelado é:', fSet)

103. print('Conjunto congelado vazio é:', frozenset())

output

conjunto congelado é: frozenset({'o', 'm', 's', 'r', 't'})


frozenset()

Função getattr() do Python


A função pythongetattr() retorna o valor de um atributo nomeado de um objeto.
Se não for encontrado, retorna o valor padrão.
Exemplo da função getattr() do Python

104. classDetails

105. age = 22

106. Phill

107. Detalhes()

108. print('A idade é:', getattr(details,'idade'))

109. print('A idade é:', [Link])

A idade é: 22A idade é: 22

Função globals() do Python


A função pythonglobals() retorna o dicionário do símbolo global atual
mesa.
Uma tabela de símbolos é definida como uma estrutura de dados que contém todas as informações necessárias

informações sobre o programa. Ele inclui nomes de variáveis, métodos, classes, etc.
Exemplo da função globals() do Python

110. age = 22

111. globals()['idade'] = 22

112. print('A idade é:', idade)


The age is: 22

Função hasattr() do Python


A função pythonany() retorna verdadeiro se algum item em um iterável for verdadeiro, caso contrário
retorna Falso.
Exemplo da função hasattr() do Python

113. l = [4, 3, 2, 0]

114. print(any(l))

115.

116. l = [0, False]

117. print(any(l))

118.

119. l = [0, Falso, 5]

120. print(any(l))

121.

122. l = []

123. imprimir(any(l))

Saída:

VerdadeiroFalsoVerdadeiroFalso

Função iter() do Python


A função pythoniter() é usada para retornar um objeto iterador. Ela cria um objeto
que pode ser iterado um elemento de cada vez.
Exemplo da Função iter() do Python

124. # lista de números

125. list = [1,2,3,4,5]


126.

127. listIter = iter(lista)

128.

129. # imprime '1'

130. print(proximo(listaIter))

131.

132. # imprime '2'

133. imprimir(próximo(listIter))

134.

135. # imprime '3'

136. imprimir(próximo(listIter))

137.

138. # imprime '4'

139. print(next(listIter))

140.

141. # imprime '5'

142. imprimir(próximo(listIter))

12345

Função len() do Python


A função len() do Python é usada para retornar o comprimento (o número de itens) de um
objeto.
Exemplo da Função len() do Python

143. Python
144. print(len(strA))

lista() Python
A função pythonlist() cria uma lista em python.

Exemplo de lista() em Python

145. # lista vazia

146. imprima(lista())

147.

148. string

149. abcde

150. imprimir(lista(String))

151.

152. tupla

153. (1,2,3,4,5)

154. imprimir(lista(Tupla))

155. # lista

156. List = [1,2,3,4,5]

157. imprimir(lista(List))

[]['a', 'b', 'c', 'd', 'e'][1,2,3,4,5][1,2,3,4,5]

Função locals() do Python


O método locals() do python atualiza e retorna o dicionário do local atual
tabela de símbolos.
Uma tabela de símbolos é definida como uma estrutura de dados que contém todos os necessários
informações sobre o programa. Inclui nomes de variáveis, métodos, classes, etc.
Exemplo da função locals() do Python

158. deflocalsAusente():

159. retornarlocais()

160.

161. deflocalsPresent():

162. present = True

163. retornarlocais()

164.

165. print('localsNotPresent:', localsAbsent())

166. print('localsPresent:', localsPresent())

output

localsAbsent: {}localsPresent: {'present': True}

Função map() do Python


A função pythonmap() é utilizada para retornar uma lista de resultados após aplicar um dado
função para cada item de um iterável (lista, tupla, etc.).

Exemplo da Função map() do Python

167. def calcularAdição(n):

168. retorne+n

169.

170. (1, 2, 3, 4)

171. resultado = map(calcularAdicao, numeros)

172. imprimir(resultado)
173.

174. # convertendo objeto de mapa para conjunto

175. conjunto(resultado)

176. imprimir(adicaoNumeros)

output

{8, 2, 4, 6}

Função memoryview() do Python


A função pythonmemoryview() retorna um objeto memoryview do dado
argumento.
Exemplo da função memoryview () do Python

177. #Um array de bytes aleatório

178. bytearray('ABC','utf-8')

179.

180. mv = memoryview(randomByteArray)

181.

182. acessar o índice zero da visão de memória

183. print(mv[0])

184.

Ele cria byte a partir da visualização de memória


185.

186. print(bytes(mv[0:2]))

187.

Ele cria uma lista a partir da visualização da memória


188.

189. print(list(mv[0:3]))
65b'AB'[65, 66, 67]

objeto Python()
O pythonobject() retorna um objeto vazio. É uma base para todas as classes e
possui as propriedades e métodos embutidos que são padrão para todas as classes.
Exemplo de objeto() em Python

190. python = objeto()

191.

192. print(tipo(python))

193. imprimir(dir(python))

output

<classe 'objeto'>['__classe__', '__delattr__', '__dir__', '__doc__', '__eq__',


__formato__
__le__
__repr__

Função open() do Python


A função pythonopen() abre o arquivo e retorna um objeto de arquivo correspondente.

Exemplo da função open() do Python

194. # abre o arquivo [Link] do diretório atual

195. f = open("[Link]")

# especificando o caminho completo


196.

197. f = open("C:/Python33/[Link]")

Produção:

Como o modo é omitido, o arquivo é aberto no modo 'r'; abre para leitura.
Função chr() do Python
A função Python chr() é usada para obter uma string que representa um caractere que aponta
para um código Unicode inteiro. Por exemplo, chr(97) retorna a string 'a'. Esta função
recebe um argumento inteiro e lança um erro se exceder o intervalo especificado.
A faixa padrão do argumento varia de 0 a 1.114.111.
Exemplo da Função chr() do Python

198. # Chamando a função

199. resultado = chr(102) # Retorna a representação em string de um caractere

200. p

201. Exibindo resultado

202. imprimir(resultado)

203. imprimir(resultado2)

204. # Verifique, é do tipo string?

205. print("é do tipo string:", type(result) is str)

ValueError: chr() argumento fora da faixa(0x110000)

Python complexo()
A função complex() do Python é usada para converter números ou strings em um número complexo.
número. Este método aceita dois parâmetros opcionais e retorna um complexo
número. O primeiro parâmetro é chamado de parte real e o segundo de parte imaginária.

Exemplo de complex() em Python

206. # Exemplo da função complex() do Python

207. Chamada de função

208. a = complexo(1) # Passando um único parâmetro

209. b = complexo(1,2) # Passando ambos os parâmetros

210. # Exibindo resultado


211. imprima(a)

212. imprimir(b)

(1.5+0j)(1.5+2.2j)

Função delattr() do Python


A função delattr() do Python é usada para deletar um atributo de uma classe. Ela aceita dois
parâmetros, o primeiro é um objeto da classe e o segundo é um atributo que queremos
para excluir. Após excluir o atributo, ele não está mais disponível na classe e gera
um erro ao tentar chamá-lo usando o objeto da classe.

Exemplo da função delattr() do Python

213. classStudent

214. id = 101

215. Pranshu

216. emailpranshu@[Link]"

217. # Declarando função

218. defobterinformacao(self):

219. print([Link], [Link], [Link])

220. s = Estudante()

221. [Link]()

222. delattr(Aluno, 'curso') # Removendo atributo que não está disponível

223. [Link]()# erro: lança um erro

101 Pranshupranshu@[Link]: curso


Função dir() do Python
A função Pythondir() retorna a lista de nomes no escopo local atual. Se o
o objeto no qual o método é chamado tem um método chamado __dir__(), este método irá
ser chamado e deve retornar a lista de atributos. Ele aceita um único tipo de objeto
argumento.
Exemplo da Função dir() em Python

224. # Chamando função

225. att = dir()

226. Exibindo resultado

227. print(att)

Saída:

__anotações__
__loader__

Função divmod() do Python


A função divmod() do Python é usada para obter o resto e o quociente de dois números.
Esta função recebe dois argumentos numéricos e retorna uma tupla. Ambos os argumentos
são obrigatórios e numéricos

Exemplo da Função divmod() do Python

228. Exemplo da função divmod() do Python

229. # Chamando função

230. resultado = divmod(10, 2)

231. Exibindo resultado

232. imprimir(resultado)

Output

(5, 0)
Função enumerate() do Python
A função enumerate() do Python retorna um objeto enumerado. Ela leva dois
parâmetros, o primeiro é uma sequência de elementos e o segundo é o índice inicial do
sequência. Podemos obter os elementos em sequência, seja através de um loop ou do next()
método.
Exemplo da Função enumerate() em Python

233. # Chamando função

234. resultado = enumerate([1,2,3])

235. # Exibindo resultado

236. imprimir(resultado)

237. imprimir(lista(result))

output

<enumerate object at 0x7ff641093d80>[(0, 1), (1, 2), (2, 3)]

Python dict()
A função Pythondict() é um construtor que cria um dicionário. Dicionário Python
fornece três construtores diferentes para criar um dicionário:

Se nenhum argumento for passado, ele cria um dicionário vazio.

Se um argumento posicional for fornecido, um dicionário é criado com a mesma chave-


pares de valor. Caso contrário, passe um objeto iterável.

Se argumentos de palavras-chave forem fornecidos, os argumentos de palavras-chave e seus valores

são adicionados ao dicionário criado a partir do argumento posicional.

Exemplo de dict() em Python

238. # Chamando função

239. result = dict() # retorna um dicionário vazio

240. result2 = dict(a=1,b=2)

241. # Exibindo resultado


242. imprimir(resultado)

243. imprimir(result2)

output

{}{'a': 1, 'b': 2}

Função filter() do Python


A função filter() do Python é usada para obter elementos filtrados. Essa função aceita dois
argumentos, o primeiro é uma função e o segundo é iterável. A função de filtro retorna um
sequência daqueles elementos do objeto iterável para os quais a função retorna verdadeiro
valor.

O primeiro argumento pode ser nenhum, se a função não estiver disponível e retornar apenas
elementos que são verdadeiros.

Exemplo da função filter() do Python

244. # Exemplo da função filter() do Python

245. deffilterdata(x):

246. se x > 5:

247. retornarx

248. # Chamando função

249. resultado = filtrar(filtroDados, (1, 2, 6))

250. # Exibindo resultado

251. imprimir(lista(result))

[6]

Função hash() do Python


A função hash() do Python é usada para obter o valor de hash de um objeto. Python
calcula o valor de hash usando o algoritmo de hash. Os valores de hash são inteiros
e usado para comparar chaves de dicionário durante uma pesquisa de dicionário. Podemos hash apenas
os tipos que estão listados abaixo:

Tipos hasháveis:* bool * int * longo * float * string * Unicode * tupla * código
objeto.
Exemplo da função hash() do Python

252. # Chamando função

253. resultado = hash(21) # valor inteiro

254. resultado2 = hash(22.2)# valor decimal

255. # Exibindo resultado

256. imprimir(resultado)

257. imprimir(resultado2)

21461168601842737174

Função help() do Python


A função Pythonhelp() é usada para obter ajuda relacionada ao objeto passado durante o
chamadas. Ele aceita um parâmetro opcional e retorna informações de ajuda. Se nenhum argumento for
dado, ele exibe o console de ajuda do Python. Ele chama internamente a função de ajuda do python.

Exemplo da função help() do Python

258. # Chamando função

259. info = ajuda()# Sem argumento

260. # Exibindo resultado

261. imprimir(info)

Bem-vindo à utilidade de ajuda do Python 3.5!


Função min() do Python
A função Python min() é usada para obter o menor elemento da coleção. Isso
a função leva dois argumentos, o primeiro é uma coleção de elementos e o segundo é a chave,
e retorna o menor elemento da coleção.
Exemplo da função min() do Python

262. # Chamando função

263. pequeno = min(2225, 325, 2025) # retorna o menor elemento

264. small2 = min(1000.25,2025.35,5625.36,10052.50)

265. Exibindo resultado

266. imprimir(pequeno)

imprimir(small2)
duzentos e sessenta e sete

3.251.000,25

Função set() do Python


Em python, um conjunto é uma classe embutida, e esta função é um construtor desta classe.
é usado para criar um novo conjunto usando elementos passados durante a chamada. Ele leva um
objeto iterável como argumento e retorna um novo objeto conjunto.

Exemplo da Função set() do Python

268. # Chamando função

resultado = conjunto()# conjunto vazio


269.

270. conjunto('12')

271. resultado3 = conjunto('javatpoint')

272. Exibindo resultado

273. imprimir(resultado)

274. imprimir(result2)
275. imprimir(result3)

Output

set(){'1', '2'}{'a', 'n', 'v', 't', 'j', 'p', 'i', 'o'}

Função hex() do Python


A função Python hex() é usada para gerar o valor hexadecimal de um argumento inteiro. Ele
recebe um argumento inteiro e retorna um inteiro convertido em hexadecimal
string. Caso queiramos obter um valor hexadecimal de um float, então use [Link]()
função.
Exemplo da Função hex() do Python

276. Chamando função

277. 0x1

278. valor inteiro

279. 0x15a

280. # Exibindo resultado

281. imprimir(resultado)

282. imprima(result2)

0x10x156

Função id() do Python


A função pythonid() retorna a identidade de um objeto. Este é um inteiro que é
garantido para ser único. Esta função recebe um argumento como um objeto e retorna
um número inteiro único que representa a identidade. Dois objetos com não-
vidas sobrepostas podem ter o mesmo valor de id() .
Exemplo da função id() do Python

283 Chamando função


284. val = id("Javatpoint")# objeto de string

285. val2 = id(1200)# objeto inteiro

286. val3 = id([25,336,95,236,92,3225])# Objeto de lista

287. # Exibindo resultado

288. imprimir(val)

289. imprimir(val2)

290. print(val3)

139963782059696139963805666864139963781994504

Função setattr() do Python


A função setattr() do Python é usada para definir um valor para o atributo do objeto. Ela aceita
três argumentos, ou seja, um objeto, uma string e um valor arbitrário, e não retorna nada.
É útil quando queremos adicionar um novo atributo a um objeto e definir um valor para ele.

Exemplo da função setattr() do Python

291. alunoDeClasse

292. id = 0

293. name

294.

295. def __init__(self, id, nome):

296. [Link] = id

297. [Link] = nome

298.

299. Estudante(102, "Sohan")

300. imprimir([Link])
301. print([Link])

302. #print([Link]) erro de produto

303. setattr(aluno,'sohan@[Link])# adicionando novo atributo

304. print([Link])

102Sohansohan@[Link]

Função slice() do Python


A função Pythonslice() é usada para obter uma fatia de elementos da coleção de
elementos. O Python fornece duas funções de fatiamento sobrecarregadas. A primeira função aceita um
um único argumento enquanto a segunda função aceita três argumentos e retorna um
objeto fatiado. Este objeto fatiado pode ser usado para obter uma subseção da coleção.

Exemplo da Função slice() em Python

305. # Chamando função

306 resultado = slice(5) # retorna objeto de fatia

307. result2 = fatia(0,5,3)# retorna objeto de fatia

308. # Exibindo resultado

309. imprima(result)

310. imprimir(result2)

fatia(None, 5, None)fatia(0, 5, 3)

Função sorted() do Python


A função sorted() do Python é usada para ordenar elementos. Por padrão, ela ordena os elementos em
uma ordem ascendente, mas pode ser classificada em ordem descendente também. Recebe quatro argumentos
e retorna uma coleção em ordem classificada. No caso de um dicionário, ele classifica apenas
chaves, não valores.
Exemplo da Função sorted() do Python

311. str ="javatpoint"# declarando string

312. Chamada de função

313. sorted1 = sorted(str)# ordenando a string

314. # Exibindo resultado

315. imprimir(sorted1)

['a', 'a', 'i', 'j', 'n', 'o', 'p', 't', 't', 'v']

Função next() do Python


A função next() do Python é usada para buscar o próximo item da coleção. Ela leva dois
argumentos, ou seja, um iterador e um valor padrão, e retorna um elemento.

Este método chama o iterador e gera um erro se nenhum item estiver presente. Para evitar o
erro, podemos definir um valor padrão.

Exemplo da função next() do Python

316. numero = iter([256, 32, 82]) # Criando iterador

317. # Chamando função

318. próximo(número)

319. # Exibindo resultado

320. imprimir(item)

321. segundo item

322. item = próximo(número)

323. imprimir(item)

324. terceiro item

325. próximo(número)
326. imprimir(item)

2563282

Função input() em Python


A função input() do Python é usada para obter uma entrada do usuário. Ela solicita que o usuário forneça um valor.

o usuário insere e lê uma linha. Após ler os dados, ele os converte em uma string e
retorna. Ele gera um erro EOFError se o EOF for lido.
Exemplo da função input() do Python

327. # Chamada de função

328. valor = input("Digite um valor: ")

329. # Exibindo resultado

330. print("Você digitou:", val)

Saída

45

Função int() do Python


A função Python int() é usada para obter um valor inteiro. Ela retorna uma expressão.
convertido em um número inteiro. Se o argumento for um ponto flutuante, o
a conversão trunca o número. Se o argumento estiver fora do intervalo inteiro,
então ele converte o número em um tipo longo.

Se o número não for um número ou se uma base for dada, o número deve ser uma string.

Exemplo da função int() do Python

331. # Chamando função

332. val = int(10)# integer value

333. val2 = int(10.52)# float value

334. val3 = int('10') # valor de string


335. # Exibindo resultado

336. imprimir("valores inteiros :", val, val2, val3)

Saída:

10 10 10

Função isinstance() do Python


A função isinstance() do Python é usada para verificar se o objeto dado é um
instância dessa classe. Se o objeto pertence à classe, retorna verdadeiro. Caso contrário
retorna Falso. Também retorna verdadeiro se a classe for uma subclasse.

A função isinstance() recebe dois argumentos, ou seja, objeto e classinfo, e então


retorna verdadeiro ou falso.
Exemplo da função isinstance() do Python

337. alunoDaTurma

338. id = 101

339. John

340. def __init__(self, id, nome):

341. [Link]=id

342. [Link]

343.

344. student = Student(1010,"John")

345. lst = [12,34,5,6,767]

346. # Chamando função

347. print(isinstance(aluno, Estudante))# isinstance da classe Estudante

348. print(isinstance(lst, Estudante))

output

Verdadeiro
Função oct() em Python
A função Pythonoct() é usada para obter um valor octal de um número inteiro. Este
o método recebe um argumento e retorna um inteiro convertido em uma string octal. Ele
lança um erro TypeError, se o tipo do argumento for diferente de um inteiro.

Exemplo da função oct() em Python

349. # Chamando função

350. 0o12

351. # Exibindo resultado

352. print("Valor octal de 10:", val)

Output

Valor octal de 10: 0o12

Função ord() do Python


A função pythonord() retorna um inteiro representando o ponto de código Unicode para
o caractere Unicode dado.
Exemplo da função ord() do Python

353. Código ponto de um inteiro

354. print(ord('8'))

355.

356. Ponto de código de um alfabeto

357. print(ord('R'))

358.

359. Código da posição de um caractere

360. imprimir(ord('&'))
568238

Função pow() do Python


A função pythonpow() é utilizada para calcular a potência de um número. Ela retorna x
elevado à potência de y. Se o terceiro argumento (z) for fornecido, retorna x elevado à potência de y
módulo z, ou seja, (x, y) % z.

Exemplo da função pow() do Python

361. # x positivo, y positivo (x**y)

362. print(pow(4, 2))

363.

364. # negativo x, positivo y

365. print(pow(-4, 2))

366.

367. # x positivo, y negativo (x**-y)

368. print(pow(4, -2))

369.

370. x negativo, y negativo

371. imprimir(pow(-4, -2))

16160.06250.0625

Função print() do Python


A função pythonprint() imprime o objeto dado na tela ou em outro padrão.
dispositivos de saída.

Exemplo da função print() do Python

372. print("Python é uma linguagem de programação.")


373.

374. x=7

375. Dois objetos passaram

376. print("x =", x)

377.

378. y=x

379. Três objetos passaram

380. print('x =', x, '= y')

Python é uma linguagem de programação.x = 7x = 7 = y

Função range() do Python


A função pythonrange() retorna uma sequência imutável de números começando
de 0 por padrão, incrementa em 1 (por padrão) e termina em um número especificado.

Exemplo da função range() do Python

381. # intervalo vazio

382. print(list(range(0)))

383.

384. usando o intervalo(parar)

385. print(list(range(4)))

386.

387. # usando o intervalo(início, fim)

388. imprimir(lista(intervalo(1,7)))

[][0, 1, 2, 3][1, 2, 3, 4, 5, 6]
Função reversed() do Python
A função pythonreversed() retorna o iterador reverso do dado
sequência.
Exemplo da função reversed() do Python

389. # para string

390. Java

391. imprimir(lista(reversa(String)))

392.

393. para tupla

394. Tupla = ('J','a','v','a')

395. imprimir(list(reverso(Tupla)))

396.

397. # para intervalo

398. intervalo = intervalo(8, 12)

399. print(list(reversed(Range)))

400.

401. # para lista

402. List = [1, 2, 7, 5]

403. print(list(reversed(List)))

['a', 'v', 'a', 'J']['a', 'v', 'a', 'J'][11, 10, 9, 8][5, 7, 2, 1]


Função round() do Python
A função pythonround() arredonda os dígitos de um número e retorna o
número de ponto flutuante.

Exemplo da função round() do Python

404. # para inteiros

405. imprimir(arredondar(10))

406.

407. # para ponto flutuante

408. imprimir(arredondar(10.8))

409.

410. escolha par

411. imprimir(round(6.6))

10117

Função issubclass() do Python


A função pythonissubclass() retorna verdadeiro se o argumento do objeto (primeiro argumento) for
uma subclasse da segunda classe (segundo argumento).

Exemplo da Função issubclass() do Python

412. classeRetângulo:

413. def__init__(tipoRetangulo):

414. print('Retângulo é um ', tipoRetangulo)

415.

416. classQuadrado(Retângulo):

417. def__init__(self):

418. Rectangle.__init__('quadrado')
419.

420. print(issubclass(Square, Rectangle))

421. print(issubclass(Square, list))

422. print(issubclass(Square, (lista, Retângulo)))

423. print(issubclass(Rectangle, (list, Rectangle)))

VerdadeiroFalsoVerdadeiroVerdadeiro

string Python
A função pythonstr() converte um valor especificado em uma string.

Exemplo da função str() do Python

424. str('4')

translatedText

Função tuple() do Python


A função pythontuple() é usada para criar um objeto tupla.
Exemplo da função tuple() do Python

425. t1 = tupla()

426. print('t1=', t1)

427.

428. criando uma tupla a partir de uma lista

429. t2 = tupla([1, 6, 9])

430. imprimir('t2=', t2)

431.

432. criando uma tupla a partir de uma string


433. t1 = tupla('Java')

434. print('t1=',t1)

435.

436. # criando uma tupla a partir de um dicionário

437. t1 = tupla({4:'quatro', 5:'cinco'})

438. print('t1=',t1)

translatedText

t1= ()t2= (1, 6, 9)t1= ('J', 'a', 'v', 'a')t1= (4, 5)

tipo() em Python
A função pythontype() retorna o tipo do objeto especificado se um único argumento for fornecido.
passado para a função embutida type(). Se três argumentos forem passados, então retorna
um novo tipo de objeto.

Exemplo da função type() do Python

439. List = [4, 5]

440. imprimir(tipo(List))

441

442. quatro

443. print(type(Dict))

444.

445. classePython:

446. a=0

447.

448. InstânciaDePython = Python()

449. print(type(InstanciaDoPython))
<classe 'lista'><classe 'dicionário'><classe '__main__.Python'>

função vars() do Python


A função pythonvars() retorna o atributo __dict__ do objeto dado.
Exemplo da Função vars() do Python

450. classePython:

451. def __init__(self, x = 7, y = 9):

452. self.x = x

453. self.y = y

454.

455. InstânciaDePython = Python()

456. imprimir(vars(InstanceOfPython))

{'y': 9, 'x': 7}

Função zip() do Python


A função pythonzip() retorna um objeto zip, que mapeia um índice semelhante de
múltiplos contêineres. Ele aceita iteráveis (pode ser zero ou mais), transforma em um iterador
que agrega os elementos com base em iteráveis passados e retorna um iterador de
tuplas.
Exemplo da função zip() do Python

457. numList = [4,5, 6]

458. strList = ['four','five','six']

459.

460. Nenhum iterável foi passado


461. resultado = zip()

462.

463. Convertendo itertor para lista

464. lista(result)

465. imprimir(resultList)

466.

467. Dois iteráveis são passados

468. resultado = zip(numList, strList)

469.

470. # Convertendo iterador para conjunto

471. resultSet = set(resultado)

472. imprimir(resultSet)

cinco
Cap.5
Estrutura de loop e controle
Declarações If-else em Python
A tomada de decisão é o aspecto mais importante de quase toda a programação
As línguas. Como o nome implica, a tomada de decisão nos permite executar um bloco específico
de código para uma decisão particular. Aqui, as decisões são tomadas com base na validade do
condições particulares. A verificação de condições é a espinha dorsal da tomada de decisão.

Em Python, a tomada de decisões é realizada pelas seguintes instruções.

Declaração Descrição

Se Declaração A instrução if é usada para testar um


condição específica. Se a condição for
verdadeiro, um bloco de código (bloco if) será
executado.

Instrução If - else A declaração if-else é semelhante a if


declaração, exceto o fato de que, também
fornece o bloco de código para o
falsa condição do caso a ser
verificado. Se a condição fornecida em
se a declaração if for falsa, então o else
a declaração será executada.

Declaração if aninhada Instruções if aninhadas nos permitem usar if


? declaração else dentro de um if externo

declaração.

Indentação em Python
Para facilitar a programação e alcançar simplicidade, o Python não permite o
uso de parênteses para o código em bloco. Em Python, a indentação é usada para
declare um bloco. Se duas declarações estão no mesmo nível de indentação, então elas são
a parte do mesmo bloco.
Geralmente, quatro espaços são dados para indentação das declarações, o que é típico
quantidade de indentação em python.

A indentação é a parte mais usada da linguagem python, uma vez que declara o bloco.
do código. Todas as instruções de um bloco devem estar alinhadas no mesmo nível de indentação.
Veremos como a indentação real ocorre na tomada de decisão e outros
coisas em python.

A declaração if
A instrução if é usada para testar uma condição particular e, se a condição for verdadeira, ela
executa um bloco de código conhecido como bloco if. A condição da instrução if pode ser
qualquer expressão lógica válida que pode ser avaliada como verdadeira ou falsa.

A sintaxe da instrução if é dada abaixo.

473. ifexpressão

474. declaração
Exemplo 1
475. num = int(input("digite o número?"))

476. se num%2 == 0:

477. print("O número é par")

digite o número? 10 O número é par

Exemplo 2: Programa para imprimir o maior dos três


números.
478. a = int(input("Digite a? "));

479. b = int(input("Digite b? "));

480. c = int(input("Digite c? " ));

481. ifa

482. print("a é o maior");

483. se b > a e b > c:

484. print("b é o maior");

485. seifc>aaec>b:

486. imprimir("c é o maior");

Digite a? 100Digite b? 120Digite c? 130c é o maior

A declaração if-else
A declaração if-else fornece um bloco else combinado com a declaração if que
é executado no caso falso da condição.

Se a condição for verdadeira, então o bloco if é executado. Caso contrário, o bloco else é
executado.
A sintaxe da declaração if-else é dada abaixo.

487. se condição

488. #bloco de declarações

489. senão:

490. #outro bloco de declarações (bloco else)

Exemplo 1: Programa para verificar se uma pessoa é


elegível para votar ou não.
491. idade = int (input("Digite sua idade? "))

492. se idade >= 18:


493. Você está elegível para votar !!

494. senão:

495. Desculpe! você tem que esperar!!

translatedText

Digite sua idade? 90 Você é elegível para votar !!

Exemplo 2: Programa para verificar se um número é


par ou não.
496. num = int(input("digite o número?"))

497. se num%2 == 0:

498. print("O número é par...")

499. senão:

500. print("O número é ímpar...")

insira o número?10O número é par

A declaração elif
A declaração elif nos permite verificar várias condições e executar a específica
bloco de declarações dependendo da condição verdadeira entre elas. Podemos ter
qualquer número de declarações elif em nosso programa, dependendo de nossa necessidade. No entanto,
usar elif é opcional.

A declaração elif funciona como uma declaração de escada if-else-if em C. Deve ser
sucedido por uma declaração if.

A sintaxe da instrução elif é dada abaixo.

501. ifexpressão 1:

502. # bloco de declarações

503.

504. elifexpressão 2:

505. # bloco de declarações


506.

507. elifexpressão 3:

508. # bloco de declarações

509.

510. senão:

511. # bloco de declarações

Exemplo 1
512. número = int(input("Digite o número?"))

513. se número == 10:

514. imprimir("o número é igual a 10")


515. elifnumber==50:

516. imprimir("o número é igual a 50");

517. elifnumber==100:

518. imprimir("o número é igual a 100");

519. senão:

520. imprimir("o número não é igual a 10, 50 ou 100");

Digite o número? 15 o número não é igual a 10, 50 ou 100

Exemplo 2
521. notas = int(input("Digite as notas? "))

522. f notas > 85 e notas <= 100:

523. Parabéns! Você pontuou nota A ...

524. lif marcas > 60 e marcas <= 85:

525. Você obteve nota B + ...

526. lif marcas > 40 e marcas <= 60:

527. Você obteve a nota B ...

528. se (notas > 30 e notas <= 40):

529. Você obteve nota C ...

530. lse:

531. Desculpe, você falhou ?


Cap.6
Loops em Python
O fluxo dos programas escritos em qualquer linguagem de programação é sequencial por
padrão. Às vezes, pode ser necessário alterar o fluxo do programa. A execução de
um código específico pode precisar ser repetido várias vezes.

Para esse propósito, as linguagens de programação fornecem vários tipos de loops que
são capazes de repetir alguns códigos específicos várias vezes. Considere o
diagrama a seguir para entender o funcionamento de uma declaração de loop.

Por que usamos loops em python?


O looping simplifica os problemas complexos em problemas fáceis. Ele nos permite
altere o fluxo do programa para que, em vez de escrever o mesmo código novamente e
novamente, podemos repetir o mesmo código um número finito de vezes. Por exemplo, se nós
preciso imprimir os primeiros 10 números naturais então, em vez de usar a instrução de impressão
10 vezes, podemos imprimir dentro de um loop que executa até 10 iterações.

Vantagens dos loops


Existem as seguintes vantagens dos loops em Python

Isso oferece reutilização de código.

Usando loops, não precisamos escrever o mesmo código repetidamente

Usando loops, podemos percorrer os elementos das estruturas de dados (array ou


listas encadeadas).

Existem as seguintes instruções de loop em Python.

Instrução de Loop Descrição

loop for O loop for é usado no caso em que


precisamos executar algumas partes do
código até que a condição dada seja
satisfeito. O loop 'for' também é chamado de
laço pré-testado. É melhor usar para
loop se o número de iterações for conhecido
de antemão.
laço while O loop while deve ser usado no
cenário onde não sabemos o
número de iterações antecipadamente. O
um bloco de instruções é executado no
loop while até que a condição especificada
no loop while é satisfeito. É também
chamado de um loop pré-testado.

laço do-while O loop do-while continua até que um


a condição dada é satisfeita. Também é
chamado laço pós-teste. É usado quando
é necessário executar o loop em
pelo menos uma vez (principalmente orientado por menu

programas).

Laço for em Python


O loop for em Python é usado para iterar as instruções ou uma parte do programa.
várias vezes. É frequentemente usado para percorrer estruturas de dados como lista, tupla, ou
dicionário.

A sintaxe do loop for em Python é dada abaixo.

1. para iterar_variável_na_sequência:

2. declaração(ões)
O fluxograma do loop for

Laço For Usando Sequência


Exemplo-1: Iterando a string usando loop for

[Link] ="Python"

[Link]

5. imprimir(i)

Python
Exemplo- 2: Programa para imprimir a tabuada do número dado.

[Link] = [1,2,3,4,5,6,7,8,9,10]

7.n = 5
[Link]

9. c = n*i

10. imprimir(c)

5101520253035404550s
Exemplo-4: Programa para imprimir a soma da lista dada.

[Link] = [10,30,23,43,65,12]

[Link]

14. soma = soma+i

[Link]("A soma é:",soma)

A soma é: 183

Laço for usando a função range()


A função range()

A função therange() é usada para gerar a sequência de números. Se passarmos


o range(10), ele gerará os números de 0 a 9. A sintaxe do range()
a função é dada abaixo.

Sintaxe:

[Link](início,fim,tamanho do passo)

O início representa o começo da iteração.

O stop representa que o loop irá iterar até stop-1. Therange(1,5) irá
gerar números de 1 a 4 iterações. É opcional.

O tamanho do passo é usado para pular os números específicos da iteração. É


opcional para usar. Por padrão, o tamanho do passo é 1. É opcional.

Considere os seguintes exemplos:


Exemplo-1: Programa para imprimir números em sequência.
[Link](10):

18. print(i,end =' ')

0123456789
Exemplo - 2: Programa para imprimir a tabela do número dado.

19.n = int(input(Digite o número

[Link](1,11):

21. c = n*i

22. imprimir(n, "*", i, "=", c)

translatedText

Digite o número 1010 * 1 = 1010 * 2 = 2010 * 3 = 3010 * 4 = 4010 * 5 = 5010


6010
Exemplo-3: Programa para imprimir números pares usando o tamanho do passo em range().

23.n = int(input(Digite o número

[Link](2,n,2):

25. print(i)

output

Digite o número 2024681012141618


Também podemos usar a função therange() com uma sequência de números. A função len()
a função é combinada com a função range() que itera através de uma sequência usando
indexação. Considere o seguinte exemplo.

[Link] = ['Peter','Joseph','Ricky','Devansh']

[Link](len(lista)):

28. imprimir("Olá", lista[i])

Olá PeterOlá JosephOlá RickyOlá Devansh


Laço for aninhado em python
Python nos permite aninhar qualquer número de loops for dentro de um loop for. O loop interno é
executado n vezes para cada iteração do loop externo. A sintaxe é
dado abaixo.

Sintaxe

29.poriterando_var1emsequência:#laço externo

30. para iterar_var2emsequência:#laço interno

31. #bloco de declarações

32.#Outras declarações

Exemplo 1: Loop for aninhado


33.# Entrada do usuário para o número de linhas

[Link] = int(input("Digite as linhas:"))

35.# O loop externo imprimirá o número de linhas

[Link](0,linhas+1):

37.# O loop interno irá imprimir o número de Asteriscos

38. para jinrange(i):

39. imprimir("*",fim ='')

40. imprimir()

Insira as linhas:5***************

Exemplo-2: Programa para pirâmide numérica.


[Link] = int(input("Digite as linhas"))

[Link](0,linhas+1):

43. para i na faixa:

44. print(i,end ='')

45. imprimir()
122333444455555

Usando a instrução else com o loop for


Ao contrário de outras linguagens como C, C++ ou Java, Python nos permite usar o else
declaração com o loop for que pode ser executada apenas quando todas as iterações são
exausto. Aqui, devemos notar que se o loop contiver qualquer um dos break
a instrução else não será executada.

Exemplo 1
[Link](0,5):

47. imprimir(i)

48. caso contrário:

49. o loop for foi completamente exaurido, uma vez que não há break.

texto

O loop for 01234 foi completamente esgotado, pois não há break.


O laço for se esgotou completamente, já que não há um break.

Exemplo 2
[Link](0,5):

51. print(i)

52. quebrar;

[Link]:print("o loop for está esgotado");

[Link]("O loop foi interrompido devido à instrução break...saiu do loop")

No exemplo acima, o loop é interrompido devido à instrução break; portanto,


a instrução else não será executada. A instrução presente imediatamente ao lado de
o bloco else será executado.

0
O loop está quebrado devido à instrução break... saiu do loop. Nós vamos aprender
mais sobre a declaração break no próximo tutorial.
Capítulo 7
Função Python
Uma função é um bloco de código organizado e reutilizável que é usado para realizar uma única,
ação relacionada. Funções proporcionam melhor modularidade para sua aplicação e um alto
grau de reutilização de código.

Como você já sabe, o Python oferece muitas funções integradas como print(), etc. mas você
também pode criar suas próprias funções. Essas funções são chamadas de funções definidas pelo usuário.

Definindo uma Função


Você pode definir funções para fornecer a funcionalidade necessária. Aqui estão regras simples para
defina uma função em Python.
Os blocos de função começam com a palavra-chave deff seguida pelo nome da função e
parênteses ( ( ) ).
Quaisquer parâmetros de entrada ou argumentos devem ser colocados dentro desses parênteses.
Você também pode definir parâmetros dentro desses parênteses.
A primeira instrução de uma função pode ser uma instrução opcional - o
string de documentação da função ordocstring.
O bloco de código dentro de cada função começa com dois pontos (:) e é recuado.
A instrução return [expressão] sai de uma função, passando opcionalmente um
expressão para o chamador. Uma instrução de retorno sem argumentos é o mesmo que
retornar Nenhum.

Sintaxe
def nomedafuncao( parametros ):
documentação_da_função
conjunto_de_funções
retornar [expressão]
Por padrão, os parâmetros têm um comportamento posicional e você precisa informá-los no
mesma ordem em que foram definidos.

Exemplo
A seguinte função recebe uma string como parâmetro de entrada e a imprime no padrão
tela.
def imprimir(str):
Isto imprime uma string passada para esta função
imprimir str
retornar
Chamando uma Função
Definir uma função apenas lhe dá um nome, especifica os parâmetros que devem ser
incluídos na função e estruturas os blocos de código.
Uma vez que a estrutura básica de uma função está finalizada, você pode executá-la chamando-a de
outra função ou diretamente do prompt do Python. A seguir está o exemplo de chamada
função printme() −
# A definição da função está aqui
def imprime(str):
Isto imprime uma string passada para esta função
imprimir str
retornar;

Agora você pode chamar a função printme


imprime("Eu sou a primeira chamada para uma função definida pelo usuário!")
printme("Novamente a segunda chamada para a mesma função")

Quando o código acima é executado, ele produz o seguinte resultado −


Eu sou a primeira chamada para a função definida pelo usuário!
Novamente, segunda chamada para a mesma função
Passagem por referência vs valor
Todos os parâmetros (argumentos) na linguagem Python são passados por referência. Isso significa
se você mudar o que um parâmetro se refere dentro de uma função, a mudança também reflete
de volta à função chamadora. Por exemplo −
#A definição da função está aqui
def mudame(minhalista):
Isto transforma uma lista passada para esta função
[Link]([1,2,3,4]);
imprimir Valores dentro da função: , meu_list
retornar

# Agora você pode chamar a função changeme


minhalista= [10,20,30]
changeme( minhaLista);
imprimir Valores fora da função:

Aqui, estamos mantendo a referência do objeto passado e anexando valores em


mesmo objeto. Portanto, isso produziria o seguinte resultado −
Values inside the function: [10, 20, 30, [1, 2, 3, 4]]
Valores fora da função: [10, 20, 30, [1, 2, 3, 4]]
Há mais um exemplo onde o argumento é passado por referência e o
a referência está sendo sobrescrita dentro da função chamada.
# A definição da função está aqui
def mudeme( minha_lista):
Isto transforma uma lista passada nesta função
minhalista [1,2,3,4]; Isso atribuiria uma nova referência na minha lista.
imprimir Valores dentro da função:
retornar

Agora você pode chamar a função changeme


mylist [10,20,30];
mudeme(minhalista);
imprimir Valores fora da função:

O parâmetro mylist é local à função changeme. Mudando mylist dentro do


a função não afeta minha lista. A função não realiza nada e finalmente isso
produziria o seguinte resultado −
Valores dentro da função: [1, 2, 3, 4]
Valores fora da função: [10, 20, 30]
Argumentos de Função
Você pode chamar uma função usando os seguintes tipos de argumentos formais −

Argumentos obrigatórios
Argumentos nomeados
Argumentos padrão
Argumentos de comprimento variável

Argumentos necessários
Os argumentos obrigatórios são os argumentos passados para uma função na ordem posicional correta.
Aqui, o número de argumentos na chamada da função deve corresponder exatamente ao
definição de função.
Para chamar a função printme(), você definitivamente precisa passar um argumento, caso contrário, ela
gera um erro de sintaxe da seguinte forma -

# A definição da função está aqui


def printme(str):
Isto imprime uma string passada para esta função
imprimir str
retornar;

Agora você pode chamar a função printme


printme()

Quando o código acima é executado, ele produz o seguinte resultado −


Rastreamento (chamada mais recente por último):
Arquivo "[Link]", linha 11, no <módulo>
printme();
TypeError: printme() aceita exatamente 1 argumento (0 fornecido)
Argumentos de palavra-chave

Argumentos nomeados estão relacionados às chamadas de função. Quando você usa argumentos nomeados
argumentos em uma chamada de função, o chamador identifica os argumentos pelo nome do parâmetro.
Isso permite que você pule argumentos ou os coloque fora de ordem porque o Python
o intérprete é capaz de usar as palavras-chave fornecidas para corresponder os valores com os parâmetros.
Você também pode fazer chamadas de palavra-chave para a função printme() das seguintes maneiras −

# A definição da função está aqui


def imprima(str):
Isto imprime uma string passada para esta função
imprimir str
retornar;

Agora você pode chamar a função printme


printme( str= Minha string

Quando o código acima é executado, ele produz o seguinte resultado −


Minha string
O seguinte exemplo fornece uma imagem mais clara. Note que a ordem dos parâmetros
não importa.
# A definição da função está aqui
def imprimir_informacoes(nome, idade):
Isto imprime uma informação passada para esta função
imprimir Nome:
imprimir Idade
retornar;

Agora você pode chamar a função printinfo


printinfo( age=50, name="miki" )

Quando o código acima é executado, ele produz o seguinte resultado −


miki
Idade 50
Argumentos padrão
Um argumento padrão é um argumento que assume um valor padrão se um valor não for fornecido.
fornecido na chamada da função para aquele argumento. O seguinte exemplo dá uma ideia sobre
argumentos padrão, imprime a idade padrão se não for passado -
# A definição da função está aqui
def printinfo( nome, idade= 35 ):
Isso imprime uma informação passada para esta função
imprimir "Nome: ", nome
imprimir Idade
retornar;

Agora você pode chamar a função printinfo


printinfo( age=50, name="miki" )
printinfo( nome="miki" )

Quando o código acima é executado, ele produz o seguinte resultado −


miki
Age 50
miki
Age 35
Argumentos de comprimento variável
Você pode precisar processar uma função para mais argumentos do que os especificados enquanto
definindo a função. Esses argumentos são chamados de argumentos de comprimento variável e são
não nomeados na definição da função, ao contrário dos argumentos obrigatórios e padrão.
A sintaxe para uma função com argumentos variáveis não nomeados é a seguinte −
def nome_da_funcao([args_formais,] *args_variaveis_tupla ):
documentação_da_função
conjunto_de_funções
retornar [expressão]
Um asterisco (*) é colocado antes do nome da variável que contém os valores de todos
argumentos variáveis não-chave. Esta tupla permanece vazia se não houver argumentos adicionais
são especificados durante a chamada da função. A seguir está um exemplo simples −

# A definição da função está aqui


def imprimirinfo(arg1, *vartuple):
Isso imprime uma variável com argumentos passados
imprimir A saída é:
imprimir arg1
para var em vartuple:
imprimir var
retornar;

Agora você pode chamar a função printinfo


printinfo( 10 )
printinfo( 70, 60, 50 )

Quando o código acima é executado, ele produz o seguinte resultado −


A saída é:
10
A saída é:
70
60
50
AsFunçõesAnônimas
Essas funções são chamadas de anônimas porque não estão declaradas no padrão
modo usando a palavra-chave def. Você pode usar a palavra-chave lambda para criar pequenos
funções anônimas.
As formas lambda podem receber qualquer número de argumentos, mas retornam apenas um valor em
a forma de uma expressão. Eles não podem conter comandos ou múltiplos
expressões.
Uma função anônima não pode ser uma chamada direta para print porque lambda requer
uma expressão
As funções lambda têm seu próprio namespace local e não podem acessar variáveis
exceto aqueles em sua lista de parâmetros e aqueles no espaço de nomes global.
Embora pareça que as lambdas são uma versão de uma linha de uma função, elas são
não é equivalente a declarações inline em C ou C++, cuja finalidade é passar por
alocação de pilha durante a invocação por razões de desempenho.

Sintaxe
A sintaxe das funções lambda contém apenas uma única declaração, que é a seguinte −
lambda [arg1 [,arg2,.....argn]]:expressão
A seguir está o exemplo para mostrar como a forma lambda da função funciona −

# A definição da função está aqui


soma lambda arg1, arg2: arg1 + arg2;

Agora você pode chamar a soma como uma função


imprimir Valor total : 10, 20 )
imprimir Valor total : 20, 20 )

Quando o código acima é executado, ele produz o seguinte resultado −


Value of total : 30
Valor total: 40
ADeclaraçãoDeRetorno
A declaração return [expressão] sai de uma função, opcionalmente retornando um
expressão para o chamador. Uma instrução de retorno sem argumentos é o mesmo que retornar
Nenhum.
Todos os exemplos acima não estão retornando nenhum valor. Você pode retornar um valor de um
função da seguinte forma −

# A definição da função está aqui


def soma(arg1, arg2):
Adicione ambos os parâmetros e os retorne.
total = arg1 + arg2
imprimir Dentro da função:
retornar total;

Agora você pode chamar a função soma


total= soma( 10 20 );
imprimir Fora da função:

Quando o código acima é executado, ele produz o seguinte resultado −


Dentro da função : 30
Fora da função: 30
Escopo de Variáveis
Todas as variáveis em um programa podem não ser acessíveis em todos os locais desse programa. Isso
depende de onde você declarou uma variável.
O escopo de uma variável determina a parte do programa onde você pode acessá-la.
identificador particular. Existem dois escopos básicos de variáveis em Python −

Variáveis globais
Variáveis locais

Variáveis globais vs. locais


Variáveis que são definidas dentro do corpo de uma função têm um escopo local, e aquelas definidas
fora tem um escopo global.
Isso significa que variáveis locais podem ser acessadas apenas dentro da função na qual elas
são declaradas, enquanto variáveis globais podem ser acessadas em todo o corpo do programa
por todas as funções. Quando você chama uma função, as variáveis declaradas dentro dela são trazidas
dentro do escopo. A seguir está um exemplo simples −

total 0; Esta é uma variável global.


# A definição da função está aqui
def soma(arg1, arg2):
Adicione ambos os parâmetros e retorne-os.
total = arg1 + arg2; Aqui, total é uma variável local.
imprimir Dentro da função total local :
retornar total;

Agora você pode chamar a função soma


soma( 10, 20 );
imprimir Fora da função total global:

Quando o código acima é executado, ele produz o seguinte resultado −


Dentro da função total local : 30
Fora da função total global: 0
Cap.8
Arrays em Python: Criar, Reverter, Remover com Exemplos de Arrays em Python

O que é um Array em Python?


Um Array Python é uma coleção de estruturas de dados de tipo comum que possuem elementos
com o mesmo tipo de dado. É usado para armazenar coleções de dados. Na programação Python, um
arrays são manipulados pelo módulo "array". Se você criar arrays usando o módulo array,
os elementos do array devem ser do mesmo tipo numérico.

Listas Vs Arrays em Python

Em Python, podemos tratar listas como arrays. No entanto, não podemos restringir o tipo.
de elementos armazenados em uma lista. Por exemplo:

# elementos de diferentes tipos


a = [1,3.5,"Hello"]

Se você criar arrays usando oarraymódulo, todos os elementos do array devem ser
do mesmo tipo numérico.

importar arrayas arr


# Erro
a = [Link]('d', [1,3.5,"Olá"])

Saída

Rastreio (chamada mais recente por último):


Arquivo "<string>", linha 3, em <módulo>
a = [Link]('d', [1, 3.5, "Olá"])
TypeError: deve ser um número real, não uma string
Quando usar arrays?

Listas são muito mais flexíveis do que arrays. Elas podem armazenar elementos de tipos diferentes.

tipos de dados incluindo strings. E, se você precisar fazer computação matemática


em arrays e matrizes, você está muito melhor utilizando algo comoNumPy.
Então, quais são os usos de arrays criados a partir do módulo array do Python?

[Link] tipo é apenas uma fina camada sobre arrays C que oferece espaço -
armazenamento eficiente de tipos de dados básicos no estilo C. Se você precisar alocar um array

que você sabe que não mudará, então arrays podem ser mais rápidos e usar menos memória
do que listas.

Criando Arrays em Python


Para criar um array de valores numéricos, precisamos importar oarraymódulo. Para
exemplo:

importar arrayas arr


a = [Link]('d', [1.1, 3.5, 4.5])
imprimir(a)

Saída

array('d', [1.1, 3.5, 4.5])

Aqui, criamos um array deflutuartipo. A cartadé um tipo de código. Isto


determina o tipo do array durante a criação.
Acessando Elementos de Array em Python

Usamos índices para acessar elementos de um array:


importar arrayas arr
a = [Link]('i', [2, 4, 6, 8])

print("Primeiro elemento:", a[0])


print("Segundo elemento:", a[1])
print("Último elemento:", a[-1])

Saída

Primeiro elemento: 2
Segundo elemento: 4
Último elemento: 8

Nota: O índice começa em 0 (não em 1), semelhante às listas.

Fatiando Arrays em Python

Podemos acessar uma faixa de itens em um array usando o operador de fatiamento.: .

importar arrays como arr

numbers_list = [2,5,62,5,42,52,48,5]
numbers_array = [Link]('i', lista_de_numeros)

print(numbers_array[2:5])# 3ª a 5ª
print(numbers_array[:-5])# do início até o 4º
print(numbers_array[5:])# 6ª até o fim
print(numeros_array[:])# do início ao fim

Saída

array('i', [62, 5, 42])


array('i', [2, 5, 62])
array('i', [52, 48, 5])
array('i', [2, 5, 62, 5, 42, 52, 48, 5])
Mudando e Adicionando Elementos
Os arrays são mutáveis; seus elementos podem ser alterados de maneira semelhante às listas.

importar arrays como arr

[Link]('i', [1,2,3,5,7,10])

# mudando o primeiro elemento


numbers[0] =0
imprimir(números)# Saída: array('i', [0, 2, 3, 5, 7, 10])

mudando o 3º para o 5º elemento


números[2:5] = [Link]('i', [4,6,8])
print(números)# Saída: array('i', [0, 2, 4, 6, 8, 10])

Saída

array('i', [0, 2, 3, 5, 7, 10])


array('i', [0, 2, 4, 6, 8, 10])

Podemos adicionar um item ao array usando oanexar()método, ou adicionar vários


itens usando oestender()método.

import arrayas arr

números = [Link]('i', [1,2,3])

nú[Link](4)
imprimir(números) # Saída: array('i', [1, 2, 3, 4])

# extend() acrescenta um iterável ao final do array


nú[Link]([5,6,7])
imprimir(números)# Saída: array('i', [1, 2, 3, 4, 5, 6, 7])

Saída
array('i', [1, 2, 3, 4])
array('i', [1, 2, 3, 4, 5, 6, 7])

Podemos também concatenar dois arrays usando+ operador.

importar arrayas arr

ímpar = [Link]('i', [1,3,5])


even = [Link]('i', [2, 4, 6])

números = [Link]('i')# criando array vazio de inteiros


números

imprimir(números)

saída

array('i', [1, 3, 5, 2, 4, 6])

Removendo Elementos de Array em Python

Podemos deletar um ou mais itens de um array usando Pythondeldeclaração.

importar arrayas arr

número = [Link]('i', [1,2,3,3,4])

del number[2] # removendo o terceiro elemento


print(número)# Saída: array('i', [1, 2, 3, 4])

del número# deletando array inteiro


print(número) # Erro: array não está definido

Saída

array('i', [1, 2, 3, 4])


Rastreamento (chamada mais recente por último):
Arquivo "<string>", linha 9, em <módulo>
print(número) # Erro: array não está definido
NameError: nome 'number' não está definido
Podemos usar oremover()método para remover o item dado, epop()método
remover um item no índice dado.

importar arrayas arr

números = [Link]('i', [10,11,12,12,13])

[Link](12)
imprimir(números)# Saída: array('i', [10, 11, 12, 13])

print([Link](2))# Saída: 12
imprimir(números) # Saída: array('i', [10, 11, 13])

Saída

array('i', [10, 11, 12, 13])


12
array('i', [10, 11, 13])

Como pesquisar e obter o índice de um valor em um Array


Com esta operação, você pode procurar um item em um array com base em seu valor. Isso
o método aceita apenas um argumento, valor. É um método não destrutivo, que
significa que não afeta os valores do array.

A sintaxe é

[Link](valor)

Exemplo:

Vamos encontrar o valor de "3" no array. Este método retorna o índice do valor pesquisado.
valor.

importar array como meuarray


número = [Link]('b', [2, 3, 4, 5, 6])
imprimir(nú[Link](3))

output

1
Esta operação retornará o índice da primeira ocorrência do elemento mencionado.

Como Reverter uma Lista em Python


Esta operação irá inverter todo o array.

Sintaxe: [Link]()

importar array como meuarray


[Link]('b', [1, 2, 3])
nú[Link]()
imprimir(número)

array('b', [3, 2, 1])


Converter array para Unicode:
O array Python pode ser convertido para Unicode. Para atender a essa necessidade, o array deve ser um
digite 'u'; caso contrário, você receberá "ValueError."

Exemplo:

do array importar array


p = array('u',[u'\u0050',u'\u0059',u'\u0054',u'\u0048',u'\u004F',u'\u004E'])
imprimir(p)
q = [Link]()
imprimir(q)

Saída:

array('u', 'PYTHON')
PYTHON

Conte a ocorrência de um Valor em um Array


Você também pode contar a ocorrência de elementos no array usando [Link](x)
sintaxe.

Exemplo:

importar array como myarr


[Link]('b', [2, 3, 5, 4, 3, 3, 3])
print(nú[Link](3))

Percorrer um Array
Você pode percorrer um array Python usando loops, como este:

importar array
[Link]('i', [300,200,100])
para x em saldo:
imprimir(x)

Saída:

300
200
100
Capítulo 9
Princípios da Programação Orientada a Objetos (POO)

Objeto: A instância de uma classe / é a entidade de trabalho de uma classe

Classe: Este é o modelo ou padrão sobre a capacidade do que um objeto pode fazer
Método: Pode modificar o estado de uma classe que se aplicaria a todas as instâncias da classe
Instância: Estes são como Objetos, no entanto, vamos pensar nisso nesses termos: A
o plano para um design de carro é a descrição da classe, todos os carros fabricados a partir disso
plantas são objetos daquela classe. Seu carro que foi feito a partir dessa planta é um
instância daquela classe.
Agora que cobrimos essas palavras-chave, vamos entrar nos quatro princípios de
programação orientada a objetos Encapsulamento Abstração, Hereditariedade,e
Polimorfismo.

Os Quatro Princípios da Programação Orientada a Objetos (POO):


Encapsulamento
A encapsulação é realizada quando cada objeto mantém um estado privado, dentro de um
classe. Outros objetos não podem acessar esse estado diretamente, em vez disso, eles podem apenas invocar um
lista de funções públicas. O objeto gerencia seu próprio estado por meio dessas funções e não
outra classe pode alterá-lo, a menos que seja explicitamente permitido. Para se comunicar com o objeto,
você precisará utilizar os métodos fornecidos. Uma maneira que gosto de pensar em encapsulamento é
usando o exemplo de pessoas e seus cães. Se quisermos aplicar encapsulamento, fazemos
então, ao encapsular toda a lógica do "cachorro" em uma classe Cachorro. O "estado" do cachorro está em
variáveis privadas brincalhona, faminta e energia e cada uma dessas variáveis tem sua
campos respectivos.
Há também um método privado: bark(). A classe do cachorro pode chamá-lo sempre que precisar.
quer, e as outras classes não podem dizer ao cachorro quando latir. Também existem públicos
métodos como sleep(), play() e eat() que estão disponíveis para outras classes. Cada um de
essas funções modificam o estado interno da classe Dog e podem invocar bark(), quando
isso acontece quando o estado privado e os métodos públicos estão ligados.

Abstração
A abstração é uma extensão da encapsulação. É o processo de selecionar dados de
uma piscina maior para mostrar apenas os detalhes relevantes para o objeto. Suponha que você queira criar
um aplicativo de namoro e você é solicitado a coletar todas as informações sobre seus usuários.
Você pode receber os seguintes dados do seu usuário: Nome completo, endereço, telefone
número
pontuação de crédito. Essa quantidade de dados é ótima, no entanto, nem todos eles são necessários para criar um
perfil de namoro. Você só precisa selecionar as informações que são pertinentes ao seu namoro
aplicação daquele grupo. Dados como nome completo, comida favorita, filme favorito, e
hobbies fazer sentido para a namoro aplicação. O processo de
buscar/remover/selecionar as informações do usuário de um pool maior é referido como
Abstração. Uma das vantagens da Abstração é ser capaz de aplicar o mesmo
informações que você usou para o aplicativo de namoro para outros aplicativos com pouca ou nenhuma
modificação.
Herdar
Herdar é a capacidade de um objeto adquirir algumas/todas as propriedades de outro
objeto. Por exemplo, uma criança herda as características de seus pais. Com a herança,
a reutilização é uma grande vantagem. Você pode reutilizar os campos e métodos existentes
classe. Em Java, existem vários tipos de heranças: simples, múltipla, multinível,
hierárquico e híbrido. Por exemplo, a Apple é uma fruta, então suponha que temos uma classe
Fruta e uma subclasse chamada Maçã. Nossa Maçã adquire as propriedades da Fruta
classe. Outras classificações poderiam ser uva, pêra e manga, etc. Fruta define uma classe
de alimentos que são ovários maduros de uma planta, carnosos, contém uma grande semente dentro ou
numerosas sementes minúsculas. A subclasse Maçã adquire essas propriedades da Fruta e tem
algumas propriedades únicas, que são diferentes de outras sub-classes de Fruta, como vermelho,
redondo, depressão na parte superior.

Polimorfismo
O polimorfismo nos dá uma maneira de usar uma classe exatamente como sua classe pai, então não há
confusão com a mistura de tipos. Dito isso, cada subclasse de criança mantém seu próprio
funções/métodos como estão. Se tivéssemos uma superclasse chamada Mamífero que tem um
método chamado mammalSound(). As sub-classes de Mamíferos poderiam ser Cachorros, baleias,
elefantes e cavalos. Cada um deles teria sua própria iteração de um mamífero
som (latidos de cães, cliques de baleias).

Herança em Python
A herança é um aspecto importante do paradigma orientado a objetos. A herança fornece
reutilização de código no programa porque podemos usar uma classe existente para criar uma nova
classe em vez de criá-la do zero.
Na herança, a classe filha adquire as propriedades e pode acessar todos os dados
membros e funções definidos na classe pai. Uma classe filha também pode fornecer seu
implementação específica para as funções da classe pai. Nesta seção do tutorial,
discutiremos a herança em detalhes.
Em Python, uma classe derivada pode herdar a classe base apenas mencionando a base na
colchete após o nome da classe derivada. Considere a seguinte sintaxe para herdar uma base
classe na classe derivada.
Sintaxe
[Link](classeBase):

56.< classe-sala>

Uma classe pode herdar várias classes mencionando todas elas dentro dos parênteses.
Considere a seguinte sintaxe.

Sintaxe
[Link]-class(<baseclass1>, <baseclass2>, ..... <baseclassn>):

58. <classe- suíte>

Exemplo 1
[Link]

60. defspeak(self):

61. print("Animal Falando")

62.#a classe filha Dog herda a classe base Animal

[Link]ão(Animal):

64. deflatir(self):

65. cachorro latindo

66.d = Cachorro()

[Link]()
[Link]()

cachorro latindoAnimal Falando

Herança em múltiplos níveis em Python


A herança de múltiplos níveis é possível em python como em outras linguagens de programação orientadas a objetos. Múltiplo-

a herança de nível é arquivada quando uma classe derivada herda outra classe derivada. Há
não há limite no número de níveis até os quais a herança mult nível é alcançada em
python.

A sintaxe da herança em múltiplos níveis é dada abaixo.

Sintaxe
69.classclass1:

70. <classe-série>

71.classclass2(classe1):

72.< classsuite>

73.classclass3(class2):
74. <classeconjunto>

75..

76..

Exemplo
[Link]

78. defspeak(self):

79. print("Animal Falando")

80.A classe filha Cão herda a classe base Animal

[Link]ão(Animal):

82. defbark(self):

83. cachorro latindo

84.A classe filho Dogchild herda outra classe filho Dog

[Link]ãoFilho(Cão):

86. derrota(self):

87. Comendo pão...

88.d = CãoFilho()

[Link]()

[Link]()

[Link]()

Saída:

cachorro

Herança múltipla em Python


O Python nos oferece a flexibilidade de herdar várias classes base na classe filha.
A sintaxe para realizar herança múltipla é dada abaixo.

Sintaxe
92.classBase1

93. <classe-série>

94.

95.classBase2

96. <classe-série>

97..

98..

99..

100. classBaseN

101. <classe-série>

102.

103. classeDerivada(Base1, Base2, ...... BaseN):

104. <classe-suítes>

O método issubclass(sub,sup)
O método issubclass(sub, sup) é usado para verificar os relacionamentos entre o
classes especificadas. Retorna verdadeiro se a primeira classe for uma subclasse da segunda classe, e
falso caso contrário.

Considere o seguinte exemplo.


Exemplo
105. classCalculation1

106. defSoma(self, a, b):

107. returna+b;

108. classCalculation2

109. defMultiplicação(self, a, b):

110. returna*b;

111. classDerived(Calculo1, Calculo2):

112. def Dividir(self, a, b):

113. returna/b;

114. d = Derivado()

115. print(issubclass(Derived, Calculation2))

116. print(issubclass(Calculation1, Calculation2))

Output

VerdadeiroFalso

Exemplo
1classCalculation1

2. defSoma(self,a,b):

3. retorna a + b;

4.classCalculation2:

5. defMultiplicação(self,a,b):

6. returna*b;

[Link](Calculo1, Calculo2):
8. def Dividir(self, a, b):

9. returna/b;

10.d = Derivado()

[Link]([Link](10,20))

[Link]([Link]ção(10,20))

[Link]([Link](10,20))

output

302000,5

O método isinstance (obj, classe)


O método isinstance() é usado para verificar a relação entre os objetos e
classes. Retorna verdadeiro se o primeiro parâmetro, ou seja, obj, é a instância do segundo
parâmetro, ou seja, classe.

Considere o seguinte exemplo.

Exemplo
14.classCalculation1

15. defSoma(self,a,b):

16. retorna a + b;

17.classCalculation2:

18. defMultiplicação(self,a,b):

19. retorna a*b;

[Link](Calculation1, Calculation2):

21. defDividir(self, a, b):

22. retorna/a/b;

23.d = Derivado()
[Link](isinstance(d, Derived))

output

Verdadeiro

Sobrescrita de Método
Podemos fornecer uma implementação específica do método da classe pai em nosso filho.
classe. Quando o método da classe pai é definido na classe filha com alguma especificidade
implementação, então o conceito é chamado de sobrescrita de método. Podemos precisar realizar
sobrescrita de método no cenário em que a definição de uma classe pai é diferente
método é necessário na classe filho.

Considere o seguinte exemplo para realizar a sobrecarga de método em python.

Exemplo
[Link]

26. defspeak(self):

27. print("falando")

[Link]ão(Animal):

29. def falar(self):

30. Latindo

31.d = Cão()

[Link]()

Latindo

Exemplo da Vida Real de sobrecarga de método


[Link]

34. defgetroi(self):

35. retornar10;

[Link](Banco):
37. defgetroi(self):

38. retornar7;

39.

[Link](Banco):

41. defgetroi(self):

42. retornar8;

43.b1 = Banco()

44.b2 = SBI()

45.b3 = ICICI()

[Link]("Taxa de juros do banco:", [Link]());

[Link]("Taxa de juros do SBI:", [Link]());

[Link]("Taxa de juros da ICICI:",[Link]());

Taxa de juros do banco: 10

Abstração de dados em python


A abstração é um aspecto importante da programação orientada a objetos. Em python, podemos
também execute a ocultação de dados acrescentando o sublinhado duplo (___) como prefixo ao
atributo que deve ser ocultado. Depois disso, o atributo não estará visível fora do
classe através do objeto.

Considere o seguinte exemplo.

Exemplo
[Link]ário

50. __count = 0;

51. def __init__(self):

52. Funcionário.__contagem = Funcionário.__contagem + 1


53. defdisplay(self):

54. print("O número de funcionários", Employee.__count)

[Link] = Funcionário()

56.emp2 = Funcionário()

[Link]:

58. print(emp.__contar)

[Link]

60. [Link]()

O número de funcionários 2AttributeError: o objeto 'Employee' não tem atributo


__contar

Polimorfismo em Python
O que é Polimorfismo: A palavra polimorfismo significa ter muitas formas. Em
programação, polimorfismo significa o mesmo nome de função (mas assinaturas diferentes)
sendo usado para diferentes tipos.

Exemplo de funções polimórficas incorporadas:

# Programa em Python para demonstrar polimorfismo embutido


funções mórficas

# len() sendo usado para uma string


print(len("geeks"))

# len() sendo usado para uma lista


imprimir(len([10,20,30]))

Output53

Exemplos de funções polimórficas definidas pelo usuário:

# Uma função Python simples para demonstrar


Polimorfismo

def adicionar(x, y, z= 0):

retornar x+ y+z

# Código do motorista
imprimir(adicionar(2,3))
print(adicionar(2,3,4))

59

Polimorfismo com métodos de classe:


O código abaixo mostra como o Python pode usar dois tipos de classes diferentes, da mesma forma. Nós
crie um loop for que itere através de uma tupla de objetos. Então chame os métodos sem
estar preocupado sobre qual tipo de classe cada objeto é. Assumimos que esses métodos
na verdade existem em cada classe.

classe Índia

def capital(self):

Nova Délhi é a capital da Índia.

def língua

O Hindi é a língua mais falada da Índia.

def tipo(self):

A Índia é um país em desenvolvimento.

classe EUA

def capital(self):
Washington, D.C. é a capital dos EUA.

def idioma(self):

O inglês é a língua principal dos EUA.

def tipo(self):

Os EUA são um país desenvolvido.

obj_ind Índia

obj_usa EUA
para país em obj_ind

paí[Link]()
país
paí[Link]()

Nova Délhi é a capital da Índia. O hindi é o mais amplamente falado.


idioma falado da Índia. A Índia é um país em desenvolvimento. Washington,
D.C. é a capital dos EUA. O inglês é a língua principal dos EUA.
é um país desenvolvido.

Polimorfismo com Herança:

Em Python, o Polimorfismo nos permite definir métodos na classe filha que têm o mesmo
nome como os métodos na classe pai. Na herança, a classe filha herda o
métodos da classe pai. No entanto, é possível modificar um método em um filho
classe que herda da classe pai. Isso é particularmente útil em casos
onde o método herdado da classe pai não se encaixa bem na classe filha. Em
em tais casos, reimplementamos o método na classe filha. Esse processo de re-
implementar um método na classe filha é conhecido como Sobrescrita de Método.

classe Pássaro
def intro(self):

Há muitos tipos de aves.


def voo(self)

A maioria das aves pode voar, mas algumas não podem.

classe pardal
def voo(self):

Os pardais podem voar.

classe avestruz

def voo(self)

Os avestruzes não conseguem voar.

obj_bird Pássaro()
obj_spr pardal()

obj_ost avestruz()

obj_pá[Link]ção()
obj_pássaro.vôo()

obj_spr.intro()
obj_spr.voar()

obj_ost.intro()
obj_ost.voo()

Saída:Existem muitos tipos de pássaros. A maioria dos pássaros pode voar, mas
alguns não podem. Existem muitos tipos de pássaros. Os pardais podem voar. Há
muitos tipos de aves. Estrússas não podem voar.

Polimorfismo com uma função e objetos:


Também é possível criar uma função que pode aceitar qualquer objeto, permitindo que
polimorfismo. Neste exemplo, vamos criar uma função chamada "func()" que receberá um
objeto que chamaremos de “obj”. Embora estejamos usando o nome ‘obj’, qualquer instanciado
o objeto poderá ser chamado nesta função. Agora, vamos dar à função algo
para fazer isso, usa o objeto 'obj' que passamos para ele. Neste caso, vamos chamar os três métodos,
ou seja, capital(), language() e type(), cada um dos quais é definido nas duas classes ‘Índia’
e ‘EUA’.
Por exemplo, a seguir, vamos criar instâncias das classes 'Índia' e 'EUA' se não tivermos
já. Com isso, podemos chamar a ação deles usando a mesma função func():
def func(obj):

[Link]()
[Link]()
[Link]()

obj_ind Índia
obj_usa EUA

func(obj_ind)
func(obj_usa)

Código: Implementando Polimorfismo com uma Função


classe Índia
def capital(self):

Nova Délhi é a capital da Índia.

def idioma

O hindi é o idioma mais falado da Índia.

def tipo(self):

A Índia é um país em desenvolvimento.

classe EUA
def capital(self):

Washington, D.C. é a capital dos EUA.

def idioma(self):

O inglês é a língua principal dos EUA.

def tipo(self):

Os EUA são um país desenvolvido.

def func(obj):

[Link]()
[Link]()
[Link]()

obj_ind Índia

obj_usa EUA

func(obj_ind)
func(obj_usa)

Saída:Nova Délhi é a capital da Índia. O hindi é a língua mais falada.


língua falada na Índia. A Índia é um país em desenvolvimento. Washington,
D.C. é a capital dos EUA. O inglês é a língua principal dos EUA.
é um país desenvolvido.
Cap.10
Criar interface gráfica em Python-Tkinter
Aplicações de computador modernas são amigáveis ao usuário. A interação do usuário não é restrita a
entrada e saída baseadas em console. Eles têm uma interface gráfica de usuário (GUI) mais ergonômica graças
para processadores de alta velocidade e hardware gráfico poderoso. Esses aplicativos podem
receber entradas por meio de cliques do mouse e pode permitir que o usuário escolha entre
alternativas com a ajuda de botões de rádio, listas suspensas e outros elementos de interface gráfica (ou
widgets).
Essas aplicações são desenvolvidas usando uma das várias bibliotecas gráficas disponíveis. A
uma biblioteca gráfica é um conjunto de software que possui uma coleção de classes que definem um
funcionalidade de vários elementos de interface gráfica. Essas bibliotecas gráficas são geralmente escritas em
C/C++. Muitos deles foram portados para Python na forma de módulos importáveis.
Alguns deles estão listados abaixo:

Tkinter é a porta Python para o toolkit GUI Tcl-Tk desenvolvido por Fredrik Lundh.
o módulo vem incluído nas distribuições padrão do Python para todas as plataformas.

PyQt é, a interface Python para Qt, é uma estrutura de GUI de muito popular em várias plataformas.
PyGTKé o módulo que porta o Python para outra popular biblioteca de widgets GUI chamada
GTK.
WxPythoné um wrapper Python em torno do WxWidgets, outra biblioteca gráfica multiplataforma
biblioteca.
Este tutorial explica o uso do Tkinter no desenvolvimento de programas Python baseados em GUI.

Aplicativo de Interface Gráfica Básico


Os elementos da GUI e sua funcionalidade são definidos no módulo Tkinter. O seguinte
o código demonstra os passos para criar uma interface de usuário.

de tkinter import *
Janela=Tk()# adicione widgets aqui
janela.título('Olá Python')
[Link]("300x200+10+20")
[Link]()
Primeiro de tudo, importe o módulo TKinter. Após a importação, configure o objeto da aplicação por
chamando a função Tk(). Isso criará uma janela de nível superior (raiz) com um quadro com um
barra de título, caixa de controle com os botões minimizar e fechar, e uma área do cliente para segurar outros
widgets. O método geometry() define a largura, altura e coordenadas do canto superior esquerdo
canto da moldura conforme abaixo (todos os valores estão em pixels):
[Link]("larguraxaltura+XPOS+YPOS") O objeto da aplicação então entra em um
loop de escuta de eventos chamando o método themainloop(). A aplicação agora está constantemente
aguardando qualquer evento gerado nos elementos nele. O evento poderia ser texto inserido em
um campo de texto, uma seleção feita no dropdown ou botão de rádio, clique único / duplo clique
ações do mouse, etc. A funcionalidade do aplicativo envolve executar apropriadas
funções de retorno em resposta a um tipo particular de evento. Vamos discutir o evento
o gerenciamento mais tarde neste tutorial. O loop de eventos será encerrado quando o botão de fechar
quando a barra de título é clicada. O código acima criará a seguinte janela:

Janela Python-Tkinter
Todas as classes de widgets Tkinter são herdadas da classe Widget. Vamos adicionar
os widgets mais comumente usados.

Botão
O botão pode ser criado usando a classe Button. O construtor da classe Button requer
uma referência à janela principal e às opções.
Assinatura:Botão(janela, atributos)
Você pode definir as seguintes propriedades importantes para personalizar um botão:

legenda do botão
cor de fundo
cor do primeiro plano
nome da fonte e tamanho
imagem : a ser exibida em vez de texto
comando: função a ser chamada ao clicar
Exemplo: Botão
Copiar

de tkinter import *
Janela
botão=Botão(janela,texto="Este é o widget Botão",fg='azul')
[Link](x=80,y=100)
janela.título('OláPython')
[Link]("300x200+10+10")
[Link]()

Rótulo
Um rótulo pode ser criado na interface do usuário em Python usando a classe Label. O construtor Label
requer o objeto de janela de nível superior e parâmetros de opções. Os parâmetros de opções são
similar ao objeto Botão.
O seguinte adiciona um rótulo na janela.
Exemplo:

de tkinter import *
Tk()
lbl=Etiqueta(janela, Isto é Rótulo widget vermelho
font=("Helvetica", 16))
[Link](x=60,y=50)janela.título('Olá Python')
[Link]("300x200+10+10")
[Link]()
Aqui, a legenda do rótulo será exibida em vermelho usando Helvetica
fonte de tamanho 16 pontos.
Entrada
Este widget renderiza uma caixa de texto de linha única para aceitar a entrada do usuário. Para texto de múltiplas linhas
use o widget Text. Além das propriedades já mencionadas, a classe Entry
o construtor aceita o seguinte:
bd: tamanho da borda da caixa de texto; o padrão é 2 pixels.

mostrar: para converter a caixa de texto em um campo de senha, defina a propriedade show como "*".

O código a seguir adiciona o campo de texto.

Entrada(janela, Este é Entrada Widget


preto
O exemplo a seguir cria uma janela com um botão, rótulo e entrada.
campo.
Criar Widgets
Copiar

de tkinter import *
Janela
btn=Botão(janela, texto="Este é o widget Botão", fg='azul')
[Link](x=80, y=100)
lbl=Rótulo(janela, Este é Rótulo widget vermelho
font=("Helvetica", 16))
[Link](x=60, y=50)
txtfld=Entrada(janela, texto="Este é o Widget de Entrada", bd=5)
[Link](x=80, y=150)
janela.título('Olá Python')
[Link]("300x200+10+10")
[Link]()
O exemplo acima criará a seguinte janela.
Crie Widgets de UI em Python-Tkinter

Widgets de Seleção
Este widget exibe um botão de alternância com um estado LIGADO/DESLIGADO. Pode haver
pode haver mais de um botão, mas apenas um deles estará LIGADO em um dado momento.

Este também é um botão de alternância. Uma caixa de seleção retangular aparece antes dele.
A sua estado ON é exibido pela marca de verificação na caixa, que desaparece quando está
clicado para DESLIGADO.

Combobox: Esta classe é definida no módulo ttk do pacote tkinter. Ela popula a lista suspensa
baixar dados de um tipo de coleção, como uma tupla ou uma lista como parâmetro de valores.

Listbox: Ao contrário do Combobox, este widget exibe toda a coleção de itens em string.
o usuário pode selecionar um ou vários itens.

O exemplo a seguir demonstra a janela com os widgets de seleção:


Botão de rádio, Botão de seleção, Caixa de lista e Combobox:

Widgets de Seleção
Copiar

do tkinter import *
do [Link] importar
JanelaCombobox=Tk()
var = StringVar()
[Link]("um")
data=("one","two","three","four")
cb=Combobox(janela, valores=dados)
[Link](x=60, y=150)
lb=Listbox(janela, altura=5, modo_seleção='múltiplo')
para dados numin
[Link](FIM,num)
[Link](x=250, y=150)
v0=IntVar()
[Link](1)
r1=Radiobutton(janela, texto="masculino", variável=v0, valor=1)
r2=Radiobutton(janela, texto="feminino", variável=v0, valor=2)
[Link](x=100,y=50)
[Link](x=180, y=50)
IntVar()
IntVar()
C1 = Checkbutton(janela, texto ='Críquete', variável = v1)
C2 = Checkbutton(janela, texto ="Tênis", variável = v2)
[Link](x=100, y=100)
[Link](x=180, y=100)
[Link]('Olá Python')
[Link]("400x300+10+10")[Link]()
Criar interface de usuário em Python-Tkinter

Manipulação de Eventos
Um evento é uma notificação recebida pelo objeto da aplicação de vários widgets de GUI como
um resultado da interação do usuário. O objeto Aplicativo está sempre antecipando eventos à medida que ele
executa um loop de escuta de eventos. As ações do usuário incluem clique ou clique duplo do botão do mouse,
tecla do teclado pressionada enquanto o controle está dentro da caixa de texto, certo elemento ganha ou sai
fora de foco etc.
Os eventos são expressos como strings no formato <modificador-tipo-qualificador>.

Muitos eventos são representados apenas como qualificadores. O tipo define a classe do evento.

A tabela a seguir mostra como o Tkinter reconhece diferentes eventos:

Evento Modificador Tipo Qualificador Acton


<Buton-1> Botão 1 Botão esquerdo do mouse

clique.

<Buton-2> Botão 2 Botão do meio do mouse

clique no botão.

<Destruir> Destruir A janela está sendo


destruído.

Duplo Botão 1 Clique duas vezes primeiro

botão do mouse 1.
<Entrar> Entrar O cursor entra
janela.

<Expor> Expor Janela totalmente ou


parcialmente exposto.

TeclaPressionada-a Pressionamento de Tecla


a Qualquer chave foi
pressionado.

Liberação de Tecla Liberação de tecla Qualquer chave foi


lançado.

<Licença> Sair O cursor sai


janela.

<Imprimir> Imprimir A chave PRINT tem


foi pressionado.

<FocoEm> Foco Ganho de widget


foco.

<FocoFora> Foco Fora o widget perde o foco.

Um evento deve ser registrado com um ou mais widgets de GUI na aplicação. Se for
não, será ignorado. No Tkinter, existem duas maneiras de registrar um evento com um widget.
A primeira maneira é usando o método bind() e a segunda maneira é usando o comando
parâmetro no construtor do widget.

Método Bind()
Obind()o método associa um evento a uma função de callback para que,
quando o evento ocorre, a função é chamada.
Sintaxe:
[Link](evento, callback)

Por exemplo, para invocar oMeuBotãoClicado()função no botão esquerdo


clique, use o seguinte código:
Vínculo Par
Copiar

de tkinter import *
Janela
Botão
[Link]('<Botão-1>',
MeuBotãoClicado
O objeto de evento é caracterizado por muitas propriedades, como fonte
widget, coordenadas de posição, número do botão do mouse e tipo de evento.
Esses podem ser passados para a função de retorno de chamada, se necessário.

Parâmetro de Comando
Cada widget responde principalmente a um tipo específico. Por exemplo, o Botão é uma fonte de
o evento do Botão. Portanto, está vinculado a ele por padrão. Métodos construtores de muitos widgets
as classes têm um parâmetro opcional chamado comando. Esse parâmetro de comando é definido
para chamar de volta a função que será invocada sempre que seu evento associado ocorrer. Isso
o método é mais conveniente do que o método bind().
btn = Botão(janela, texto='OK', comando=minhaFunçãoManipuladoraDeEventos)

No exemplo dado abaixo, a janela do aplicativo tem dois campos de entrada de texto e
mais um para exibir o resultado. Existem dois objetos de botão com as legendas Adicionar
e Subtrair. Espera-se que o usuário insira o número nos dois widgets de Entrada. Seu
adição ou subtração é exibida no terceiro.
O primeiro botão (Adicionar) é configurado usando o parâmetro de comando. Seu valor é oadd()
método na classe. O segundo botão usa o método bind() para registrar o esquerdo
clique no botão com o método thesub(). Ambos os métodos leem o conteúdo dos campos de texto por
o método get() do widget Entry, analisar para números, realizar a adição/subtração
e exiba o resultado no terceiro campo de texto usando o método insert().

Exemplo:
Copiar

do tkinter import *
classe MinhaJanela:
def __init__(self, win):
self.lbl1=Label(win, text='Primeiro número')
self.lbl2 = Label(win, text='Segundo número')
self.lbl3=Label(win, text='Resultado')
Entry(bd=3)
self.t2=Entrada()
self.t3=Entrada()
Button(win, text='Adicionar')
self.btn2=Button(win, text='Subtrair')
[Link](x=100, y=50)
[Link](x=200, y=50)
[Link](x=100, y=100)
[Link](x=200, y=100)
Button(win,text='Adicionar',command=[Link])
Button(win, text='Subtrair')
[Link]('<Button-1>', [Link])
[Link](x=100, y=150)
[Link](x=200, y=150)
[Link](x=100, y=200)
[Link](x=200, y=200)
def adicionar(self):
[Link](0, 'fim')
num1=int([Link]())
num2=int([Link]())
resultado=num1+num2
[Link](END, str(resultado))
def sub(self,event):
[Link](0, 'fim')
num1=int([Link]())
num2=int([Link]())
resultado=num1-num2
[Link](FIM, str(resultado))
janela=Tk()
MinhaJanela(janela)
janela.título('Olá Python')
[Link]("400x300+10+10")
[Link]()
O exemplo acima cria a seguinte interface de usuário.

UI em Python-Tkinter
Assim, você pode criar a interface do usuário usando TKinter em Python.
Cap.11
Conexão com o Banco de Dados Oracle em Python

Às vezes, como parte da programação, precisamos trabalhar com os bancos de dados porque nós
quero armazenar uma enorme quantidade de informações, por isso usamos bancos de dados, como Oracle, MySQL,
etc. Então, neste artigo, discutiremos a conectividade do banco de dados Oracle usando Python.
Isso pode ser feito através do módulo namecx_Oracle.

Banco de Dados Oracle


Para comunicar com qualquer banco de dados através do nosso programa em Python, precisamos de alguns
conector que nada mais é do que o módulo thecx_Oracle.

Para instalar o cx-Oracle :


Se você estiver usando Python >= 3.6, use o comando abaixo no Linux:
pip install cx-Oracle
Se você está usando Python >= 3.6, use o comando abaixo no Windows:
py -m pip instalar cx-Oracle
Com este comando, você pode instalar o pacote cx-Oracle, mas é necessário instalar o Oracle.
banco de dados primeiro no seu PC.

Importar módulo específico do banco de dados


Ex. importar cx_Oracle
conectar(): Agora estabeleça uma conexão entre o programa Python e
Banco de dados Oracle usando a função connect().

con = cx_Oracle.connect('usuario/senha@localhost')
cursor(): Para executar uma consulta SQL e fornecer resultados, é necessário um objeto especial.
exigido que nada mais é do que um objeto cursor() .

cursor = cx_Oracle.cursor()
método execute/executemany:

[Link](sqlquery) – – – -> para executar uma única consulta.


[Link](sqlqueries) – – – -> para executar uma única consulta com múltiplos parâmetros
variáveis/placas reservas.
“Realize Operações CRUD Básicas Usando CX_ORACLE, Parte 1.”
Configuração Adicional

Antes de executar os exemplos de atualização com cx_Oracle, crie um script de redefinição e um template.
que irá lidar com todas as atualizações de exemplo.

Redefinir modeloPara manter os exemplos limpos e precisos, você vai querer redefinir o
dados em certos momentos. Crie um novo arquivo chamado reset_data.py com o seguinte código e, em seguida, execute
sempre que você quiser redefinir os dados. (Observe que esta versão adiciona dados de animais de estimação não
incluído em outros artigos desta série.)

importar cx_Oracle
importar os
connectString = [Link]('db_connect')
con = cx_Oracle.connect(connectString)
cur = [Link]()

# Excluir linhas
deletar de cx_pets
[Link](declaração)
# Redefinir Coluna de Identidade
alterar tabela cx_pets modificar id gerado
POR PADRÃO como identidade (INICIAR COM 8)
[Link](declaração)

Excluir linhas
delete from cx_people
[Link](declaração)

Redefinir coluna de identidade


alterar tabela cx_people modificar id
gerado
POR DEFAULT como identidade (INICIAR COM 3)
[Link](declaração)

# Inserir linhas padrão


rows = [(1, 'Bob', 35, 'I like dogs'),
(2, 'Kim', 27, 'I like birds')]
[Link] = 2
[Link](int, 20, int, 100)
[Link]("inserir na cx_people(id, nome,
idade
valores (:1, :2, :3, :4)
[Link]()

# Inserir linhas padrão


rows = [(1, 'Duke', 1, 'dog'),
(2, 'Pepe', 2, 'bird'),
(3, 'Princesa', 1, 'cobra')
(4, 'Polly', 1, 'bird'),
(5, 'Rollo', 1, 'horse'),
(6, 'Buster', 1, 'dog'),
(7, 'Fido', 1, 'cat')]
[Link] = 2
[Link](int, 20, int, 100)
[Link]("inserir na cx_pets (id, nome,
proprietário
valores (:1, :2, :3, :4)
[Link]()

[Link]()
Atualizar [Link] executar os exemplos de atualização neste artigo, crie um novo arquivo chamado
[Link] com o seguinte código

importar cx_Oracle
importar os
connectString = [Link]('db_connect')
con = cx_Oracle.conectar(connectString)

def obter_todas_as_linhas(rotulo, tipo_de_dados='pessoas'):


# Consultar todas as linhas
cur = [Link]()
se (tipo_de_dados == 'pets'):
selecione id, nome, proprietário, tipo
de cx_pets ordenar por proprietário, id'
caso contrário:
selecione id, nome, idade, notas
from cx_people order by id
[Link](statement)
res = [Link]()
imprimir(rótulo + ': ')
imprimir (res)
imprimir(' ')
[Link]()

obter_todas_as_linhas('Dados Originais')

# Seu código aqui

obter_todas_as_linhas('Novos Dados')
E para cada exemplo de exercício, substitua a linha # Seu código aqui pela específica
exemplo de código. O template [Link] inclui a função auxiliar get_all_rows(), que
encapsula uma instrução SELECT para verificar se as atualizações funcionaram. O SELECT
a funcionalidade está coberta emParte 2desta série.

Nota: Por favor, reveja todo o código de exemplo neste artigo e execute-o apenas se tiver certeza de que ele irá
não causar problemas com o seu sistema.
Atualização Simples

Agora faça uma atualização simples que modifica um único registro na tabela cx_people.
Substitua a linha # Seu código aqui em [Link] pela seguinte parte de código e execute
[Link] na sua sessão Python:

cur = [Link]()
atualizar cx_people set idade = :1 onde id
= :2'
[Link](declaração, (31, 1))
[Link]()
Quando executo este código na minha sessão Python, vejo

[(1, 'Bob', 35, 'I like dogs'), (2, 'Kim', 27, 'I
como pássaros

Novos Dados:
[(1, 'Bob', 31, 'I like dogs'), (2, 'Kim', 27, 'I
como pássaros
Aqui está o que o código [Link] faz:

Recebe umobjeto cursorda conexão. Você usará este cursor para realizar seu
operações de banco de dados.

Prepara uma declaração SQL UPDATE, mudando a idade para 31 para o registro cujo id é 1.

Executa a instrução, usando variáveis de ligação. (VejaParte 2desta série para uma explicação
de variáveis de ligação.)

Compromete ostransação.

Mergulho Mais Profundo

Agora atualize as anotações do Bob paraEu gosto de gatos.

Quando você terminar, os resultados devem ser

translatedText
[(1, 'Bob', 31, 'I like dogs'), (2, 'Kim', 27, 'I
como pássaros

Novos Dados:
[(1, 'Bob', 31, 'I like cats'), (2, 'Kim', 27, 'I
como pássaros')]
Como é que o código bem-sucedido se parece? Assim:
cur = [Link]()
atualizar cx_people definir notas = :1 onde
id = :2'
[Link](declaracao, ("Eu gosto de gatos", 1))
[Link]()
Redefina os dados. Agora é um bom momento para executar reset_data.py.

Alteração de modelo. Agora mude o


modelo padrãoobter_todas_as_linhasdeclarações em [Link] para obter dados de animais de estimação.
Substitua as últimas três linhas de código de [Link] por

obter_todas_as_linhas('Dados Originais', 'animais de estimação')


# Seu código aqui

obter_todas_as_linhas('Novos Dados', 'animais de estimação')


Certifique-se de que sua cláusula WHERE seja específica

Observe que o exemplo anterior usou a coluna id na cláusula WHERE


cláusula. Para este conjunto de dados, a id é a chave primária. Você nem sempre
é necessário usar uma chave primária, mas certifique-se de atualizar apenas as linhas
você pretende.
Agora vamos olhar para a atualização de várias linhas. Vamos fazer com que o Bob dê seu cachorro,
Duke, para Kim. Substitua o# Seu código aquilinha em [Link] com o
siga este trecho de código e execute [Link] em sua sessão Python:
cur = [Link]()
atualizar cx_pets definir proprietário = :1
onde proprietário = :2 e tipo = :3
[Link](declaração, (2, 1, 'cachorro'))
[Link]()
Quando eu executo este código na minha sessão Python, eu vejo

Dados Originais:
[(1, 'Duke', 1, 'dog'), (3, 'Princess', 1, 'snake'),
(4, 'Polly', 1, 'bird'), (5, 'Rollo', 1, 'horse'),
(6, 'Buster', 1, 'dog'), (7, 'Fido', 1, 'cat'),
(2, 'Pepe', 2, 'bird')]

Novos Dados:
[(3, 'Princess', 1, 'snake'), (4, 'Polly', 1,
'pássaro')
(5, 'Rollo', 1, 'horse'), (7, 'Fido', 1, 'cat'),
(1, 'Duke', 2, 'dog'), (2, 'Pepe', 2, 'bird'),
(6, 'Buster', 2, 'dog')]
Aqui está o que o código [Link] faz:

Obtém um objeto cursor da conexão


Prepara uma instrução SQL UPDATE, mudando o valor do proprietário
para 2 (Kim) para os registros com um valor de proprietário de 1 (Bob) e um
tipo de valor decão
Executa a declaração, utilizando variáveis de ligação
Confirma a transação

Este exemplo usa apenas valores de proprietário e tipo, e assume que


Bob tem apenas um cachorro, Duke, como nos dados originais. Mas o novo reset
a função de dados adicionou um segundo cachorro, Buster. Este exemplo
demonstra o que pode acontecer quando múltiplos usuários estão trabalhando com
o mesmo conjunto de dados.

Nos dados, o único identificador único paracx_animais_de_estimaçãoé id. Bob pode ter
dois cães—ou até mesmo dois cães chamados Duke. Se você pretende mudar um
linha específica, certifique-se de usar um identificador único.

Também ajuda a . . .
Verifique o Número de Linhas Afetadas

Agora vamos devolver o Buster ao Bob. Desta vez, use a coluna de id único.
e imprima o número de linhas afetadas, [Link].
Substitua o# Seu código aquilinha em [Link] com o seguinte código
recorte e execute [Link] na sua sessão Python:
cur = [Link]()
atualizar cx_pets definir proprietário = :1 onde id
= :2'
[Link](declaração, (1, 6))
[Link]()
print('Número de linhas atualizadas: ' +
str([Link])
imprimir(' ')
Quando executo este código na minha sessão Python, vejo

Dados de entrada não fornecidos.


[(3, 'Princess', 1, 'snake'), (4, 'Polly', 1,
pássaro
(5, 'Rollo', 1, 'horse'), (7, 'Fido', 1, 'cat'),
(1, 'Duke', 2, 'dog'), (2, 'Pepe', 2, 'bird'),
(6, 'Buster', 2, 'dog')]

Número de linhas atualizadas: 1

Novos Dados:
[(3, 'Princess', 1, 'snake'), (4, 'Polly', 1,
pássaro
(5, 'Rollo', 1, 'horse'),(6, 'Buster', 1, 'dog'),
(7, 'Fido', 1, 'cat'), (1, 'Duke', 2, 'dog'),
(2, 'Pepe', 2, 'bird')]
Aqui está o que o código [Link] faz:

Obtém um objeto de cursor da conexão


Prepara uma declaração SQL UPDATE, alterando o valor do proprietário
para 1 (Bob) para os registros com um valor de id de 6 (Buster)
Executa a declaração, usando variáveis de ligação
Comete a transação

[Link] mostra o número de linhas afetadas para INSERT,


Instruções UPDATE e DELETE e o número de linhas retornadas
em uma instrução SELECT.
Uma Mergulho Mais Profundo

Agora vamos dar todos os pássaros para Kim—todos os pássaros que ela ainda não tem
—e imprima o número de linhas afetadas.
Quando você terminar, os resultados devem ser

Dados originais:
[(3, 'Princess', 1, 'snake'), (4, 'Polly', 1,
'pássaro')
(5, 'Rollo', 1, 'horse'), (6, 'Buster', 1, 'dog'),
(7, 'Fido', 1, 'cat'), (1, 'Duke', 2, 'dog'),
(2, 'Pepe', 2, 'bird')]

Número de linhas atualizadas: 1


Novos Dados
[(3, 'Princess', 1, 'snake'), (5, 'Rollo', 1,
cavalo
(6, 'Buster', 1, 'dog'), (7, 'Fido', 1, 'cat'),
(1, 'Duke', 2, 'dog'), (2, 'Pepe', 2, 'bird'),
(4, 'Polly', 2, 'bird')]
Como é que o código bem-sucedido se parece? Assim:
cur = [Link]()
atualizar cx_pets definir proprietário = :1
onde tipo = :2 e proprietário != :3
[Link](statement, (2, 'pássaro', 2))
[Link]()
print('Número de linhas atualizadas: ' +
str([Link])
imprimir(' ')

commit(): Para consultas DML (Linguagem de Manipulação de Dados) que compreendem


operações como atualizar, inserir, excluir. Precisamos fazer commit() apenas então o resultado
reflete no banco de dados.
fetchone()
1. fetchone() : Este método é usado para buscar uma única linha do topo
do conjunto de resultados.
2. fetchmany(int): Este método é usado para buscar um número limitado de
linhas com base no argumento passado a ele.
3. fetchall(): Este método é usado para buscar todas as linhas do conjunto de resultados.
close(): Após tudo feito, é obrigatório fechar todas as operações.

[Link]()
[Link]()
1. Criação de tabela
# importando módulo
importar cx_Oracle

Criar uma tabela no banco de dados Oracle


tentar

con = cx_Oracle.connect('tigre/scott@localhost:1521/xe')
print([Link]ão)

Agora execute a consulta SQL


cursor = [Link]()

# Criando uma tabela de funcionário


[Link]("criar tabela funcionário(empid inteiro chave primária, nome")
varchar2(30), salário número(10, 2))

Tabela criada com sucesso

exceto cx_Oracle.DatabaseError como e:


print("Há um problema com o Oracle", e)

por escrever finalmente se ocorrer algum erro


então também podemos fechar todas as operações do banco de dados
finalmente:
se o cursor:
[Link]()
se con:
[Link]()
As instruções DDL não precisam ser confirmadas. Elas são confirmadas automaticamente. No
no programa acima, eu usei o método execute() para executar uma instrução SQL.
2. Inserindo um registro na tabela usando o método execute()
# importando módulo
importar cx_Oracle
Inserindo um registro em uma tabela no banco de dados Oracle
tente:
con = cx_Oracle.connect('tigre/scott@localhost:1521/xe')
cursor = [Link]()

True
# Inserindo um registro na tabela funcionário
[Link]('inserir na tabela empregado valores(10001,\'Rahul\',50000.50)')

# commit() para fazer as alterações refletirem no banco de dados


[Link]()
Registro inserido com sucesso

exceto cx_Oracle.DatabaseError como e:


print("Há um problema com o Oracle", e)

escrevendo finalmente se ocorrer algum erro


então também podemos fechar todas as operações de banco de dados
finalmente:
se cursor:
[Link]()
se con:
[Link]()

Registro inserido com sucesso


Uma vez que executamos qualquer declaração DML, é necessário confirmar a transação. Você pode
comitar uma transação de 2 maneiras: –

1. [Link](). Isso é usado para confirmar uma transação manualmente.


2. [Link] = True. Isso é usado para confirmar uma transação automaticamente.
3. Inserindo múltiplos registros em uma tabela usando o método executemany()
importar cx_Oracle

# Carregar dados de um arquivo csv para a tabela Oracle usando executemany


tente:
con = cx_Oracle.connect('tigre/scott@localhost:1521/xe')

exceto cx_Oracle.DatabaseError como er:


print('Há um erro no banco de dados Oracle:', er)

senão:
tentar
cur = [Link]()
data = [[10007, 'Vikram', 48000.0], [10008, 'Sunil', 65000.1], [10009,
Sameer

cur = [Link]()
Inserindo múltiplos registros na tabela de empregados
# (:1,:2,:3) são marcadores de posição. Eles pegam dados de uma lista fornecida como
argumento
[Link]('inserir na tabela funcionário valores(:1,:2,:3)', dados)

exceto cx_Oracle.DatabaseError como er:


print('Há um erro no banco de dados Oracle:', er)

exceto Exceção como er:


imprimir(er)

senão:
Para realizar manualmente a transação
[Link]()
Múltiplos registros foram inseridos com sucesso

finalmente:
se cur:
[Link]()
se con:
[Link]()

Vários registros foram inseridos com sucesso


Pode haver momentos em que é necessário executar uma instrução SQL várias vezes
com base nos diferentes valores fornecidos a ele cada vez. Isso pode ser alcançado usando
método executemany(). Fornecemos uma lista contendo uma lista de valores que substituirão
placeholders em uma consulta SQL a ser executada.
Do caso acima
:1 is substituted by value 10007
:2 é substituído pelo valor 'Vikram'
:3 é substituído pelo valor 48000,0
E assim por diante (próxima lista de valores em uma lista dada)

Da mesma forma, você pode fornecer uma lista de dicionários. Mas em vez de espaço reservado, usaremos o
variável de vinculação (discutido mais tarde).

Visualizar o conjunto de resultados de uma consulta select usando fetchall(), fetchmany(int),


buscarum()
importar cx_Oracle

tente:

con = cx_Oracle.connect('tger/scot@localhost:1521/xe')

exceto cx_Oracle.DatabaseError como er:

print('Há um erro no banco de dados Oracle:', er)

senão:

tente:

cur = [Link]()

fetchall() é usado para buscar todos os registros do conjunto de resultados

[Link]('select * from employee')

linhas = [Link]()
imprimir(linhas)

# fetchmany(int) é usado para buscar um número limitado de registros do conjunto de resultados com base em
argumento inteiro passado nele

[Link]('selecione * do empregado')

linhas = [Link](3)

imprimir(linhas)

fetchone() é usado para buscar um registro do topo do conjunto de resultados

[Link]('selecionar * da tabela funcionário')

linhas = [Link]()

imprimir(linhas)

exceto cx_Oracle.DatabaseError como er:

print('Há um erro no banco de dados Oracle:', er)

exceto Excepton como er:

print('Erro:'+str(er))

finalmente:

se cur:

[Link]()

finalmente:

se con:

[Link]()

[(10001, 'Rahul', 50000.5), (10002, 'Sanoj', 40000.75), (10003,


'Soumik', 30000.25), (10004, 'Sayan', 45000.0), (10005, 'Sobhan',
60000.1), (10006, 'Gururaj', 70000.0), (10007, 'Vikram', 48000.0),
(10008, 'Sunil', 65000.1), (10009, 'Sameer', 75000.0)]
[(10001, 'Rahul', 50000.5), (10002, 'Sanoj', 40000.75), (10003,
Soumik
(10001, 'Rahul', 50000.5)
No programa acima, usamos 3 métodos
[Link]() : O fetchall() é usado para buscar todos os registros do conjunto de resultados.
[Link](int): O fetchmany(int) é usado para buscar um número limitado de
registros do conjunto de resultados com base no argumento inteiro passado nele.
[Link]() :Thefetchone()é usado para buscar um registro do topo do
conjunto de resultados.
5. Visualizar conjunto de resultados de uma consulta select usando variável de ligação

importar cx_Oracle

tente:

con = cx_Oracle.connect('tigre/scott@localhost:1521/xe')

exceto cx_Oracle.DatabaseError como er:

print('Há um erro no banco de dados Oracle:', er)

senão:

tente:

cur = [Link]()

[Link]('select * from employee where salary > :sal', {'sal': 50000})

linhas = [Link]()

imprimir(linhas)
exceto cx_Oracle.DatabaseError como er:

print('Há um erro no banco de dados Oracle:', er)

exceto Exceção como er:

print('Erro:', er)

finalmente:

se cur:

[Link]()

finalmente:

se con:

[Link]()

[(10001, 'Rahul', 50000.5), (10005, 'Sobhan', 60000.1), (10006,


Gururaj, 70000.0
(10008, 'Sunil', 65000.1), (10009, 'Sameer', 75000.0)]
Neste caso, passei um dicionário no método execute(). Este dicionário contém o
nome da variável de vinculação como uma chave, e seu valor correspondente. Quando a consulta SQL é
executado, o valor da chave é substituído no lugar da variável de ligação.

Você também pode gostar