O documento discute as diferenças entre Python, CPython, Pythonico e Cython. Pythonico refere-se a seguir as melhores práticas de codificação Python como definido na PEP 8. CPython é a implementação original da linguagem Python. Cython é uma ferramenta que converte código Python em C para melhorar o desempenho.
O documento discute os termos Python, CPython e Cython, explicando que Pythonico se refere a seguir as melhores práticas de estilo de codificação em Python. Também descreve como o Cython pode ser usado para acelerar códigos Python ao converter para C/C++ mantendo a sintaxe e semântica de Python.
O documento descreve a história e características da linguagem de programação Python, desde sua criação por Guido van Rossum até versões atuais. Python tem tipagem dinâmica, sintaxe simples e é interpretada, possibilitando programação em diversas plataformas. Existem várias ferramentas para desenvolvimento com Python.
Este documento fornece um resumo de 3 frases ou menos sobre o documento:
O documento discute a história e uso da linguagem de programação Python, desde sua criação até versões atuais. A linguagem é de código aberto e licenciada pela Python Software Foundation. O documento também fornece instruções sobre como instalar e usar o interpretador Python em diferentes sistemas operacionais, incluindo Windows.
Seminário - Guido van Rossum: Breve história da linguagem PythonGiancarlo Silva
Python foi desenvolvida por Guido van Rossum no CWI nos anos 1980 e lançada publicamente em 1991. É uma linguagem de alto nível, legível e de propósitos gerais usada em diversas áreas como desenvolvimento web, ciência, games e empresas. Sua filosofia enfatiza código limpo e conciso.
Automação de Aplicativos: Scripting com PythonFabio Spanhol
O documento discute linguagens de script e o uso de Python para automatizar aplicativos. Python pode ser usado para controlar o aplicativo de edição de imagem GIMP, através de plug-ins registrados na base de dados procedural do GIMP. Os plug-ins em Python podem acessar as ferramentas e funcionalidades do GIMP para automatizar tarefas.
O documento compara as linguagens de programação Python e Java, discutindo suas características, exemplos de código, ferramentas de desenvolvimento, tipos, processos de desenvolvimento e vantagens/desvantagens de cada uma. Apresenta também o Jython, que permite integrar Python e Java, e recomenda uma leitura sobre as restrições da plataforma Java.
Programação em Python possui diversas vantagens como sintaxe clara, suporte a bibliotecas, tipagem forte e dinâmica. Pode ser usado em vários domínios como web, desktop, ciência e banco de dados. Oferece recursos como orientação a objetos, listas, geradores, lambda functions e desenvolvimento para Linux, Windows e Mac.
O documento discute os termos Python, CPython e Cython, explicando que Pythonico se refere a seguir as melhores práticas de estilo de codificação em Python. Também descreve como o Cython pode ser usado para acelerar códigos Python ao converter para C/C++ mantendo a sintaxe e semântica de Python.
O documento descreve a história e características da linguagem de programação Python, desde sua criação por Guido van Rossum até versões atuais. Python tem tipagem dinâmica, sintaxe simples e é interpretada, possibilitando programação em diversas plataformas. Existem várias ferramentas para desenvolvimento com Python.
Este documento fornece um resumo de 3 frases ou menos sobre o documento:
O documento discute a história e uso da linguagem de programação Python, desde sua criação até versões atuais. A linguagem é de código aberto e licenciada pela Python Software Foundation. O documento também fornece instruções sobre como instalar e usar o interpretador Python em diferentes sistemas operacionais, incluindo Windows.
Seminário - Guido van Rossum: Breve história da linguagem PythonGiancarlo Silva
Python foi desenvolvida por Guido van Rossum no CWI nos anos 1980 e lançada publicamente em 1991. É uma linguagem de alto nível, legível e de propósitos gerais usada em diversas áreas como desenvolvimento web, ciência, games e empresas. Sua filosofia enfatiza código limpo e conciso.
Automação de Aplicativos: Scripting com PythonFabio Spanhol
O documento discute linguagens de script e o uso de Python para automatizar aplicativos. Python pode ser usado para controlar o aplicativo de edição de imagem GIMP, através de plug-ins registrados na base de dados procedural do GIMP. Os plug-ins em Python podem acessar as ferramentas e funcionalidades do GIMP para automatizar tarefas.
O documento compara as linguagens de programação Python e Java, discutindo suas características, exemplos de código, ferramentas de desenvolvimento, tipos, processos de desenvolvimento e vantagens/desvantagens de cada uma. Apresenta também o Jython, que permite integrar Python e Java, e recomenda uma leitura sobre as restrições da plataforma Java.
Programação em Python possui diversas vantagens como sintaxe clara, suporte a bibliotecas, tipagem forte e dinâmica. Pode ser usado em vários domínios como web, desktop, ciência e banco de dados. Oferece recursos como orientação a objetos, listas, geradores, lambda functions e desenvolvimento para Linux, Windows e Mac.
Este documento apresenta uma introdução à programação em Python e ao toolkit Tk. Ele discute os objetivos do curso, as características da linguagem Python, a importância da teoria e da prática, e como usar o interpretador Python de forma interativa.
O documento discute otimização de código Python, explicando que a otimização prematura pode gerar código confuso e que ferramentas de perfilagem podem identificar gargalos de desempenho. Também recomenda o uso de estruturas de dados simples e módulos em C para melhorar a velocidade.
Palestra realizada no dia 10/02/2011 no X Encontro do Grupo de Usuários de Python na Livraria Cultura (Recife -Pernambuco). Palestra com o título: "Conhecendo Python e por que ela importa ? "
Lecture presented at February 09th at X Meeting of Pernambuco Python User Group at Livraria Cultura (Recife - Pernambuco - Brazil) with the title: ' Meeting Python and why does it care ? "
A linguagem Python está passando por reformas e isso irá causar quebra de compatibilidade com a linguagem atual. Essa apresentação demonstra algumas práticas que os desenvolvedores podem adotar atualmente para tornar a migração mais tranquila.
O documento apresenta um guia introdutório sobre como usar a linguagem Python para desenvolver projetos de conclusão de curso ou trabalhos para clientes. Ele descreve as reações iniciais de confusão ao receber um novo projeto e como o Python pode ajudar por ser fácil de aprender. Em seguida, explica bibliotecas úteis como Tkinter para GUI, SQLite para bancos de dados, gzip para compactação e outras. Por fim, incentiva o leitor a programar usando apenas os recursos do "canivete suíço" Python.
1) O documento apresenta um tutorial sobre aprender a programar usando a linguagem Python, explicando porque Python é uma boa opção para iniciantes e como abrir e usar o interpretador de Python.
2) É demonstrado como usar o interpretador Python de forma interativa para realizar cálculos matemáticos básicos e como lidar com números inteiros e de ponto flutuante.
3) O leitor é aconselhado a não ignorar mensagens de erro e aprender com elas.
O documento fornece uma introdução sobre Python, incluindo sua história, características e como instalá-lo. Resume os principais pontos sobre o que é Python, como uma linguagem de programação interpretada e orientada a objetos, e como preparar o computador para uso do Python fazendo o download e testando a instalação.
Este documento fornece uma introdução à programação usando a linguagem Python. Explica porque aprender a programar pode ser divertido e uma habilidade útil no mercado de trabalho. Também discute os requisitos mínimos para executar programas Python e as razões para escolher Python como a linguagem usada no tutorial.
Introdução à linguagem de programação PythonCarlos Schults
O documento apresenta uma introdução à linguagem de programação Python. Ele discute a história e características da linguagem, incluindo sintaxe, variáveis, entrada de dados, decisões, listas, repetição, matemática e strings. O documento também fornece links úteis para recursos adicionais sobre Python.
Este slide apresenta informações sobre Python, incluindo sua história, características, usos, módulos populares e comunidade. Guido van Rossum criou Python em 1989 e é amplamente usada por empresas como Google, NASA e Yahoo. Sua sintaxe simples e poderosas bibliotecas a tornam uma linguagem popular para desenvolvimento web, ciência e jogos.
O documento apresenta uma palestra sobre Python. Ele introduz o palestrante e discute o que é Python, quem o usa e suas principais características como tipos de dados poderosos e software livre. Em seguida, exemplifica vários recursos básicos de Python como strings, números e sets e coleções como Counter e Namedtuple. Por fim, lista outros tópicos interessantes para futuras discussões.
O documento discute os princípios da programação estruturada, incluindo sequência, seleção e iteração. A sequência implementa os passos de processamento de um programa. A seleção especifica fluxos condicionais através de if/else ou switch. A iteração permite executar repetidamente partes de um programa usando laços como do-while ou for.
Este documento fornece uma introdução a linguagem de programação Python. Resume as seguintes informações essenciais:
1) Python é uma linguagem de script dinâmica e interpretada criada por Guido van Rossum em 1990.
2) Python tem uma sintaxe limpa e legível com poucas palavras-chave e tipos de dados de alto nível. Isso torna a linguagem fácil de aprender e código rápido de escrever.
3) Python suporta diversos paradigmas de programação como orientação a objetos, imperativo e func
1. O documento discute a linguagem de programação Python, apresentando suas principais características como data de criação, sintaxe, tipagem, multiplataforma e ambiente interativo.
2. É apresentado um exemplo de código Python que ilustra o uso de classes, herança e composição de objetos.
3. São discutidos diversos editores de código e IDEs disponíveis para o desenvolvimento em Python, tanto opções gratuitas como proprietárias.
O documento apresenta um curso introdutório sobre a linguagem de programação Python, abordando tópicos como:
1) O que é Python, incluindo sua tipagem dinâmica e delimitação por indentação;
2) Por que aprender Python, destacando sua simplicidade, expressividade e suporte a múltiplas plataformas;
3) Conceitos básicos da linguagem como tipos numéricos e de dados, listas e métodos.
O documento introduz o conceito de Python como uma linguagem de programação interpretada e dinamicamente tipada. Apresenta alguns tópicos básicos como estruturas de dados como listas e dicionários, além de operadores e funções.
Marido, pai de um adolescente e 9 gatos e 9 cães. Bacharel em Informática e Mestre em Ciência da Computação, atualmente doutorando e professor na UTFPR-TD, apaixonado por programação e cinema.
Este documento apresenta uma palestra sobre a linguagem de programação Python. As principais ideias apresentadas são:
1) Python é uma linguagem de uso geral amplamente utilizada em diversas áreas como internet, computação gráfica, desktop, operações de empresas e computação científica.
2) Existem diversas implementações de Python como CPython, Jython, IronPython e PyPy. CPython é a implementação principal escrita em C.
3) Python tem evoluído gradualmente ao longo dos anos com novas versões lançadas a cada alguns anos que trazem melhor
Este documento apresenta uma introdução à programação em Python e ao toolkit Tk. Ele discute os objetivos do curso, as características da linguagem Python, a importância da teoria e da prática, e como usar o interpretador Python de forma interativa.
O documento discute otimização de código Python, explicando que a otimização prematura pode gerar código confuso e que ferramentas de perfilagem podem identificar gargalos de desempenho. Também recomenda o uso de estruturas de dados simples e módulos em C para melhorar a velocidade.
Palestra realizada no dia 10/02/2011 no X Encontro do Grupo de Usuários de Python na Livraria Cultura (Recife -Pernambuco). Palestra com o título: "Conhecendo Python e por que ela importa ? "
Lecture presented at February 09th at X Meeting of Pernambuco Python User Group at Livraria Cultura (Recife - Pernambuco - Brazil) with the title: ' Meeting Python and why does it care ? "
A linguagem Python está passando por reformas e isso irá causar quebra de compatibilidade com a linguagem atual. Essa apresentação demonstra algumas práticas que os desenvolvedores podem adotar atualmente para tornar a migração mais tranquila.
O documento apresenta um guia introdutório sobre como usar a linguagem Python para desenvolver projetos de conclusão de curso ou trabalhos para clientes. Ele descreve as reações iniciais de confusão ao receber um novo projeto e como o Python pode ajudar por ser fácil de aprender. Em seguida, explica bibliotecas úteis como Tkinter para GUI, SQLite para bancos de dados, gzip para compactação e outras. Por fim, incentiva o leitor a programar usando apenas os recursos do "canivete suíço" Python.
1) O documento apresenta um tutorial sobre aprender a programar usando a linguagem Python, explicando porque Python é uma boa opção para iniciantes e como abrir e usar o interpretador de Python.
2) É demonstrado como usar o interpretador Python de forma interativa para realizar cálculos matemáticos básicos e como lidar com números inteiros e de ponto flutuante.
3) O leitor é aconselhado a não ignorar mensagens de erro e aprender com elas.
O documento fornece uma introdução sobre Python, incluindo sua história, características e como instalá-lo. Resume os principais pontos sobre o que é Python, como uma linguagem de programação interpretada e orientada a objetos, e como preparar o computador para uso do Python fazendo o download e testando a instalação.
Este documento fornece uma introdução à programação usando a linguagem Python. Explica porque aprender a programar pode ser divertido e uma habilidade útil no mercado de trabalho. Também discute os requisitos mínimos para executar programas Python e as razões para escolher Python como a linguagem usada no tutorial.
Introdução à linguagem de programação PythonCarlos Schults
O documento apresenta uma introdução à linguagem de programação Python. Ele discute a história e características da linguagem, incluindo sintaxe, variáveis, entrada de dados, decisões, listas, repetição, matemática e strings. O documento também fornece links úteis para recursos adicionais sobre Python.
Este slide apresenta informações sobre Python, incluindo sua história, características, usos, módulos populares e comunidade. Guido van Rossum criou Python em 1989 e é amplamente usada por empresas como Google, NASA e Yahoo. Sua sintaxe simples e poderosas bibliotecas a tornam uma linguagem popular para desenvolvimento web, ciência e jogos.
O documento apresenta uma palestra sobre Python. Ele introduz o palestrante e discute o que é Python, quem o usa e suas principais características como tipos de dados poderosos e software livre. Em seguida, exemplifica vários recursos básicos de Python como strings, números e sets e coleções como Counter e Namedtuple. Por fim, lista outros tópicos interessantes para futuras discussões.
O documento discute os princípios da programação estruturada, incluindo sequência, seleção e iteração. A sequência implementa os passos de processamento de um programa. A seleção especifica fluxos condicionais através de if/else ou switch. A iteração permite executar repetidamente partes de um programa usando laços como do-while ou for.
Este documento fornece uma introdução a linguagem de programação Python. Resume as seguintes informações essenciais:
1) Python é uma linguagem de script dinâmica e interpretada criada por Guido van Rossum em 1990.
2) Python tem uma sintaxe limpa e legível com poucas palavras-chave e tipos de dados de alto nível. Isso torna a linguagem fácil de aprender e código rápido de escrever.
3) Python suporta diversos paradigmas de programação como orientação a objetos, imperativo e func
1. O documento discute a linguagem de programação Python, apresentando suas principais características como data de criação, sintaxe, tipagem, multiplataforma e ambiente interativo.
2. É apresentado um exemplo de código Python que ilustra o uso de classes, herança e composição de objetos.
3. São discutidos diversos editores de código e IDEs disponíveis para o desenvolvimento em Python, tanto opções gratuitas como proprietárias.
O documento apresenta um curso introdutório sobre a linguagem de programação Python, abordando tópicos como:
1) O que é Python, incluindo sua tipagem dinâmica e delimitação por indentação;
2) Por que aprender Python, destacando sua simplicidade, expressividade e suporte a múltiplas plataformas;
3) Conceitos básicos da linguagem como tipos numéricos e de dados, listas e métodos.
O documento introduz o conceito de Python como uma linguagem de programação interpretada e dinamicamente tipada. Apresenta alguns tópicos básicos como estruturas de dados como listas e dicionários, além de operadores e funções.
Marido, pai de um adolescente e 9 gatos e 9 cães. Bacharel em Informática e Mestre em Ciência da Computação, atualmente doutorando e professor na UTFPR-TD, apaixonado por programação e cinema.
Este documento apresenta uma palestra sobre a linguagem de programação Python. As principais ideias apresentadas são:
1) Python é uma linguagem de uso geral amplamente utilizada em diversas áreas como internet, computação gráfica, desktop, operações de empresas e computação científica.
2) Existem diversas implementações de Python como CPython, Jython, IronPython e PyPy. CPython é a implementação principal escrita em C.
3) Python tem evoluído gradualmente ao longo dos anos com novas versões lançadas a cada alguns anos que trazem melhor
O documento apresenta um tutorial sobre programação usando a linguagem Python. Explica que Python é uma boa opção para iniciantes por ter sintaxe simples mas suportar recursos avançados. Também mostra como executar o interpretador Python e realizar cálculos básicos, além de converter valores usando variáveis.
Marido, pai, apaixonado por programação e cinema. Bacharel em Informática e Mestre em Ciência da Computação leciona na UTFPR-TD e está cursando doutorado na UFPR.
Este documento fornece uma introdução à programação usando a linguagem Python. Explica porque aprender a programar pode ser divertido e ter demanda no mercado de trabalho. Também discute os requisitos necessários e a escolha da linguagem Python para os exemplos, por ser simples mas poderosa. Fornece exemplos básicos de operações matemáticas e conversão de moedas usando o interpretador interativo.
1. O documento apresenta uma aula introdutória sobre programação em Python.
2. A aula inclui tópicos como "Hello World", variáveis, condicionais, laços, funções, classes e módulos.
3. O documento serve como um manual de referência rápida sobre os principais conceitos e recursos da linguagem Python.
O documento introduz os principais conceitos da linguagem de programação Python, incluindo o que é Python, quem usa, o interpretador interativo, regras de sintaxe, tipos de dados, funções, orientação a objetos, código fonte e bibliotecas inclusas.
A linguagem Python é uma linguagem de programação de alto nível, interpretada e de tipagem dinâmica, projetada para priorizar a legibilidade do código. O documento discute a representação numérica em computadores digitais e os problemas de precisão que podem surgir, além de apresentar conceitos básicos de estruturas de programação como sequenciais, de seleção, repetição, funções, variáveis compostas unidimensionais e bidimensionais em Python."
Cherrypy - um framework para desenvolvimento rápido de aplicações webAlvaro Oliveira
O documento fornece uma introdução ao framework CherryPy para desenvolvimento web em Python. Ele discute brevemente a história de Python e CherryPy, características e vantagens de Python, empresas que usam Python, e como usar CherryPy para desenvolvimento web rápido.
1) O documento discute a linguagem de programação Python, seu histórico, características e aplicações.
2) Grandes empresas como Google, YouTube e NASA utilizam Python em seus projetos devido à sua legibilidade, manutenibilidade e integração com outras linguagens.
3) No Brasil, órgãos governamentais como o Serpro também usam Python em portais e sistemas, proporcionando economia e produtividade.
Este documento fornece informações sobre uma licença Creative Commons que permite o uso não comercial e compartilhamento da obra desde que mantenha a mesma licença. Também apresenta detalhes sobre o livro "Python para desenvolvedores" de Luiz Eduardo Borges.
Programando para web com python - Introdução a PythonAlvaro Oliveira
O documento apresenta uma palestra sobre a linguagem de programação Python. Resume os principais pontos da seguinte forma:
1) Apresenta breve histórico da linguagem Python, criada em 1990 por Guido van Rossum com foco em usuários como físicos e engenheiros.
2) Discutem as principais características da linguagem como interpretação, tipagem dinâmica, controle de fluxo por indentação, orientação a objetos e biblioteca padrão rica.
3) Explicam porque Python é uma boa opção para
O documento apresenta uma introdução à programação usando a linguagem Python. Explica porque aprender a programar pode ser divertido e uma habilidade útil no mercado de trabalho. Também descreve os passos iniciais para usar o interpretador Python, como executar comandos, ler mensagens de erro e realizar cálculos básicos.
Desenvolvimento de aplicações embarcadas utilizando PythonFlávio Ribeiro
Flávio Ribeiro apresenta sobre sistemas embarcados e desenvolvimento de software para esses sistemas usando Python. Ele discute conceitos de sistemas embarcados, por que usar Python, e dicas para desenvolvimento eficiente como desacoplamento, uso de threads e otimização.
Python é uma linguagem de programação interpretada, de tipagem dinâmica e com gerenciamento automático de memória. É considerada elegante e fácil de aprender, sendo usada em diversos campos como web, ciência de dados e desenvolvimento de jogos.
Este é um mini-curso básico de Python. Já foi aplicado na Semana de tecnologia de Universidade Católica e no encontro de tecnologia de Especializa (ZCon).
Semelhante a Python, CPython, Pythonico, Cython (20)
O documento discute assincronicidade e concorrência em Python e Golang, comparando abordagens síncronas e assíncronas. Ele explica como a biblioteca asyncio do Python permite programação assíncrona e como frameworks como aiohttp podem ser usados para desenvolver aplicações web assíncronas de alto desempenho em Python.
Este documento fornece uma introdução comparativa entre Python e Golang, discutindo suas capacidades de concorrência, aplicações típicas, instalação e criação de programas simples em ambas as linguagens. O autor conclui que Python e Golang são ferramentas úteis para problemas distintos, com Python focado em produtividade e Golang em concorrência.
O documento resume os resultados de 2 dias de teste do sistema operacional Ubuntu IoT com Raspberry Pi 3 B+, incluindo a configuração de rede Wi-Fi, atualização de pacotes, instalação de drivers, bibliotecas e ambientes gráficos. O autor também descreve a instalação e teste de sensores DHT22, LDR e módulo RTC DS3231.
O documento discute como usar Group by e Order by desc com Python Pandas para analisar um arquivo de texto com senhas e descobrir a senha mais comum e a quantidade de senhas únicas. Ele fornece um código de 3 linhas que lê o arquivo, agrupa as senhas por ocorrência e ordena do mais frequente para menos, e mostra que as senhas "love" apareceu 40 vezes e "teamo" 21 vezes.
Impressões após 5 dias utilizando o Raspberry Pi 3 B+ como um computador resi...Marcos Aurelio Barranco
O documento resume as impressões de utilizar um Raspberry Pi 3 B+ como computador residencial por 5 dias. O autor instalou o sistema operacional Linux Raspbian e utilizou o Raspberry Pi para navegar na internet, programar com Python e Arduino, e concluiu que o dispositivo oferece uma opção computacional econômica e funcional.
O documento fornece 10 dicas para aqueles que desejam começar a correr, recomendando consultar um médico antes de iniciar, usar tênis e boné adequados, escolher um local seguro para correr, iniciar caminhando e gradualmente aumentar a distância, frequência e velocidade com o tempo, além de adotar uma alimentação saudável.
Para instalar o programa do IRPF no Linux, acesse o site da Receita Federal, baixe o arquivo JAR, altere as permissões para executável e execute o programa usando o comando java -jar.
O documento discute como sair da "caixa" e inovar, desafiando paradigmas e perspectivas limitadas. A caixa representa os critérios e problemas considerados solucionáveis dentro de um determinado campo. Planejamentos de longo prazo ilusoriamente presumem controle sobre o futuro e ignoram possíveis "cisnes negros", ou eventos improváveis de grande impacto. É necessário abandonar visões rígidas e experimentar novas abordagens para criar e antecipar surpresas.
O documento discute o coaching como método de desenvolvimento de pessoas, destacando que o foco está em ajudar o indivíduo a encontrar o sentido da vida e traçar objetivos para o futuro. O coaching consiste em quatro etapas: estabelecer uma relação sólida entre coach e orientado, montar o futuro do orientado, revisar valores e comportamentos, e traçar um plano de ação. A mudança é um elemento central do coaching.
1. O documento discute a importância da criatividade e inovação para o desenvolvimento de produtos e serviços diferenciados em um mercado globalizado e competitivo. 2. Apresenta seis pontos para começar a criar e inovar, como estudar obstinadamente, manter a mente aberta, adotar processos criativos, estabelecer um ambiente propício e escutar clientes. 3. Também discute exemplos de ambientes culturais que estimulam a inovação, como as práticas do Google e de empresas israelenses.
Compile and install MongoDB v. 3.2.12 on Raspbian 32 bits with Raspberry PI 3 B+Marcos Aurelio Barranco
1) O documento descreve como instalar o MongoDB v. 3.2.12 no Raspbian 32 bits com Raspberry PI 3 B+ através de um processo alternativo, já que não há versão nativa do MongoDB acima da v2 para o Raspbian 32 bits.
2) Os passos incluem seguir instruções de um link para compilar o MongoDB a partir do código fonte e configurar diretórios e permissões necessárias.
3) Após iniciar o serviço mongod, é possível acessar o banco de dados MongoDB v3.2.12 rodando no Raspb
Compile and install MongoDB v. 3.2.12 on Raspbian 32 bits with Raspberry PI 3 B+
Python, CPython, Pythonico, Cython
1. Python, CPython, Pythonico, Cython?
Pythonico é estar obstinado na construção aprimorada de
sistemas informáticos tendo como base uma guia de estilos. Essa
guia de estilo chama-se PEP-81
. Pythonico é um termo derivado
de Python2, ou seja, a descrição de uma linguagem de
programação de auto nível, multi uso3 para: web, desktops,
servers e dispositivos embarcados; interpretada e com a
possibilidade de gerar arquivos compilados, criada por Guido Van
Rossum. CPython4
é a implementação original do Python. É a
implementação que você baixa do www.python.org. Trata-se de
uma linguagem com forte filosofia onde o desenvolvimento ágil,
a rápida leitura e a interpretação do código pelos seres humanos
são fatores fundamentais em comparação a outras linguagens de
programação. Além de uma grande capacidade de interagir
facilmente com C/C++
Veja alguns exemplos nos códigos Python abaixo (esses
códigos executam a mesma coisa com desempenho diferente).
Ruim: Bom(LBYL): Aindamelhor(EAFP):
try:
if plano == True: if plano: try:
executar_plano() executar_plano() executar_plano()
ou except Exception as e: except Exception as e:
if plano != None: … ...
executar_plano() finally: finally:
… …
1
https://www.python.org/dev/peps/pep-0008/
2
http://www.python.org
3
http://spectrum.ieee.org/computing/software/the-2016-top-programming-languages
4
http://stackoverflow.com/questions/17130975/python-vs-cpython
2. Você percebeu como é fácil ler o código do bloco do meio e
o bloco à direita? O quão rápido a CPU irá executar o código
assim estruturado com milhares de instruções em construção
aprimorada?
“Deve haver uma - e preferivelmente apenas uma -
maneira óbvia de fazer algo”5
.
A partir deste ponto o conhecimento em tecnologia de
software se faz necessário o que torna a leitura um tanto densa e
difícil. O bloco da direita acima é conhecido como: EAFP (It's
easier to ask forgiveness than permission). O bloco do meio é
conhecido como: LBYL (Look before you leap). Dessa forma, o
EAFP remete a "é mais fácil pedir perdão do que permissão". Isso
significa que em termos de desempenho dos sistemas
informáticos é preferível capturar exceções a testar atributos
com if antes de usá-los. Nos blocos lógicos acima não tem
chaves, parênteses, colchetes, ponto, ponto e virgula, fecha if,
etc. É só isso, a identação, ou seja, o recuo do texto em relação a
sua margem instrui o processamento. O except precisa do try e o
try não tem a pretensão de substituir o if.
O comando with, seguindo a filosofia agile, irá fechar
automaticamente o arquivo aberto, mesmo que uma exceção
ocorra dentro do bloco lógico (este é um exemplo prático do que
é a filosofia agile aplicado a programação de software).
Ruim: Muito Bom:
f = open('file.txt' encoding=”utf-8”) with open('file.txt', ‘r’ encoding=”utf-8”) as f:
5
https://www.python.org/dev/peps/pep-0020/
3. a = f.read() for linein f:
print(a) print(line)
f.close()
O extrato de código Python abaixo lê um arquivo em
formato texto localizado no filesystem, obtendo os 10 primeiros
bytes que se refere a um nome, sendo posteriormente gerado
um arquivo com os nomes ordenados e distintos, ou seja, únicos.
exist = set()
with open(filename, 'r'encoding=”utf-8”) as r:
with open(filename + '.out', 'w', encoding=”utf-8”) as w:
for line in sorted(r):
nome = line[0:10].strip()
if nome not in exist:
if nome != 'UID':
w.write(nome)
w.write('n')
exist.add(nome)
Neste extrato de código o resultado do arquivo gerado é exibido
em tela.
with open(filename + '.out', 'r', encoding=”utf-8”) as r:
for line in r:
print (line, end="")
4. Alto desempenho com Cython
"Cython é o elo perdido entre a simplicidade do Python e a
velocidade do C/C++" Stefan Behnel. Fato que se traduz em um
cenário ganha-ganha.
Cython é uma ferramenta para:
Converter código Python para código C
Acelerar os módulos Python existentes, não reescreva!
Chamar códigos C apartir do Python
O Cython faz algumas conversões que utilizam menor
quantidade de chamadas ao interpretador Python. Dessa forma,
o ganho em desempenho é alcançado.
Veja os exemplos abaixo rodando para o seguinte código:
# -*- coding: utf-8 -*-
import time
start_time = time.time()
for i in range(999999999):
pass
print ('Início={0}, Fim={1}, Tempo={2}s segundos'.format(start_time, time.time(),
time.time() - start_time))
5. Ubuntu Desktop v. 16.04 32bits com gcc v. 5.4.0 (Dual core 1.66Ghz):
Python v. 3.5.2 Cython v. 0.266
for i in range(999999999) for (i=0; i<999999999; i++)
166.75153851509094 s 139.28135538101196 s
Python v. 2.7.12 Cython v. 0.267
for i in range(999999999) for (i=0; i<999999999; i++)
Memory Error Memory Error
*************
Ubuntu Server v. 17.04 64bits (GNU/Linux 4.10.0-32-generic x86_64) com gcc v.
6.3.0 (Micro instance AWS, 1vCPU, 0,6GB Memory):
Python v. 3.5.3 Cython v. 0.268
for i in range(999999999) for (i=0; i<999999999; i++)
104.71606087684631 s 60.71505284309387 s
Python v. 2.7.13 Cython v. 0.269
for i in range(999999999) for (i=0; i<999999999; i++)
Memory Error Memory Error
6
CompiladobaseadoemPython-3(sintaxee semânticade códigos)
7
CompialdobaseadoemPython-2(sintaxee semânticade códigos)
8
CompiladobaseadoemPython-3(sintaxee semânticade códigos)
9
CompiladobaseadoemPython-2(sintaxee semânticade códigos)
6. *************
Raspbian v. 4.14.98 32bits com gcc v. 6.3.0 (Raspberry Pi 3 B+), Cython v. 0.29.7
Python v. 3.5.3 Cython v. 0.2610
for i in range(999999999) for (i=0; i<999999999; i++)
378.1542239189148s s 289.6118428707123 s
Python v. 2.7.13 Cython v. 0.2611
for i in range(999999999) for (i=0; i<999999999; i++)
Memory Error 289.6118428707123 s
10
CompiladobaseadoemPython-3(sintaxee semânticade códigos)
11
CompiladobaseadoemPython-2(sintaxee semânticade códigos)
7. Cython na pratica
$ cat olamundo.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
print ("Olá mundo")
$ python3 olamundo.py
Olá mundo
$ cython --embed olamundo.py -3
$ gcc -Os -I /usr/include/python3.5m -o olamundo olamundo.c -
lpython3.5m -lpthread -lm -lutil -ldl
$ ls -la olamundo*
-rwxrwxr-x. 1 marcos marcos 18368jan 18 20:14 olamundo
-rw-rw-r--. 1 marcos marcos 78047jan 18 20:13 olamundo.c
-rw-rw-r--. 1 marcos marcos 68 jan 18 20:10 olamundo.py
$ ./olamundo
Olá mundo
Perceba o tamanho dos arquivos. É possível executar um
arquivo Python com 68 bytes. Diferentemente de um arquivo
executável que possui 18368 bytes. Esse fato não significa que
um é melhor e o outro pior, mas responder a seguinte questão:
Qual opção é a mais indicada as características do meu projeto?
8. Qual o objetivo?
Escrever código eficiente em Python, aproveitando as suas
características otimizadas, bem como baseado na guia de estilos
da PEP-8 (Pythonico) e quando for necessário forte desempenho,
utilizar o Cython como uma das opções disponíveis, entre outras,
usadas separadas ou em conjunto.
O Python é mais lento quando comparado com C/C++.
Entretanto, o Python faz um bom trabalho quando comparado
com outras linguagens da sua categoria, como: Java, JavaScript,
Perl, Tcl, ou Smalltalk.
O core de desenvolvimento do Python é muito poderoso e
atuante e a linguagem está evoluindo fortemente, rotinas que
aproveitam os modernos processadores com vários núcleos de
processamento estão disponibilizadas na linguagem com forte
inovação, versão após versão do software. Um trabalho incrível
está sendo feito.
Marcos Aurelio Barranco
21/01/2017
Atualizado em: 05/05/2019
9. Fontes:
Effective Python 59 specific ways to write better Python by Brett Slatkin
Python Cookbook Third Edition by David Beazley and Brian K. Jones
The Hitchhiker’s Guide to Python by Kenneth Reitz
PEP 8 - Style Guide for Python Code - https://www.python.org/dev/peps/pep-0008/
PEP 20 - The Zen of Python - https://www.python.org/dev/peps/pep-0020/
Making Python run faster: a case study
http://faingezicht.com/articles/2016/12/25/means/
Comparing Python to Other Languages
https://www.python.org/doc/essays/comparisons/
Using the Cython Compiler to write fast Python code
http://www.behnel.de/cython200910/talk.html
Why is Python so popular despite being so slow?
https://www.quora.com/Why-is-Python-so-popular-despite-being-so-slow
What are differences between multithreading, multiprocessing and asyncio in Python?
https://www.quora.com/What-are-differences-between-multithreading-multiprocessing-and-asyncio-
in-Python
5 Reasons why Python is Powerful Enough for Google
https://www.codefellows.org/blog/5-reasons-why-python-is-powerful-enough-for-google/