Arquivo de etiquetas: python

Python: História e Ascendência

Este artigo aborda a história e ascendência da linguagem de programação Python, destacando a sua ascendência diante da comunidade de desenvolvedores, uma vez que a mesma encontra-se em constante adesão sendo implantada e implementada em diversos sistemas, hardwares e aplicações com uma proposta simplificada e que colabora significativamente com os recursos tecnológicos disponíveis na atualidade.

Continuar a ler

ESP32 – MicroPython

Para aqueles que andam no mundo da Internet das Coisas o micro controlador ESP8266 já deve ser um conhecido, para quem nunca ouviu falar aconselho a experimentar, pois desenvolver dispositivos que tenham que ser ligados a uma rede Wi-Fi nunca foi tão simples.

Então se o ESP8266 é assim tão bom porque é que eu estou aqui a falar do ESP32… bem este super micro controlador… sim super porque conta 2 cores de 240MHz dentro de um microprocessador Tensilica Xtensa de 32 bit Ultra Low Power, 448KiB de ROM para funções internas e de arranque, 520KiB de SRAM para colocarmos o nosso código e por fim a cereja no topo do bolo é o facto ser constituído por 2 módulos de conectividade um Bluetooth Low Energy e Wi-Fi 802.11/b/g/n/e/i, comparando com o ESP8266 tem o módulo BLE a mais, tem muito mais memória e muito mais processamento, e não esquecendo que os 2 cores permitem agora executar código em paralelo, coisa que raramente acontece nos micro-controladores comuns de baixo custo, sim este ESP32 custa por volta de 6 euros e pode ser adquirido em http://aliexpress.com.

Na imagem abaixo podemos visualizar a arquitectura do ESP32.

Tipos em Python

Python sempre foi uma linguagem fortemente tipada, para surpresa de muitos que confundem a tipagem dinâmica com a ausência de tipos. Na realidade, os tipos em Python funcionam tão bem e de forma tão automática que muitas vezes esquecemos que eles existem.

Mas nem tudo é perfeito. Hoje existem programas gigantescos escritos em Python e os programadores precisam de ferramentas poderosas para entender e navegar neste código. Aí tínhamos um problema, pois ferramentas de edição mais avançadas com recursos de autocomplete (intellisense), refactoring e simplesmente de navegação no código fonte se tornaram extremamente complexas. Dadas as propriedades dinâmicas da linguagem, escrever este tipo de ferramentas para o programador Python se tornou uma tarefa complicada. Cada ferramenta era responsável por inferir o tipo de cada método ou função sendo chamada e esta não é uma tarefa simples, uma vez que temos poucas indicações de tipo no programa em si.

Continuar a ler

Um bot para Telegram com o jogo da velha (Jogo do Galo)

Num mundo com tantas aplicações de chat instantâneo, o Telegram destaca-se pela rica API que disponibiliza para criação de bots. Os bots são pequenos programas que podem interagir com os utilizadores e prestar serviços, como executar comandos, gerir arquivos ou imagens e até mesmo propor jogos!

Há já algum tempo que a comunidade Python explora bibliotecas como a Telebot e mais recentemente, a Telepot. Embora a diferença no nome das duas seja apenas uma letra, o desenho da Telepot parece-me mais robusto e o melhor de tudo: integra chamadas assíncronas!

O objetivo deste tutorial é mostrar como criar um bot assíncrono, usando a Telepot em Python 3.6. Ele é divido em quatro partes: por que assíncrono? obtenção da chave para rodar o bot, criação do bot, o jogo da velha em si (com minimax).

Continuar a ler

Introdução à programação com Python, Algoritmos e lógica de programação para iniciantes

Para a review desta edição, foi-me oferecido pelo autor, o livro Introdução à Programação com Python: Algoritmos e lógica de programação para iniciantes, 2ª edição.

Dividido em 12 capítulos, o livro apresenta uma estrutura bem organizada e de leitura suave, até para os maus adversos leitores de livros técnicos. Começa por apresentar a motivação para a aprendizagem, capaz de cativar tanto iniciantes como estudantes que recorram ao livro para consolidar conhecimentos.

Continuar a ler

Funções de distribuição de probabilidade e o Python

Este artigo aborda a construção de um programa escrito em Python capaz de calcular funções de distribuição de probabilidade (PDF) a partir de arquivos *.txt ou *.csv contendo uma ou duas colunas de dados. Essas informações estatísticas são importantes para compreensão de diversos problemas complexos que usualmente são representados, de forma equivocada, via uma abordagem Gaussiana simples. Assim, esperamos que a ferramenta aqui apresentada seja tão útil para toda a comunidade, como é para o nosso grupo.

Continuar a ler

Plotagem de dados “em tempo real” com Python usando matPlotLib

Introdução

Uma das tarefas mais comuns quando se trabalha com aquisição de dados, é a representação dos mesmos em gráficos, de forma a serem mais facilmente interpretáveis pelo utilizador. Na verdade seja para um uso de hobbie, seja para uma utilização mais científica ou profissional, na maior parte dos casos, acabamos quase sempre por preferir a leitura gráfica dos dados, o que nos permite rapidamente uma noção mais ampla do contexto visível.

Como é do conhecimento do leitor, hoje em dia existe uma grande quantidade de dispositivos que transmitem dados via USB, usando conversão USB – Série, para a transmissão dos dados adquiridos, referentes a um ou mais parâmetros num contexto ou ambiente. No entanto o que a maioria dos dispositivos tem em comum, é a forma como transmite os dados para o computador, normalmente usando um cabo USB ou série e transmitindo os dados em formato de texto simples. Ao longo deste artigo irá ser apresentado o código para receber dados de um conjunto de quatro sensores independentes, ligados a um mesmo dispositivo que os transmite via RS232 e posterior apresentação em modo gráfico, usando a linguagem Python e a biblioteca matplotlib, para nos desenhar o gráfico em tempo “quase real”. (Para os mais distraídos a transmissão via RS-232 é um padrão de protocolo para troca serial de dados binários entre um DTE – Data Terminal Equipment e um DCE – Data Communication Equipment. Normalmente usado nas portas série dos computadores.)

Continuar a ler

Programação em Python – Fundamentos e resolução de Problemas

O livro Programação em Python: Fundamentos e Resolução de Problemas, é de extrema utilidade para todos aqueles que desejem aprender não apenas a programar mas também os diversos paradigmas de programação, não necessitando de grandes conhecimentos prévios. O livro encontra-se estruturado de uma forma bastante organizada, simples e direccionada. Apreciei o facto de que o leitor é convidado a aprender primeiramente os conceitos teóricos necessários à compreensão das matérias apresentadas, acompanhando exercícios que proporcionam uma consolidação do conhecimento, agradável, ainda que pouco observável em obras técnicas como o livro em questão.

Continuar a ler

Python – Algoritmia e Programação Web

Para a review desta edição, chegou-me às mãos o livro Python – Algoritmia e Programação Web de José Braga Vasconcelos.

Doutorado em Ciências da Computação pela Universidade de York (UK), José Vasconcelos, leva-nos, através deste livro, a novos conhecimentos.

Sendo o Python uma linguagem de programação que cada vez mais se afirma quer no mundo académico, quer no mundo empresarial, este livro pode ser uma boa aposta a todos os que querem iniciar-se nesta linguagem ou aprofundar conhecimentos.

Destinado a profissionais e a alunos das áreas das tecnologias de informação, pode também ser lido por todo o público em geral que se interesse pelo assunto.

Continuar a ler

Funções Anónimas

Neste artigo vamos falar de funções anónimas, da sua história,  a sua usabilidade e ainda mostrar dois exemplos de implementação. Um será em Python, enquanto o segundo será em JavaScript, ou seja, mais orientado para o contexto web. Mas antes de falarmos em funções anónimas vamos primeiro refletir sobre o que é uma função, que é algo, ligeiramente, complicado de explicar a um leigo em programação.

Já pensaram no que responderiam se lhes perguntassem o que é uma função? A mais simples resposta era fazer uma analogia com a Matemática: algo que aceita valores de entrada, transforma-os de alguma maneira e retorna algo no fim. Continuando com a analogia, em Matemática, costumamos dar nome às funções, assim como damos enquanto estamos a programar, mais corretamente designado por identificador. Agora imagine que tem uma função, mas que esse identificador não existia. Esta seria uma função que não tinha de estar ligada a qualquer identificador. Aqui temos o princípio básico das funções anónimas.

Continuar a ler