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.