Buscar

História e Arquitetura do Python


Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Python
Pedro Henrique Resende Marques, Guilherme Santos Lima, Yander Alves
de Carvalho, Taynara Diniz Moreira de Souza, Pedro Antônio Ortega Braz de
Alencar.
phmarques666@gmail.com guisantos2504@gmail.com
yanderalves@alu.ufc.br pedro.ortega01@alu.ufc.br
taynarad25@alu.ufc.br
Resumo. Primeiramente, descrever o processo de criação do Python, como sua história
e seu criador. Após essa descrição, irá se debater sobre a sintaxe da linguagem. Em
seguida, a avaliação dessa linguagem, dando foco em sua legibilidade, capacidade de
escrita e confiabilidade.
Processo de criação
O que o Python é?
● É uma linguagem de propósito geral;
● É fácil e intuitivo;
● Multiplataforma;
● Batteries incluída;
● Organizada;
● Orientada a objetos;
● Possui muitas bibliotecas;
● Livre (código aberto);
Quem criou?
● A primeira ideia surgiu em 1982, quando Guido Van Hossum
trabalhava na CWI, no projeto de criação da linguagem ABC.
● Em 1989, o desenvolvimento da linguagem teve início, e no início
dos anos 90, já era a linguagem mais utilizada dentro do CWI.
De onde vem o python?
● Na CWI, havia uma tradição de usar nomes de programas de TV
para projetos. Desse modo, o python recebeu esse nome em
mailto:phmarques666@gmail.com
mailto:guisantos2504@gmail.com
mailto:yanderalves@alu.ufc.br
mailto:pedro.ortega01@alu.ufc.br
homenagem seriado preferido de Van Houssem, “Monte Python”.
Entretanto, a revista “O´Reilly” vinculou seu nome à cobra Píton,
que traduzindo para o inglês fica Python, na publicação do
primeiro livro da linguagem, desde então, a cobra se tornou a
representante da linguagem (sua logomarca são duas cobras) e,
após a publicação desse livro, o python tornou-se ainda mais
famoso.
● Em 2001, foi criada a Python Software Fundation(PSF), que é
uma fundação sem fins lucrativos que atualmente atua como uma
das coordenadoras do Python. A linguagem evolui de acordo com
a comunidade, caso uma funcionalidade seja aceito pela maioria,
ela é adicionada a linguagem. Hoje em dia, a PSF é patrocinada
por grandes empresas, como a Microsoft, o Google e a
Globo.com, que utiliza python em seus sites e em transmissões de
vídeo.
Por que criou?
● Após se deparar com uma dificuldade de implementar um
programa em C, ele decidiu criar uma linguagem de programação
que fosse interpretada e tivesse comandos simples e fáceis de
entender. Seu objetivo inicial era preencher uma lacuna entra o C
e o shell.
Pra que serve?
● Inteligência artificial – é usada por conta de sua sintaxe simples e
ótima legibilidade, permitindo uma testagem rápida de algoritmos
complexos de machine learning. Além disso, possui boas
ferramentas de trabalho colaborativo, como o Google Colab.
● Biotecnologia – Usado para análise em grande escala de dados
biológicos e descobertas de fármacos.
● Computação Gráfica – Utilizada na criação de filmes, por
exemplo os filmes mais recentes da saga Star Wars foram feitos
pela Industria Light & Magic usando python.
● Ciência de dados – Graças a seu crescente número de bibliotecas
disponíveis voltadas para análise de dados, oferece funções e
métodos de otimização para quaisquer objetivos.
Quais empresas usam python no dia a dia?
● ZOPE- Gerenciador de conteúdo totalmente feito em python;
● AIR CANADA – Usa um programa feito em python para fazer a
reserva de passagens e assentos;
● GLOBO – Usa python na área de vídeos;
● GOOGLE – Crawler que mostram conteúdo aos usuários são feitos em
python;
● YOUTUBE - Feito em python;
Aspectos da arquitetura de um compilador
● A arquitetura do Python pode ser classificada em quatro componentes
principais: módulos do núcleo, bibliotecas padrões, e módulos criados pelo
usuário,o estado atual do Python,alocador de memória e a estrutura de objetos e
tipos, que constituem o ambiente em tempo de execução. O estado atual do
Python refere-se ao estado de execução do interpretador, visto como uma
máquina de estado finito muito grande, complexa, e modificável. O alocador de
memória é responsável por alocar a memória para objetos de Python (externo e
interno) e é conectado com as rotinas padrão malloc do C. As estruturas de
objetos e tipos representam os objetos internos que estão disponíveis em Python.
O diretório ”Modules”contém todos os módulos escritos em C, incluindo ambos
os módulos do núcleo e aqueles que requerem simplesmente uma maior
velocidade. Muitos módulos do núcleo (tais como o módulo ”OS”) são escritos
na linguagem Python. O diretório denominado ”Parser”é um tanto incorreto,
pois contém não somente rotinas do analisador sintático, como também as
rotinas do analisador léxico e rotinas para gerar o analisador sintático baseado na
gramática da linguagem Python (muito similar ao YACC ou Bison, mas não
como Robust). O diretório ”Objects”contém todas as rotinas e arquivos de
cabeçalhos para implementar objetos em tempo de execução e alguns objetos
internos necessários para o interpretador Python funcionar corretamente.
Contém todos os tipos internos de objetos Python (built-in objects). Por fim, o
diretório ”Library”agrupa variadas rotinas padronizadas de bibliotecas.
Sintaxe da Linguagem
● As variáveis precisam ser inicializadas para depois ser utilizada
● Os nome das variáveis não podem começar com números ou conter espaços
● A indentação é a forma para criar blocos de comandos
● Para escrever uma palavra ou uma frase devemos usar aspas simples ou aspas
duplas
● Para imprimir uma mensagem na tela usamos o print
● Para receber uma resposta do usuário usamos o input
● Os operadores Aritméticos são:
○ Soma (+)
○ Subtração (-)
○ Divisão (/)
○ Multiplicação (*)
○ Módulo (%)
○ Exponenciação (**)
● A ordem de precedência do python, é a mesma que a ordem da matemática, ou
seja:
○ Primeiro tudo que está dentro dos parênteses;
○ Segundo exponenciação;
○ Terceiro multiplicação, divisão e módulo;
○ Quarto soma e subtração.
● Para atribuir um valor em uma variável, usamos os seguintes operadores:
○ Atribuição comum (=)
○ Atribuição de soma (+=)
○ Atribuição de Subtração (-=)
○ Atribuição de Multiplicação (*=)
○ Atribuição de Divisão (/=)
○ Atribuição de Resto (%=)
● Os operadores para comparar duas variáveis são:
○ Menor que (<)
○ Menor ou igual (<=)
○ Maior que (>)
○ Maior ou igual (>=)
○ Igual (==)
○ Diferente (!=)
● Operadores Lógicos:
○ Não (not)
○ E (and)
○ Ou (or)
● A função é uma sequência de comandos que executa uma determinada tarefa, ela
nos ajuda a organizar o programa em pedaços específicos
● Temos duas estruturas de decisão:
○ if else - Uma parte do código só será executado se a condição for
verdadeira ou se for falso, só podendo colocar apenas uma condição.
○ if elif else - Podemos colocar mais de uma condição na estrutura.
● As estruturas de Repetição são:
○ while - Enquanto a condição for verdadeira, o comando continuará sendo
executado. Quando a condição passar a ser falsa, a repetição termina.
○ for - O comando irá ser executado o número de vezes determinado
código.
● Alguns erros comuns de sintaxe:
○ Escrever comandos de forma errada
○ Esquecer de indentar o código
○ Colocar nomes de variáveis iguais
○ Usar palavras reservadas para nomear as variáveis
○ Esquecer de abrir ou fechar aspas
○ Esquecer de abrir ou fechar parênteses
○ Esquecer de abrir ou fechar chaves
Avaliação da Linguagem
Legibilidade
● Como a linguagem de programação python foi criada com fins
didáticos, possui uma legibilidade acima da média em
comparação com as demais linguagens. Para definir os blocos de
código, diferentemente de outras linguagens que utilizam chaves,
python tem sua própria indentação para definir o começo e o fim
de blocos de código, dessa forma, é possível estabelecer um
patamar de legibilidade, pois, não é necessário a convenção para
estabelecer uma indentação para a linguagem.
● Em python são mais utilizados caracteres que são mais comuns
para usuários leigos, com intuito de parecer menos intimidador do
que outras linguagens que utilizam caracteres como “%$&@!”.
● Com a intenção de ser fácil de aprender, python tem poucas
palavras reservadas.Sendo uma linguagem de alto nível e com
uma capacidade de abstração que torna essa linguagem muito
poderosa, um exemplo é a forma de executar um loop em uma
lista, sendo executado o comando praticamente dentro da lista.
● Suporte para abstração: A abstração é a capacidade de definir
novos tipos de dados a partir de uma determinada entrada de
dados, em python temos algumas ferramentas que ajudam
bastante nesse critério pois trata as funções como tipos de dados
de primeira ordem, o que a permite passar uma função como
parâmetro de outras funções, armazenar funções como atributos
ou elementos de uma estrutura de dados ou lista e também
retorná-las como resultado de uma expressão, o que permite a
criação de abstrações mais poderosas.
Capacidade de Escrita
● Python possui um alto grau de flexibilidade em sua escrita e isso
tem impacto na sua confiabilidade, mas é contrabalanceado com
tratamento de exceções nativo e orientado a objetos e alta
capacidade de abstração e recursos da programação funcional.
● A sua capacidade de escrita é alta para domínio de negócios e
domínios mistos pois o custo de treinamento e escrita para
programas em Python é baixo, uma vez que a capacidade de
escrita e a legibilidade é alta, fazendo com que o tempo do
entendimento de códigos na aprendizagem seja baixo assim como
para manutenção destes, otimizando o tempo de desenvolvimento
de uma aplicação.
● Em contrapartida sua velocidade de execução nem sempre é tão
rápida quanto linguagens compiladas, como C e C++ pois o custo
de compilar e interpretar é mais alto pois as instruções do
código-fonte são traduzidas em um formato intermediário
conhecido como byte-code e depois esse byte-code é quem é
interpretado.
Confiabilidade
● Verificação de tipos: Python é dinamicamente tipada e também possui
a inferência dos tipos. Porém, o sistema de verificação de tipos
não realiza a conversão implícita de um tipo de dados para outro,
levantando uma exceção quando tipos inconsistentes são
utilizados. Python realiza uma nova vinculação de nome e espaço
a cada atribuição de valor a uma variável, inferindo o tipo de
dados do valor recebido. Além disso, ela não possui definição de
tipos nos parâmetros de funções ou métodos, deixando a cargo do
programador o tratamento dos tipos recebidos e retornados.
● Manipulação de exceções: Para o bom desenvolvimento de um
código, é necessário a previsão e o tratamento de erros, assim
evitando com que a aplicação seja interrompida e com isso
afetando a parte de custos de implementação, existem linguagens
que não possuem suporte para esse tipo de recurso como o C.
REFERÊNCIAS:
UGO ROVEDA. O que é Python. Disponível em:
<https://kenzie.com.br/blog/o-que-e-python/>. Acesso em: 24 de agosto de 2021
MAGNUN. A história do Python. Disponível em:
<http://mindbending.org/pt/a-historia-do-python>. Acesso em: 24 de agosto de 2021
WIKIPÉDIA. Python. Disponível em: <https://pt.wikipedia.org/wiki/Python>.
Acesso em: 24 de agosto de 2021
RUDÁ PORTO, SERGIO PACHECO, ADRIENNE NOGUEIRA. Uma análise
comparativa das linguagens de programação. Disponível em:
<http://python-blog.blogspot.com/2007/04/python-scheme-e-ml-uma-anlise.html>.
Acesso em: 24 de agosto de 2021
DEVMEDIA. Python: Trabalhando com variáveis. Disponível em:
<https://www.devmedia.com.br/python-trabalhando-com-variaveis/38644>. Acesso em:
24 de agosto de 2021
https://kenzie.com.br/blog/o-que-e-python/
http://mindbending.org/pt/a-historia-do-python
https://pt.wikipedia.org/wiki/Python
http://python-blog.blogspot.com/2007/04/python-scheme-e-ml-uma-anlise.html
https://www.devmedia.com.br/python-trabalhando-com-variaveis/38644
DEVFURIA. Python - O básico da sintaxe. Disponível em:
<http://devfuria.com.br/python/sintaxe-basica/>. Acesso em: 24 de agosto de 2021
IFSP - CÂMPUS SÃO CARLOS. Apostila - Introdução à programação com
python. Disponível em:
<http://antigo.scl.ifsp.edu.br/portal/arquivos/2016.05.04_Apostila_Python_-_PET_ADS
_S%C3%A3o_Carlos.pdf>. Acesso em: 24 de agosto de 2021
CELSO KITAMURA. Operadores Aritméticos E De Atribuição Em Python.
Disponível em:
<https://celsokitamura.com.br/operadores-aritmeticos-e-de-atribuicao-em-python/>.
Acesso em: 24 de agosto de 2021
UNIVERSIDADE DE SÃO PAULO - Introdução à Computação. Disponível
em: <ime.usp.br/~kellyrb/mac2166_2014/arquivos/aulas/mac2166_aula4.html>. Acesso
em: 24 de agosto de 2021
http://devfuria.com.br/python/sintaxe-basica/
http://antigo.scl.ifsp.edu.br/portal/arquivos/2016.05.04_Apostila_Python_-_PET_ADS_S%C3%A3o_Carlos.pdf
http://antigo.scl.ifsp.edu.br/portal/arquivos/2016.05.04_Apostila_Python_-_PET_ADS_S%C3%A3o_Carlos.pdf
https://celsokitamura.com.br/operadores-aritmeticos-e-de-atribuicao-em-python/
http://ime.usp.br/~kellyrb/mac2166_2014/arquivos/aulas/mac2166_aula4.html

Continue navegando