Você está aqui: Python ::: Fundamentos da Linguagem ::: Variáveis e Constantes |
Como acessar variáveis globais a partir de seus métodos PythonQuantidade de visualizações: 12746 vezes |
Por padrão, nossos próprios métodos e funções em Python não enxergam as variáveis definidas fora do seu escopo, e quando o fazem, é somente para leitura, já que alterações nas variáveis fora do escopo fazem com que o interpretar crie versões locais dessas variáveis. Uma solução é usar a palavra-chave "global" antes do nome da varíável que queremos acessar. Veja como isso pode ser feito no trecho de código abaixo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # uma variável global nome = "Carlos" # um método que acessa a variável global def metodo(): global nome nome = "Osmar J. Silva" # função principal do programa def main(): # chama o método metodo() # mostra o resultado print("Valor alterado para:", nome) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Valor alterado para: Osmar J. Silva |
Link para compartilhar na Internet ou com seus amigos: |
Python ::: PyQt GUI Toolkit ::: QMainWindow |
Como centralizar uma janela QMainWindow do PyQtQuantidade de visualizações: 39 vezes |
Nesta dica mostrarei como podemos centralizar a janela principal de nossa aplicação PyQt. Note que esta janela principal, na maioria das vezes, é representada por uma instância da classe QMainWindow. Veja o código completo para o exemplo, já atualizado para o PyQt6: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # vamos importar os módulos necessários import sys from PyQt6.QtCore import * from PyQt6.QtGui import * from PyQt6.QtWidgets import * # vamos criar uma classe que herda de QMainWindow class JanelaPrincipal(QMainWindow): # construtor da classe def __init__(self): super().__init__() # definimos o título da janela self.setWindowTitle("Cadastro de Produtos") # vamos definir as dimensões da janela self.resize(600, 420) # vamos obter a geometria do frame da nossa janela geometria_frame = self.frameGeometry() # acessamos a geometria da monitor e obtemos seu centro ponto_central = self.screen().availableGeometry().center() # movemos o retângulo obtido anteriormente para o centro da tela geometria_frame.moveCenter(ponto_central) # e finalmente movemos nossa janela para este ponto self.move(geometria_frame.topLeft()) if __name__== "__main__": # cria a aplicação app = QApplication(sys.argv) # cria a janela principal e a coloca visível janela_principal = JanelaPrincipal() janela_principal.show() # executa a aplicação app.exec() |
Python ::: Python para Engenharia ::: Cálculo Diferencial e Integral |
Como calcular o limite de uma função usando Python e a biblioteca Sympy - Python para EngenhariaQuantidade de visualizações: 4179 vezes |
Como calcular o limite de uma função usando Python e a biblioteca Sympy Citando a Wikipédia: Na matemática, o limite de uma função é um conceito fundamental em cálculo e análise sobre o comportamento desta função quando próxima a um valor particular de sua variável independente. Informalmente, diz-se que __$\text{L}__$ é o limite da função __$\text{f(x)}__$ quando __$\text{x}__$ tende a __$\text{p}__$, escreve-se \[ \lim_{x \to p} f(x) = L \] quando __$\text{f(x)}__$ está arbitrariamente próximo de __$\text{L}__$ para todo __$\text{x}__$ suficientemente próximo de __$\text{p}__$. O conceito de limite pode ser estendido para funções de varias variáveis. A biblioteca SymPy da linguagem Python facilita muito o trabalho de se calcular limites. É claro que é sempre uma boa idéia saber calcular o limite de uma função "na mão" mesmo, até para sabermos se nosso código Python está correto. No entanto, em algumas situações, lançar mão da função limit() da SymPy nos poupará um tempo incrível. Dessa forma, a sintáxe para o cálculo do limite na SymPy segue o padrão limit(função, variável, ponto). Então, se quisermos calcular o limite de f(x) com x tendendo a 0, só precisamos fazer limit(f, x, 0). Vamos colocar esse conhecimento em prática então? Veja o seguinte limite: \[ \lim_{x \to 1} 5x^2 + 2x \] Agora observe o código Python completo que calcula e retorna o limite desta função: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # vamos importar a biblioteca SymPy from sympy import * def main(): # vamos definir o símbolo x x = symbols("x") # definimos a função f = (5 * x ** 2) + (2 * x) # finalmente calculamos o limite limite = limit(f, x, 1) # e mostramos o resultado print("O limite da função é: %f." % limite) if __name__== "__main__": main() Ao executar este código nós teremos o seguinte resultado: O limite da função é: 7.000000. Logo, o limite da função no ponto __$\text{x}__$ = 1 vale 7, em outras palavras, 7 é o valor que __$f(5x^2 + 2x)__$ deveria ter em 1 para ser contínua nesse ponto. Vamos ver mais um exemplo? Observe o seguinte limite: \[ \lim_{x \to 1} \left(\frac{x^2 - 1}{x - 1}\right) \] Aqui temos um situação interessante. Note que temos que fazer uma manipulação algébrica na expressão, fatorando os termos. Porém, mesmo em situações assim o método limit() da Sympy consegue interpretar a expressão simbólica corretamente e nos devolver o limite esperado. Veja o código Python completo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # vamos importar a biblioteca SymPy from sympy import * def main(): # vamos definir o símbolo x x = symbols("x") # definimos a função f = (x ** 2 - 1) / (x - 1) # finalmente calculamos o limite limite = limit(f, x, 1) # e mostramos o resultado print("O limite da função é: %f." % limite) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: O limite da função é: 2.000000. |
Python ::: Dicas & Truques ::: Lista (List) |
Curso de Python - Como ordenar uma lista de strings baseado no tamanho de cada umaQuantidade de visualizações: 7995 vezes |
Este exemplo mostra como ordenar os elementos de uma List de strings baseado no tamanho da palavra, frase ou texto. Note como o valor "key = len" como argumento para o método sort() da classe List. Veja o código completo para a dica: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- def main(): # cria uma lista de nomes nomes = ['Carlos', 'Igor', 'Osmar', 'Fernanda'] # exibe a lista na ordem original print(nomes) # ordena a lista nomes.sort(key = len) # exibe a lista ordenada print(nomes) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: ['Carlos', 'Igor', 'Osmar', 'Fernanda'] ['Igor', 'Osmar', 'Carlos', 'Fernanda'] |
Vamos testar seus conhecimentos em Hidrologia |
O Brasil apresenta um grande volume de usinas hidrelétricas instaladas na sua rede hidrográfica. Marque a alternativa que faça uma associação correta entre o nome da usina hidrelétrica e a sua localização. A) Usina de Furnas -> Bacia Platina. B) Usina de Belo Monte -> Bacia Amazônica. C) Usina de Três Marias -> Bacia do Uruguai. D) Usina de Sobradinho -> Bacia do Tocantins. E) Usina de Itaipu -> Bacia do São Francisco. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil |
Fases de uma obra A camada de argamassa executada sobre uma base, que pode ser a parte de baixo de uma laje de piso pré-fabricada ou uma parede, é denominada: A) Acabamento. B) Contrapiso. C) Fundação. D) Pavimento. E) Concreto. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil |
Formas: Confecção e colocação Em relação aos materiais utilizados para formas, assinale a alternativa correta. A) A fibra de vidro é muito utilizada para pilares e vigas. B) Formas em poliestireno expandido são altamente reaproveitadas. C) Vidro é muito utilizado para concreto aparente. D) Tubos de papelão são muito usados em pilares de seção circular e em estruturas com caixão perdido. E) As tábuas são os materiais que proporcionam o maior reaproveitamento. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Domínios de Deformações O dimensionamento de uma seção transversal de um elemento linear concreto armado, sujeito a solicitações normais, de acordo com a NBR 6118 - "Projeto de estruturas de concreto" - é realizado com base em hipóteses básicas. A respeito dessas hipóteses, analise as informações a seguir, indicando V para as verdadeiras e F para as falsas: ( ) A distribuição das deformações ocorre de forma não linear ao longo da altura da seção. ( ) As deformações nas barras de armadura são idênticas às deformações do concreto que as envolve. ( ) Admite-se que todas as tensões de tração existentes serão resistidas pelo concreto e pela armadura. ( ) Adota-se o diagrama parábola-retângulo idealizado para o concreto comprimido. Assinale a alternativa que contém a sequência correta: A) V - V - F - F. B) V - F - F - F. C) F - V - F - V. D) F - V - V - V. E) V - F - F - V. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Cisalhamento e detalhamento de vigas Conforme a NBR 6118 (ABNT, 2014), a armadura transversal mínima deve ser colocada nas vigas de modo a garantir a estabilidade das estruturas, mesmo na eventualidade de serem aplicados carregamentos não previstos no cálculo, evitando a ruptura abrupta logo após o surgimento das primeiras fissuras inclinadas. Nesse contexto, qual a armadura transversal mínima necessária por metro de viga, tendo em vista que ela tem seção de 30 x 80cm e altura útil de 77cm? Adote concreto C35 e aço CA-50. A) 2,43cm2/m. B) 2,84cm2/m. C) 3,12cm2/m. D) 3,54cm2/m. E) 3,85cm2/m. Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
C - Como comparar os primeiros n caracteres de duas strings usando a função strncmp() da linguagem C |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |