{"id":4076,"date":"2023-07-18T09:18:54","date_gmt":"2023-07-18T09:18:54","guid":{"rendered":"https:\/\/picockpit.com\/raspberry-pi\/?p=4076"},"modified":"2023-07-26T14:44:58","modified_gmt":"2023-07-26T14:44:58","slug":"whats-the-difference-between-micropython-circuitpython-cpython-anyway","status":"publish","type":"post","link":"https:\/\/picockpit.com\/raspberry-pi\/pt\/qual-e-a-diferenca-entre-micropython-circuitpython-cpython-anyway\/","title":{"rendered":"Qual \u00e9 a diferen\u00e7a entre CPython, MicroPython e CircuitPython?"},"content":{"rendered":"<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1-1024x576.png\" alt=\"\" class=\"wp-image-4331\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1-1024x576.png 1024w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1-300x169.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1-768x432.png 768w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1-18x10.png 18w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">CPython, MicroPython, e CircuitPython ocupam um lugar querido no cora\u00e7\u00e3o de muitos engenheiros. Mas nem sempre \u00e9 claro quais s\u00e3o as diferen\u00e7as. E se est\u00e1s a brincar com microcontroladores pela primeira vez, estas distin\u00e7\u00f5es podem ter um papel fundamental na compreens\u00e3o do que se passa com o teu c\u00f3digo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por isso, neste artigo, vou explicar o que s\u00e3o estas tr\u00eas implementa\u00e7\u00f5es de Python e como se comparam e contrastam.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9 importante lembrar que Python \u00e9 tanto uma linguagem <em>e<\/em> um programa. Neste contexto, a implementa\u00e7\u00e3o \u00e9 o programa que interpreta e executa o c\u00f3digo Python.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Portanto, estamos a falar principalmente de tr\u00eas programas (que incluem ambientes de execu\u00e7\u00e3o, bibliotecas padr\u00e3o e outras ferramentas) que podem executar c\u00f3digo Python. Ent\u00e3o vamos come\u00e7ar com o programa de refer\u00eancia - CPython.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">CPython<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">O CPython \u00e9 a implementa\u00e7\u00e3o padr\u00e3o e mais amplamente utilizada da linguagem de programa\u00e7\u00e3o Python. Normalmente, quando as pessoas falam sobre Python, elas est\u00e3o falando sobre Python rodando em CPython.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/pexels-realtoughcandycom-11035474-1024x683.jpg\" alt=\"\" class=\"wp-image-4233\" width=\"577\" height=\"384\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/pexels-realtoughcandycom-11035474-1024x683.jpg 1024w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/pexels-realtoughcandycom-11035474-300x200.jpg 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/pexels-realtoughcandycom-11035474-768x512.jpg 768w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/pexels-realtoughcandycom-11035474-1536x1024.jpg 1536w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/pexels-realtoughcandycom-11035474-2048x1365.jpg 2048w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/pexels-realtoughcandycom-11035474-18x12.jpg 18w\" sizes=\"auto, (max-width: 577px) 100vw, 577px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Sem surpresas, \u00e9 escrito em C (da\u00ed o \"C\") e serve como implementa\u00e7\u00e3o de refer\u00eancia para a linguagem Python. Se quiser saber todos os detalhes sujos, pode <a href=\"https:\/\/docs.python.org\/3\/c-api\/intro.html\">consulte a documenta\u00e7\u00e3o do CPython aqui<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O CPython interpreta e executa c\u00f3digo Python e fornece a funcionalidade e os recursos principais do Python. E como \u00e9 o mais utilizado, tamb\u00e9m tem acesso ao mais extenso ecossistema de bibliotecas e pacotes, incluindo bibliotecas como NumPy, Django, Flask, TensorFlow, etc.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O CPython tamb\u00e9m tem um ambiente de tempo de execu\u00e7\u00e3o com gest\u00e3o din\u00e2mica da mem\u00f3ria (incluindo a atribui\u00e7\u00e3o autom\u00e1tica de mem\u00f3ria atrav\u00e9s da contagem de refer\u00eancias, bem como a recolha de lixo).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No que diz respeito ao tratamento de erros, o CPython oferece-lhe a possibilidade de gerir erros e excep\u00e7\u00f5es atrav\u00e9s de blocos try-except.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Al\u00e9m disso, como \u00e9 \u00f3bvio, tem um m\u00f3dulo de depura\u00e7\u00e3o incorporado, <code data-no-translation=\"\">pdb<\/code>que suporta breakpoints e single stepping. Pode experiment\u00e1-lo executando:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewbox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"import pdb; pdb.set_trace()\" style=\"color:#d8dee9ff;display:none\" aria-label=\"C\u00f3pia\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code data-no-translation=\"\"><span class=\"line\"><span style=\"color: #81A1C1\">import<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">pdb<\/span><span style=\"color: #D8DEE9FF\">; <\/span><span style=\"color: #8FBCBB\">pdb<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">set_trace<\/span><span style=\"color: #D8DEE9FF\">()<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Finalmente, o CPython usa um Bloqueio Global do Interpretador (GIL), que s\u00f3 permite que uma thread principal execute o bytecode Python num \u00fanico processo. Por outras palavras, o CPython suporta programa\u00e7\u00e3o ass\u00edncrona, mas n\u00e3o programa\u00e7\u00e3o paralela. <em>Mais sobre programa\u00e7\u00e3o ass\u00edncrona e paralela em um pr\u00f3ximo post!<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Algumas outras implementa\u00e7\u00f5es n\u00e3o utilizam o GIL para poderem oferecer diferentes abordagens \u00e0 concorr\u00eancia e ao paralelismo. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por exemplo, o Jython \u00e9 executado na m\u00e1quina virtual Java. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">IronPython \u00e9 executado em .NET. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">E o PyPy corre em Mem\u00f3ria Transacional de Software.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">CPython, MicroPython, e CircuitPython, no entanto, todos correm com o GIL no s\u00edtio.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">MicroPython<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Ao contr\u00e1rio do CPython, que foi concebido para fins gerais (computadores de secret\u00e1ria, servidores, sistemas embebidos, etc.), o MicroPython \u00e9 uma implementa\u00e7\u00e3o do Python especificamente optimizada para microcontroladores (como o Pico!) e sistemas embebidos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vale a pena mencionar aqui que MicroPython \u00e9 por vezes escrito como uPython, por causa da letra grega \u03bc (\"mu\", como na primeira letra de \"mikr\u00f3s\").<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MicroPython n\u00e3o necessita de um sistema operativo, pode ser executado eficazmente <em>como <\/em>o sistema operativo num microcontrolador.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Normalmente, para o fazer, as pessoas recorrem a <a href=\"https:\/\/thonny.org\/\">o Thonny IDE<\/a>que tem uma s\u00e9rie de ferramentas extremamente \u00fateis para lidar com MicroPython.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Embora ainda escrito em C, o MicroPython tem como objetivo fornecer um tempo de execu\u00e7\u00e3o compacto para dispositivos menos potentes - por isso utiliza menos mem\u00f3ria e apenas fornece m\u00f3dulos e bibliotecas espec\u00edficos para sistemas incorporados, como <code data-no-translation=\"\">machine<\/code>, <code data-no-translation=\"\">utime<\/code>e <code data-no-translation=\"\">network<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se estiveres \u00e0 procura de algumas bibliotecas MicroPython fant\u00e1sticas, podes consultar <a href=\"https:\/\/awesome-micropython.com\/\">Incr\u00edvel MicroPython<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O CPython utiliza a contagem de refer\u00eancias como o seu principal algoritmo de recolha de lixo, mas <a href=\"https:\/\/docs.micropython.org\/en\/latest\/develop\/memorymgt.html\">MicroPython usa Mark and Sweep como seu principal algoritmo de coleta de lixo<\/a> para gerir a mem\u00f3ria.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Foi criado por Damien George h\u00e1 10 anos e se quiser ouvi-lo falar sobre o assunto, pode assistir a esta palestra:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" hcb-fetch-image-from=\"https:\/\/www.youtube.com\/watch?v=WI-nTf5iM84\" title=\"Usando MicroPython na natureza\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/WI-nTf5iM84?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Assim, o MicroPython n\u00e3o tem todas as caracter\u00edsticas da biblioteca padr\u00e3o do CPython.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ao contr\u00e1rio do CPython, o MicroPython n\u00e3o tem suporte embutido para <code data-no-translation=\"\">pdb<\/code> como uma ferramenta de depura\u00e7\u00e3o. Em vez disso, se estiver a usar o MicroPython, vai precisar de recorrer a outras t\u00e9cnicas como as instru\u00e7\u00f5es de impress\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se estiver interessado em utilizar depuradores externos, pode consultar <a href=\"https:\/\/github.com\/bobveringa\/mpdb\">este depurador MicroPython muito fixe no GitHub<\/a>. O seu objetivo \u00e9 fornecer <code data-no-translation=\"\">pdb<\/code> caracter\u00edsticas do MicroPython.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se estiveres interessado em consultar a documenta\u00e7\u00e3o do MicroPython para obteres informa\u00e7\u00f5es mais detalhadas, podes seguir <a href=\"https:\/\/docs.micropython.org\/en\/latest\/index.html\">esta liga\u00e7\u00e3o para ver todos os pormenores<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Assim, o MicroPython \u00e9 uma implementa\u00e7\u00e3o mais limitada do CPython, mas ainda \u00e9 maravilhosamente poderoso e muitas vezes a ferramenta ideal para muitos projectos.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">CircuitPython<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Outra ferramenta excelente \u00e9 o CircuitPython.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">CircuitPython \u00e9 uma bifurca\u00e7\u00e3o de MicroPython associada a <a href=\"https:\/\/www.adafruit.com\/\">Adafruit<\/a> e tem como objetivo ser mais f\u00e1cil para os principiantes (se o MicroPython n\u00e3o \u00e9 suficientemente f\u00e1cil para os principiantes \u00e9 certamente uma quest\u00e3o de debate).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">De facto, as diferen\u00e7as entre MicroPython e CircuitPython s\u00e3o extremamente pequenas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Uma diferen\u00e7a not\u00e1vel \u00e9 que o CircuitPython \u00e9 projetado para ter arquivos movidos para a placa, aparecendo como um disco externo (assim como um USB faria). A ideia \u00e9 que n\u00e3o precisa de carregar um ficheiro atrav\u00e9s do Thonny (embora ainda o possa fazer).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-18-10-45-28.png\" alt=\"\" class=\"wp-image-4234\" width=\"591\" height=\"485\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-18-10-45-28.png 797w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-18-10-45-28-300x246.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-18-10-45-28-768x630.png 768w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-18-10-45-28-15x12.png 15w\" sizes=\"auto, (max-width: 591px) 100vw, 591px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Por exemplo, o CircuitPython tem bibliotecas espec\u00edficas, tais como <code data-no-translation=\"\">adafruit_neopixel<\/code>, <code data-no-translation=\"\">adafruit_bmp280<\/code>e <code data-no-translation=\"\">adafruit_dotstar<\/code>que se destinam a hardware espec\u00edfico.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Algo que realmente diferencia o CircuitPython \u00e9 a comunidade vibrante que a Adafruit promoveu em torno dele. Voc\u00ea pode conferir o CircuitPython <a href=\"https:\/\/forums.adafruit.com\/viewforum.php?f=60\">f\u00f3rum<\/a> e o <a href=\"https:\/\/adafru.it\/discord\">disc\u00f3rdia<\/a> para ver por si pr\u00f3prio. (Devo salientar que o MicroPython tamb\u00e9m tem um <a href=\"https:\/\/github.com\/orgs\/micropython\/discussions\">f\u00f3rum<\/a> e um <a href=\"https:\/\/discord.com\/invite\/RB8HZSAExQ\">disc\u00f3rdia<\/a>embora muito menos frequente, uma vez que a maior parte da discuss\u00e3o sobre MicroPython ocorre em <a href=\"https:\/\/github.com\/orgs\/micropython\/discussions\">GitHub<\/a>).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se quiseres saber mais sobre o CircuitPython e as suas diferen\u00e7as com o MicroPython (e o CPython), podes consultar <a href=\"https:\/\/docs.circuitpython.org\/en\/latest\/docs\/index.html#\">a sua p\u00e1gina de documenta\u00e7\u00e3o aqui<\/a>. At\u00e9 a sua documenta\u00e7\u00e3o \u00e9 semelhante \u00e0 documenta\u00e7\u00e3o do MicroPython!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Caso contr\u00e1rio, pode ver este v\u00eddeo publicado pela Adafruit:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" hcb-fetch-image-from=\"https:\/\/www.youtube.com\/watch?v=rN7kvWuAt7k\" title=\"CircuitPython: Python em hardware (Dave Astels)\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/rN7kvWuAt7k?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se souber de outras diferen\u00e7as interessantes, diga-nos nos coment\u00e1rios abaixo!<\/p>\n<div class=\"shariff shariff-align-center shariff-widget-align-left shariff-buttonstretch\"><ul class=\"shariff-buttons theme-white orientation-horizontal buttonsize-medium\"><li class=\"shariff-button twitter shariff-nocustomcolor\" style=\"background-color:#595959\"><a href=\"https:\/\/twitter.com\/share?url=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fpt%2Fqual-e-a-diferenca-entre-micropython-circuitpython-cpython-anyway%2F&text=What%E2%80%99s%20the%20difference%20between%20CPython%2C%20MicroPython%2C%20%26%20CircuitPython%20anyway%3F\" title=\"Compartilhar no X\" aria-label=\"Compartilhar no X\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#000; color:#000\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#000\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\"><path fill=\"#000\" d=\"M14.258 10.152L23.176 0h-2.113l-7.747 8.813L7.133 0H0l9.352 13.328L0 23.973h2.113l8.176-9.309 6.531 9.309h7.133zm-2.895 3.293l-.949-1.328L2.875 1.56h3.246l6.086 8.523.945 1.328 7.91 11.078h-3.246zm0 0\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#000\">partilhar<\/span>&nbsp;<\/a><\/li><li class=\"shariff-button facebook shariff-nocustomcolor\" style=\"background-color:#4273c8\"><a href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fpt%2Fqual-e-a-diferenca-entre-micropython-circuitpython-cpython-anyway%2F\" title=\"Partilhar no Facebook\" aria-label=\"Partilhar no Facebook\" role=\"button\" rel=\"nofollow\" class=\"shariff-link\" style=\"; background-color:#3b5998; color:#3b5998\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#3b5998\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 18 32\"><path fill=\"#3b5998\" d=\"M17.1 0.2v4.7h-2.8q-1.5 0-2.1 0.6t-0.5 1.9v3.4h5.2l-0.7 5.3h-4.5v13.6h-5.5v-13.6h-4.5v-5.3h4.5v-3.9q0-3.3 1.9-5.2t5-1.8q2.6 0 4.1 0.2z\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#3b5998\">partilhar<\/span>&nbsp;<\/a><\/li><li class=\"shariff-button telegram shariff-nocustomcolor\" style=\"background-color:#4084A6\"><a href=\"https:\/\/telegram.me\/share\/url?url=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fpt%2Fqual-e-a-diferenca-entre-micropython-circuitpython-cpython-anyway%2F&text=What%E2%80%99s%20the%20difference%20between%20CPython%2C%20MicroPython%2C%20%26%20CircuitPython%20anyway%3F\" title=\"Compartilhar no Telegram\" aria-label=\"Compartilhar no Telegram\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#0088cc; color:#0088cc\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#0088cc\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 32 32\"><path fill=\"#0088cc\" d=\"M30.8 6.5l-4.5 21.4c-.3 1.5-1.2 1.9-2.5 1.2L16.9 24l-3.3 3.2c-.4.4-.7.7-1.4.7l.5-7L25.5 9.2c.6-.5-.1-.8-.9-.3l-15.8 10L2 16.7c-1.5-.5-1.5-1.5.3-2.2L28.9 4.3c1.3-.5 2.3.3 1.9 2.2z\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#0088cc\">partilhar<\/span>&nbsp;<\/a><\/li><li class=\"shariff-button reddit shariff-nocustomcolor\" style=\"background-color:#ff5700\"><a href=\"https:\/\/www.reddit.com\/submit?url=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fpt%2Fqual-e-a-diferenca-entre-micropython-circuitpython-cpython-anyway%2F\" title=\"Compartilhar no Reddit\" aria-label=\"Compartilhar no Reddit\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#ff4500; color:#ff4500\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#ff4500\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 512 512\"><path fill=\"#ff4500\" d=\"M440.3 203.5c-15 0-28.2 6.2-37.9 15.9-35.7-24.7-83.8-40.6-137.1-42.3L293 52.3l88.2 19.8c0 21.6 17.6 39.2 39.2 39.2 22 0 39.7-18.1 39.7-39.7s-17.6-39.7-39.7-39.7c-15.4 0-28.7 9.3-35.3 22l-97.4-21.6c-4.9-1.3-9.7 2.2-11 7.1L246.3 177c-52.9 2.2-100.5 18.1-136.3 42.8-9.7-10.1-23.4-16.3-38.4-16.3-55.6 0-73.8 74.6-22.9 100.1-1.8 7.9-2.6 16.3-2.6 24.7 0 83.8 94.4 151.7 210.3 151.7 116.4 0 210.8-67.9 210.8-151.7 0-8.4-.9-17.2-3.1-25.1 49.9-25.6 31.5-99.7-23.8-99.7zM129.4 308.9c0-22 17.6-39.7 39.7-39.7 21.6 0 39.2 17.6 39.2 39.7 0 21.6-17.6 39.2-39.2 39.2-22 .1-39.7-17.6-39.7-39.2zm214.3 93.5c-36.4 36.4-139.1 36.4-175.5 0-4-3.5-4-9.7 0-13.7 3.5-3.5 9.7-3.5 13.2 0 27.8 28.5 120 29 149 0 3.5-3.5 9.7-3.5 13.2 0 4.1 4 4.1 10.2.1 13.7zm-.8-54.2c-21.6 0-39.2-17.6-39.2-39.2 0-22 17.6-39.7 39.2-39.7 22 0 39.7 17.6 39.7 39.7-.1 21.5-17.7 39.2-39.7 39.2z\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#ff4500\">partilhar<\/span>&nbsp;<\/a><\/li><\/ul><\/div>","protected":false},"excerpt":{"rendered":"<p>CPython, MicroPython, e CircuitPython ocupam um lugar querido no cora\u00e7\u00e3o de muitos engenheiros. Mas nem sempre \u00e9 claro quais s\u00e3o as diferen\u00e7as. E se estiveres a mexer em microcontroladores pela primeira vez, estas distin\u00e7\u00f5es podem ter um papel fundamental na compreens\u00e3o do que se passa com o teu c\u00f3digo. Por isso, neste artigo, eu vou...<\/p>","protected":false},"author":2,"featured_media":4331,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1193],"tags":[1196,477,996,1200,1199,1198,1194,178,597,789,14,826,11,1195,476,187,456,1197],"class_list":["post-4076","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","tag-brython","tag-circuitpython","tag-cpython","tag-execution","tag-implementation","tag-ironpython","tag-jython","tag-memory","tag-microcontroller","tag-microcontrollers","tag-micropython","tag-optimization","tag-pico","tag-pypy","tag-python","tag-raspberry-pi","tag-raspberry-pi-projects","tag-stackless-python"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>What&#039;s the difference between CPython, MicroPython, &amp; CircuitPython anyway? | PiCockpit<\/title>\n<meta name=\"description\" content=\"In this post, we&#039;re looking at what distinguishes CPython from MicroPython and both of them from CircuitPython.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/picockpit.com\/raspberry-pi\/pt\/qual-e-a-diferenca-entre-micropython-circuitpython-cpython-anyway\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What&#039;s the difference between CPython, MicroPython, &amp; CircuitPython anyway? | PiCockpit\" \/>\n<meta property=\"og:description\" content=\"In this post, we&#039;re looking at what distinguishes CPython from MicroPython and both of them from CircuitPython.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/picockpit.com\/raspberry-pi\/pt\/qual-e-a-diferenca-entre-micropython-circuitpython-cpython-anyway\/\" \/>\n<meta property=\"og:site_name\" content=\"PiCockpit\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/pi3gshop\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-18T09:18:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-07-26T14:44:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"raspi berry\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@pi3g\" \/>\n<meta name=\"twitter:site\" content=\"@pi3g\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"raspi berry\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/\"},\"author\":{\"name\":\"raspi berry\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/person\\\/7af3a7a8c999bc722029ef9ca9d78eee\"},\"headline\":\"What&#8217;s the difference between CPython, MicroPython, &#038; CircuitPython anyway?\",\"datePublished\":\"2023-07-18T09:18:54+00:00\",\"dateModified\":\"2023-07-26T14:44:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/\"},\"wordCount\":965,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Micro-Circuit-CPython1.png\",\"keywords\":[\"brython\",\"circuitpython\",\"cpython\",\"execution\",\"implementation\",\"IronPython\",\"jython\",\"memory\",\"microcontroller\",\"microcontrollers\",\"microPython\",\"optimization\",\"Pico\",\"pypy\",\"python\",\"Raspberry Pi\",\"Raspberry Pi projects\",\"stackless python\"],\"articleSection\":[\"Python\"],\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/\",\"name\":\"What's the difference between CPython, MicroPython, & CircuitPython anyway? | PiCockpit\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Micro-Circuit-CPython1.png\",\"datePublished\":\"2023-07-18T09:18:54+00:00\",\"dateModified\":\"2023-07-26T14:44:58+00:00\",\"description\":\"In this post, we're looking at what distinguishes CPython from MicroPython and both of them from CircuitPython.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/#primaryimage\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Micro-Circuit-CPython1.png\",\"contentUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Micro-Circuit-CPython1.png\",\"width\":1200,\"height\":675},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Python\",\"item\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/category\\\/python\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"What&#8217;s the difference between CPython, MicroPython, &#038; CircuitPython anyway?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#website\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/\",\"name\":\"PiCockpit\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#organization\",\"name\":\"PiCockpit.com\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Screenshot-from-2023-07-24-15-01-24.png\",\"contentUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Screenshot-from-2023-07-24-15-01-24.png\",\"width\":1165,\"height\":283,\"caption\":\"PiCockpit.com\"},\"image\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/pi3gshop\",\"https:\\\/\\\/x.com\\\/pi3g\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/person\\\/7af3a7a8c999bc722029ef9ca9d78eee\",\"name\":\"raspi berry\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g\",\"caption\":\"raspi berry\"},\"description\":\"I'm here to help you with all your Raspberry Pi related questions &amp; love to share about new project ideas for the Raspberry Pi, and give quick tips. Of course I'll also help you with PiCockpit and how to make your Raspberry Pi even easier to use with this raspberry pi monitoring solution :-)\",\"sameAs\":[\"https:\\\/\\\/picockpit.com\"],\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/pt\\\/author\\\/raspi-berry\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Qual \u00e9 a diferen\u00e7a entre CPython, MicroPython e CircuitPython? | PiCockpit","description":"Neste post, vamos ver o que distingue o CPython do MicroPython e ambos do CircuitPython.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/picockpit.com\/raspberry-pi\/pt\/qual-e-a-diferenca-entre-micropython-circuitpython-cpython-anyway\/","og_locale":"pt_PT","og_type":"article","og_title":"What's the difference between CPython, MicroPython, & CircuitPython anyway? | PiCockpit","og_description":"In this post, we're looking at what distinguishes CPython from MicroPython and both of them from CircuitPython.","og_url":"https:\/\/picockpit.com\/raspberry-pi\/pt\/qual-e-a-diferenca-entre-micropython-circuitpython-cpython-anyway\/","og_site_name":"PiCockpit","article_publisher":"https:\/\/www.facebook.com\/pi3gshop","article_published_time":"2023-07-18T09:18:54+00:00","article_modified_time":"2023-07-26T14:44:58+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1.png","type":"image\/png"}],"author":"raspi berry","twitter_card":"summary_large_image","twitter_creator":"@pi3g","twitter_site":"@pi3g","twitter_misc":{"Escrito por":"raspi berry","Tempo estimado de leitura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/#article","isPartOf":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/"},"author":{"name":"raspi berry","@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/person\/7af3a7a8c999bc722029ef9ca9d78eee"},"headline":"What&#8217;s the difference between CPython, MicroPython, &#038; CircuitPython anyway?","datePublished":"2023-07-18T09:18:54+00:00","dateModified":"2023-07-26T14:44:58+00:00","mainEntityOfPage":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/"},"wordCount":965,"commentCount":0,"publisher":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#organization"},"image":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/#primaryimage"},"thumbnailUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1.png","keywords":["brython","circuitpython","cpython","execution","implementation","IronPython","jython","memory","microcontroller","microcontrollers","microPython","optimization","Pico","pypy","python","Raspberry Pi","Raspberry Pi projects","stackless python"],"articleSection":["Python"],"inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/","url":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/","name":"Qual \u00e9 a diferen\u00e7a entre CPython, MicroPython e CircuitPython? | PiCockpit","isPartOf":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#website"},"primaryImageOfPage":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/#primaryimage"},"image":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/#primaryimage"},"thumbnailUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1.png","datePublished":"2023-07-18T09:18:54+00:00","dateModified":"2023-07-26T14:44:58+00:00","description":"Neste post, vamos ver o que distingue o CPython do MicroPython e ambos do CircuitPython.","breadcrumb":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/#primaryimage","url":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1.png","contentUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1.png","width":1200,"height":675},{"@type":"BreadcrumbList","@id":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/picockpit.com\/raspberry-pi\/"},{"@type":"ListItem","position":2,"name":"Python","item":"https:\/\/picockpit.com\/raspberry-pi\/category\/python\/"},{"@type":"ListItem","position":3,"name":"What&#8217;s the difference between CPython, MicroPython, &#038; CircuitPython anyway?"}]},{"@type":"WebSite","@id":"https:\/\/picockpit.com\/raspberry-pi\/#website","url":"https:\/\/picockpit.com\/raspberry-pi\/","name":"PiCockpit","description":"","publisher":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/picockpit.com\/raspberry-pi\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/picockpit.com\/raspberry-pi\/#organization","name":"PiCockpit.com","url":"https:\/\/picockpit.com\/raspberry-pi\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/logo\/image\/","url":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-24-15-01-24.png","contentUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-24-15-01-24.png","width":1165,"height":283,"caption":"PiCockpit.com"},"image":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/pi3gshop","https:\/\/x.com\/pi3g"]},{"@type":"Person","@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/person\/7af3a7a8c999bc722029ef9ca9d78eee","name":"baga de framboesa","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/secure.gravatar.com\/avatar\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g","caption":"raspi berry"},"description":"Estou aqui para ajud\u00e1-lo com todas as suas perguntas relacionadas com o Raspberry Pi e adoro compartilhar sobre novas id\u00e9ias de projetos para o Raspberry Pi, e dar dicas r\u00e1pidas. Claro que tamb\u00e9m o ajudarei com o PiCockpit e como tornar o seu Raspberry Pi ainda mais f\u00e1cil de usar com esta solu\u00e7\u00e3o de monitoriza\u00e7\u00e3o do raspberry Pi :-)","sameAs":["https:\/\/picockpit.com"],"url":"https:\/\/picockpit.com\/raspberry-pi\/pt\/author\/raspi-berry\/"}]}},"_links":{"self":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/posts\/4076","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/comments?post=4076"}],"version-history":[{"count":24,"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/posts\/4076\/revisions"}],"predecessor-version":[{"id":4332,"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/posts\/4076\/revisions\/4332"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/media\/4331"}],"wp:attachment":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/media?parent=4076"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/categories?post=4076"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/pt\/wp-json\/wp\/v2\/tags?post=4076"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}