Como o interpretador do Python funciona? | Live de Python

  Рет қаралды 12,085

Eduardo Mendes

Eduardo Mendes

Күн бұрын

Na live de hoje vamos conversar sobre como o python interpreta o código. Como o código é compilado em bytecode, o que são ASTs, como o python avalia os frames, como o interpretador de pilha executa o código. e etc... Nos basearemos nas implementações do CPython.
-------------------
O canal é mantido por uma iniciativa de financiamento coletivo:
Apoia-se: apoia.se/lived...
picpay: @dunossauro
Chave pix: pix.dunossauro@gmail.com
Meus cotatos e redes: linktr.ee/duno...
-------------------
Código e Slides: github.com/dun...
Telegram da live: t.me/livepython
----

Пікірлер: 42
@alexandrelovisi1822
@alexandrelovisi1822 9 ай бұрын
Por mais profissionais e multiplicadores de conhecimento como vc. Obrigado por compartilhar seu conhecimento.
@gustavinus
@gustavinus 2 жыл бұрын
Assembly é a linguagem mais próxima da linguagem de máquina (low level), mas não é linguagem de máquina. A linguagem de máquina é o resultado da compilação. Alguns compiladores até vão transformar o código em C ou Assembly na pré-compilação, mas o resultado final que é a linguagem de máquina. Nas linguagens interpretadas seria o bytecode. Ainda tem muita gente que programa direto em Assembly. A maioria dos seus utensílios domésticos por exemplo é programada direto em assembly.
@umcanalsemvidanoyoutube8840
@umcanalsemvidanoyoutube8840 Жыл бұрын
Sugestão de vídeo: faz um vídeo explicando como funciona o Numpy internamente no código fonte C
@kimpoletto8308
@kimpoletto8308 2 жыл бұрын
Acho que já vi essa live umas 10x. Toda vez que vejo aprendo algo.
@gsantos1000
@gsantos1000 Жыл бұрын
Esta sem dúvida foi a aula mais complexa que já assisti no canal. E foi útil para mim de mais.
@evaldoaraujo4145
@evaldoaraujo4145 Жыл бұрын
Essa live é uma das melhor live do canal. Poderia sim se aprofundar mais em cada tópico, pois é um conteúdo muito interessante.
@taconi
@taconi 4 ай бұрын
"Não me segue que eu to perdido" - Babel, Peixe 00:04 Olar 01:11 Roteiro 01:42 Avisos 03:23 Paganóis 03:52 Geral: Como a mágica acontece? 04:12 Como o python executa o nosso código? 06:16 Interpretador? O que é isso? 08:05 O CPython 10:45 Outros interpretadores 12:20 * Qual a diferença entre CPython e Cython? 13:07 Compilador tradicional 15:36 Compilador do Python? 17:26 * Python é mais lento que outras linguagens? 19:44 Compilador do Java? 20:32 IL X Linguagem de máquina 21:54 O CPython: visão geral (¿compinterpretada?) 23:54 Máquina virtual 26:49 Token e Parser: O começo do entendimento 27:03 O início do interpretador 28:11 Tokenização 29:55 Tokens 31:00 Análise léxica 37:50 Subclasses 41:25 O parser 43:14 A gramática 53:11 Análise léxica 57:13 A AST - ASTs e compilação: De árvores ao .pyc 1:07:27 Erros de sintáxe 1:09:27 A fase de compilação 1:19:11 IL / Bytecode - o famoso .pyc 1:31:05 A máquina virtual: A execução do código de fato 1:32:15 Uma pilha 1:34:26 Stack machine 1:39:17 A máquina do python: instruções do bytecode 2:00:39 Frames 2:12:30 Perguntas e referências 2:13:59 Referências 2:16:26 Perguntas 2:20:39 É isso (issues pra novas lives, paganóis, beijos)
@mateus-dev-me
@mateus-dev-me Жыл бұрын
Que Live sensacional 😍😍😍
@nickson1983
@nickson1983 2 жыл бұрын
Thanks!
@JoseSilva-gt6zj
@JoseSilva-gt6zj 2 жыл бұрын
☝@Eduardo Mendes, veja o que o Mads Torgersen (Principal Designer of C#) comentou sobre a velocidade de Python e C#. Voce comenta sobre isso nesse vídeo no tempo 17:31. O vídeo que comento é o "Mads Torgersen (Principal Designer of C# Language) - The Future of C# Lang" do canal "Canal Coders In Rio", no tempo 2:00:50. Segue o link: kzbin.info/www/bejne/a3fco5uahNx8aaM Por favor, dê uma olhada, acho que irá surpreender! Obrigado e abraço!
@mlevils
@mlevils 2 жыл бұрын
Valeu!
@Pedrão__Y
@Pedrão__Y Жыл бұрын
Uma das melhores aulas, brigadão. Depois te mando um pix.
@brunodavi8197
@brunodavi8197 2 жыл бұрын
Tem o cara do hashdash que sabe muito sobre python, só que ele cansou de esperar o python ficar mais rápido e está criando uma linguagem chamada de photon que quer melhorar a performance e a portabilidade do python, acho que ele faz o que o python faz ao criar o 'bytecode' só que reescrevendo um código c otimizado e o compilando e executando na máquina e adicionando umas features da linguagem dele ao fazer algumas coisas mais simples ao criar algumas classes E ele tava falando que tem um interpretador do python ou outra tecnologia chamada waland
@dennysoneliseu7621
@dennysoneliseu7621 2 жыл бұрын
Não conhecia o canal. Mais um inscrito e, com certeza, admirador! QUE LIVE!
@henriquebernardes6378
@henriquebernardes6378 2 жыл бұрын
Eduardo, como obter o handle de 3 objetos do app chamador (Data Field, Text or Button), chamar uma segunda aplicação passando o handle, esta app executa processamento e retorna resultado escrevendo uma mensagem visual (Interface usuário), depois enviar mensagem click no botão para processar a próxima atividade (function class ) e assim por diante. Tenho esse processo em C++ e quero implementar em Python. Obrigado.
@caiohessebrone4014
@caiohessebrone4014 Жыл бұрын
Muito top
@ronaldosilveiradev
@ronaldosilveiradev 2 жыл бұрын
Adoirei entender como tudo funciona por baixo do Capô.
@bugatess
@bugatess 2 жыл бұрын
Mais uma live maravilhosa, muito obrigado pelo conteúdo!
@ivancarlossl
@ivancarlossl 2 жыл бұрын
Boa noite meu amigo, tmj 👍
@davic.p1689
@davic.p1689 2 жыл бұрын
Opa, eai tudo bem? Lembro de um tempo atrás ter tido uma vakinha, pra um curso de fastapi. O que deu? Vai ocorrer? Tô meio por fora.
@AzureCz
@AzureCz 2 жыл бұрын
Sen sa cio nal. Posso dizer com tranquilidade que as suas aulas me tornaram avançado em python como sou hoje. Obrigado
@GilsonFabiano
@GilsonFabiano 2 жыл бұрын
Ótima live. Parabéns pelo conteúdo.
@Jefferson-zt3im
@Jefferson-zt3im 2 жыл бұрын
Eu sou formado em contábeis, tenho dificuldade em entender função e classes, recomenda curso ou forma de aprender?
@felipica
@felipica 2 жыл бұрын
24:58 aq é o pulo do gato
@Dunossauro
@Dunossauro 2 жыл бұрын
Não tá escrito o tanto que eu ri com esse comentário
@gustavinus
@gustavinus 2 жыл бұрын
kkkkkkkkkkk pior que eu nunca tinha ouvido essa de o que vc xinga ou chuta como analogia pra virtual / real
@FabioRBelotto
@FabioRBelotto 2 жыл бұрын
Falando em linguagens interpretadas, porque vejo o pessoal falando de Java como algo suficiente para construir um software "razoável" mas não em python? A performance não seria semelhante?
2 жыл бұрын
apesar dos 2 serem "interpretadas" mesmo o bytecode do python é interpretado, o java é quase como se realmente fizesse um binario porem pra maquina virtual e possuem uma compilação muito otimizada (por exemplo mesmo se pedir pra compilar o codigo python pra bytecode ele n verifica os tipos entre outras coisas, ja o java o compilador verificara tudo isso). mas isso é meio simplista tem muito mais detalhes e daria um grande texto/video pra explicar isso com isso em mente uma das grandes dicas geral pra melhorar a velocidade do python é tentar usar o maximo possivel de funções prontas quando tiver fazendo operações por que muitas delas estão escritas em C( e n em python pelo interpretador) e dai vai ser bem rapido
@FabioRBelotto
@FabioRBelotto 2 жыл бұрын
@ mas existe alguma vantagem em ter essa "compilação" tão superficial no python? Não poderiam trabalhar nisso para que o python ganhasse mais espaço em outras áreas de software. É muito difícil alguém usar python para soluções que não sou de análise de dados.
2 жыл бұрын
@@FabioRBelotto no inicio o python foi pensado como linguagem de script e automação mesmo, por isso ele é interpretado. como o python foi escrito pra ser dessa forma hj seria um trabalho absurdo mudar isso (praticamente impossivel pela viabilidade) mas estão fazendo alguns esforços pra melhorar a velocidade
@MateusAoQuadrado
@MateusAoQuadrado 2 жыл бұрын
Pfvr faça a live de token
@FabioRBelotto
@FabioRBelotto 2 жыл бұрын
Existe alguma vantagem nas demais versões do compilador / interpretador como os baseados em C#, etc? A língua C não é um pouco velha? Porque não é usado algo em C++?
2 жыл бұрын
as q usam outra linguagem tem a vantagem de poder interagir melhor com essa linguagem, a versão implementado em C# pode usar facilmente bibliotecas do dotnet e tb é simples de usar codigos python de dentro do c#. a segunda, o python é relativamente antigo e pelo q vi na época o c++ n tinha um padrão/compilador bem consolidado
@FabioRBelotto
@FabioRBelotto 2 жыл бұрын
@ mas aí me pergunto. Porque não evoluir o interpretador do python? Penso que muitas críticas a linguagem poderiam ser diminuídas.
@GilsonFabiano
@GilsonFabiano 2 жыл бұрын
@@FabioRBelotto como assim evoluir? Quais seriam essas críticas?
@FabioRBelotto
@FabioRBelotto 2 жыл бұрын
@@GilsonFabiano sobre performance ruim, multithread nativo, sei lá. Não vejo ninguém usando o python, que é uma linguagem de uso geral, para construir sistemas e softwares.
@Dunossauro
@Dunossauro 2 жыл бұрын
Fábio, acho que você nunca assistiu youtube então. Pq, essa digníssima plataforma em que estamos conversando é feita em python. Dropbox, Pinterest, etc....
@cenopolis5834
@cenopolis5834 2 жыл бұрын
With wNice tutorialch app you made tNice tutorials video??
@amandinhalemos2166
@amandinhalemos2166 2 жыл бұрын
TNice tutorials is exactly about everytNice tutorialng that you'll ever need to do to make soft on soft soft
@Fre3ze562
@Fre3ze562 2 жыл бұрын
It took 1,5 hours to finish watcNice tutorialng tNice tutorials 18 MINUTES video wNice tutorialle doing all the sa steps on soft soft myself. My brain is fried and
@adegarapoanga8509
@adegarapoanga8509 2 жыл бұрын
why does my GMS softs like exhaust from motobike, pls tell how
@Joscelino2007
@Joscelino2007 2 жыл бұрын
Valeu!
Pyinstaller: como gerar executáveis  | Live de Python #228
2:10:56
Eduardo Mendes
Рет қаралды 12 М.
Me pergunte o que quiser sobre python | Live de Python #276
2:20:18
Eduardo Mendes
Рет қаралды 3,1 М.
When you have a very capricious child 😂😘👍
00:16
Like Asiya
Рет қаралды 18 МЛН
The Best Band 😅 #toshleh #viralshort
00:11
Toshleh
Рет қаралды 22 МЛН
Novidades da versão 3.13 do Python | Live de Python #275
2:02:50
Eduardo Mendes
Рет қаралды 7 М.
Build ANYTHING With AI Agents For FREE! (DeepSeek-R1 Beats ChatGPT)
21:43
Me pergunte o que quiser sobre python | Live de Python #277
2:06:10
Eduardo Mendes
Рет қаралды 2,2 М.
Humanizando a interação com o código - #30DiasDePython
30:52
Eduardo Mendes
Рет қаралды 3,5 М.
When you have a very capricious child 😂😘👍
00:16
Like Asiya
Рет қаралды 18 МЛН