[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"post:\u002Fpost\u002Fpython-variables-a-practical-guide-for-beginners":3,"categories-en":738},{"post":4,"related":664,"translations":736,"resolved":17},{"id":5,"slug":6,"title":7,"excerpt":8,"image":9,"featured":10,"groupId":11,"publishedAt":12,"readingTime":13,"views":14,"author":15,"category":18,"tags":22,"contentJson":29,"metaTitle":7,"metaDescription":662,"updatedAt":663},"c2774fb6-7f89-40e4-b516-d0b960798885","python-variables-a-practical-guide-for-beginners","Python Variables: A Practical Guide for Beginners","Learn what Python variables are, how to assign values, understand data types, and follow best practices for naming in your code.","https:\u002F\u002Fmfgiomkkbihnlpfdxwrt.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fblog-assets\u002Fmedia\u002Ffeatured\u002F1771379201744-featured-hv9g7g.jpeg",false,"c3ef4f30-1a67-4d0d-a8b7-d130429cb362","2026-06-24T15:43:38.986832+00:00",6,0,{"name":16,"avatar":17},"Genildo Souza",null,{"slug":19,"name":20,"color":21},"code-development","Code & Development","#8b5cf6",[23,26],{"slug":24,"name":25},"django","Django",{"slug":27,"name":28},"python","Python",{"type":30,"content":31},"doc",[32,44,53,60,66,74,80,87,111,117,146,152,159,176,182,188,195,200,206,213,225,232,239,245,252,264,270,276,320,327,333,345,352,358,381,388,416,422,428,435,451,457,469,476,486,492,497,505,512,529,537,544,565,572,580,587,597,608,614,622,659],{"type":33,"attrs":34},"summaryBox",{"id":35,"items":36,"title":43},"sum_gy9b670y",[37,38,39,40,41,42],"Variables act as names that point to values in memory, using the equals sign for assignment.","Python automatically identifies the data type, such as str, int, float, or bool, without the need for explicit declaration.","The Python community convention is to use snake_case for variable names and UPPER_CASE to indicate constants.","Choose descriptive names for your variables, as code should be readable for humans and not just for the machine.","Avoid common errors like NameError by ensuring the variable is defined before it is used in the code.","Use f-strings to automatically convert types when combining text with numbers, avoiding TypeError errors.","Practical Guide to Python Variables",{"type":45,"attrs":46,"content":49},"codeBlock",{"id":47,"language":17,"highlighted":48},"code_2albljzd","\u003Cpre class=\"shiki shiki-themes github-light github-dark\" style=\"--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6F42C1;--shiki-dark:#B392F0\">NameError\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">: name \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\">'nome'\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\"> is not defined\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",[50],{"text":51,"type":52},"NameError: name 'nome' is not defined\n","text",{"type":54,"attrs":55,"content":57},"paragraph",{"id":56},"p_kcxon361",[58],{"text":59,"type":52},"This is probably the first error that appears for those starting to write Python. It doesn't appear because the code's logic is wrong — it appears because Python tried to use a name that hasn't been introduced to it yet.",{"type":54,"attrs":61,"content":63},{"id":62},"p_84fxfd3p",[64],{"text":65,"type":52},"Variables are exactly that introduction. This article explains how to do it correctly.",{"type":67,"attrs":68,"content":71},"heading",{"id":69,"level":70},"h_bad75eu7",2,[72],{"text":73,"type":52},"What is a variable",{"type":54,"attrs":75,"content":77},{"id":76},"p_9h16v7em",[78],{"text":79,"type":52},"A variable is a name that points to a value stored in memory. When you write:",{"type":45,"attrs":81,"content":84},{"id":82,"language":27,"highlighted":83},"code_hebm3khv","\u003Cpre class=\"shiki shiki-themes github-light github-dark\" style=\"--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">idade \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\"> 25\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",[85],{"text":86,"type":52},"idade = 25\n",{"type":54,"attrs":88,"content":90},{"id":89},"p_bxsxtue5",[91,93,98,100,104,106,109],{"text":92,"type":52},"Three things happen: the value ",{"text":94,"type":52,"marks":95},"25",[96],{"type":97},"code",{"text":99,"type":52}," is created in memory, the name ",{"text":101,"type":52,"marks":102},"idade",[103],{"type":97},{"text":105,"type":52}," is registered, and that name starts pointing to that value. From that point on, whenever Python encounters ",{"text":101,"type":52,"marks":107},[108],{"type":97},{"text":110,"type":52}," in the code, it will look for the value that the name references.",{"type":112,"attrs":113},"svgDiagram",{"id":114,"svg":115,"label":116},"svg_var_memory","\u003Csvg viewBox=\"0 0 680 140\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" font-family=\"'Inter','Segoe UI',sans-serif\">\n  \u003Crect x=\"40\" y=\"40\" width=\"140\" height=\"60\" rx=\"6\" fill=\"rgba(59,130,246,0.08)\" stroke=\"#3b82f6\" stroke-width=\"1.5\"\u002F>\n  \u003Ctext x=\"110\" y=\"65\" text-anchor=\"middle\" font-size=\"11\" fill=\"#3b82f6\" font-weight=\"700\">nome: idade\u003C\u002Ftext>\n  \u003Ctext x=\"110\" y=\"85\" text-anchor=\"middle\" font-size=\"10\" fill=\"#64748b\">variável\u003C\u002Ftext>\n  \u003Cline x1=\"180\" y1=\"70\" x2=\"280\" y2=\"70\" stroke=\"#06b6d4\" stroke-width=\"1.5\" marker-end=\"url(#arr-v1)\" stroke-dasharray=\"5 3\"\u002F>\n  \u003Ctext x=\"230\" y=\"62\" text-anchor=\"middle\" font-size=\"10\" fill=\"#06b6d4\">aponta para\u003C\u002Ftext>\n  \u003Crect x=\"280\" y=\"40\" width=\"140\" height=\"60\" rx=\"6\" fill=\"rgba(16,185,129,0.08)\" stroke=\"#10b981\" stroke-width=\"1.5\"\u002F>\n  \u003Ctext x=\"350\" y=\"65\" text-anchor=\"middle\" font-size=\"11\" fill=\"#10b981\" font-weight=\"700\">25\u003C\u002Ftext>\n  \u003Ctext x=\"350\" y=\"85\" text-anchor=\"middle\" font-size=\"10\" fill=\"#64748b\">valor na memória\u003C\u002Ftext>\n  \u003Ctext x=\"110\" y=\"120\" text-anchor=\"middle\" font-size=\"10\" fill=\"#64748b\">idade = 25\u003C\u002Ftext>\n  \u003Ctext x=\"350\" y=\"120\" text-anchor=\"middle\" font-size=\"10\" fill=\"#64748b\">int\u003C\u002Ftext>\n  \u003Cdefs>\u003Cmarker id=\"arr-v1\" markerWidth=\"6\" markerHeight=\"6\" refX=\"3\" refY=\"3\" orient=\"auto\">\u003Cpath d=\"M0,0 L0,6 L6,3 z\" fill=\"#06b6d4\"\u002F>\u003C\u002Fmarker>\u003C\u002Fdefs>\n\u003C\u002Fsvg>","Diagram — How a variable points to a value in memory",{"type":54,"attrs":118,"content":120},{"id":119},"p_l2lte0fg",[121,123,127,129,134,136,139,141,144],{"text":122,"type":52},"The ",{"text":124,"type":52,"marks":125},"=",[126],{"type":97},{"text":128,"type":52}," sign here is not mathematical equality. It is ",{"text":130,"type":52,"marks":131},"assignment",[132],{"type":133},"bold",{"text":135,"type":52},". Read it as: \"the name ",{"text":101,"type":52,"marks":137},[138],{"type":97},{"text":140,"type":52}," receives the value ",{"text":94,"type":52,"marks":142},[143],{"type":97},{"text":145,"type":52},"\".",{"type":54,"attrs":147,"content":149},{"id":148},"p_nc8fqt1z",[150],{"text":151,"type":52},"This explains why the line below — which would be impossible in mathematics — is perfectly valid in Python:",{"type":45,"attrs":153,"content":156},{"id":154,"language":27,"highlighted":155},"code_hffa9u08","\u003Cpre class=\"shiki shiki-themes github-light github-dark\" style=\"--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">contador \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\"> 0\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">contador \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\"> contador \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">+\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\"> 1\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\"># contador agora vale 1\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",[157],{"text":158,"type":52},"contador = 0\ncontador = contador + 1\n# contador agora vale 1\n",{"type":54,"attrs":160,"content":162},{"id":161},"p_wluy64xd",[163,165,169,171,174],{"text":164,"type":52},"Python reads the right side first: it takes the current value of ",{"text":166,"type":52,"marks":167},"contador",[168],{"type":97},{"text":170,"type":52}," (0), adds 1, and assigns the result (1) back to the name ",{"text":166,"type":52,"marks":172},[173],{"type":97},{"text":175,"type":52},".",{"type":67,"attrs":177,"content":179},{"id":178,"level":70},"h_s6wtvxc7",[180],{"text":181,"type":52},"Basic data types",{"type":54,"attrs":183,"content":185},{"id":184},"p_5t0rqr6z",[186],{"text":187,"type":52},"The value a variable stores has a type. Python identifies the type automatically from the value you assigned — no need to declare it.",{"type":45,"attrs":189,"content":192},{"id":190,"language":27,"highlighted":191},"code_shd2ca6w","\u003Cpre class=\"shiki shiki-themes github-light github-dark\" style=\"--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">nome \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\"> \"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">Ana\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\">\"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\">          # str (texto)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">idade \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\"> 28\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\">            # int (número inteiro)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">altura \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\"> 1.65\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\">         # float (número decimal)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">ativo \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\"> True\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\">          # bool (verdadeiro ou falso)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",[193],{"text":194,"type":52},"nome = \"Ana\"          # str (texto)\nidade = 28            # int (número inteiro)\naltura = 1.65         # float (número decimal)\nativo = True          # bool (verdadeiro ou falso)\n",{"type":112,"attrs":196},{"id":197,"svg":198,"label":199},"svg_types","\u003Csvg viewBox=\"0 0 680 100\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" font-family=\"'Inter','Segoe UI',sans-serif\">\n  \u003Crect x=\"20\" y=\"20\" width=\"140\" height=\"60\" rx=\"6\" fill=\"rgba(59,130,246,0.08)\" stroke=\"#3b82f6\" stroke-width=\"1.5\"\u002F>\n  \u003Ctext x=\"90\" y=\"45\" text-anchor=\"middle\" font-size=\"12\" fill=\"#3b82f6\" font-weight=\"700\">str\u003C\u002Ftext>\n  \u003Ctext x=\"90\" y=\"63\" text-anchor=\"middle\" font-size=\"10\" fill=\"#64748b\">\"Ana\", \"Python\"\u003C\u002Ftext>\n  \u003Crect x=\"180\" y=\"20\" width=\"140\" height=\"60\" rx=\"6\" fill=\"rgba(16,185,129,0.08)\" stroke=\"#10b981\" stroke-width=\"1.5\"\u002F>\n  \u003Ctext x=\"250\" y=\"45\" text-anchor=\"middle\" font-size=\"12\" fill=\"#10b981\" font-weight=\"700\">int\u003C\u002Ftext>\n  \u003Ctext x=\"250\" y=\"63\" text-anchor=\"middle\" font-size=\"10\" fill=\"#64748b\">28, -5, 0\u003C\u002Ftext>\n  \u003Crect x=\"340\" y=\"20\" width=\"140\" height=\"60\" rx=\"6\" fill=\"rgba(245,158,11,0.08)\" stroke=\"#f59e0b\" stroke-width=\"1.5\"\u002F>\n  \u003Ctext x=\"410\" y=\"45\" text-anchor=\"middle\" font-size=\"12\" fill=\"#f59e0b\" font-weight=\"700\">float\u003C\u002Ftext>\n  \u003Ctext x=\"410\" y=\"63\" text-anchor=\"middle\" font-size=\"10\" fill=\"#64748b\">1.65, 3.14\u003C\u002Ftext>\n  \u003Crect x=\"500\" y=\"20\" width=\"140\" height=\"60\" rx=\"6\" fill=\"rgba(139,92,246,0.08)\" stroke=\"#8b5cf6\" stroke-width=\"1.5\"\u002F>\n  \u003Ctext x=\"570\" y=\"45\" text-anchor=\"middle\" font-size=\"12\" fill=\"#8b5cf6\" font-weight=\"700\">bool\u003C\u002Ftext>\n  \u003Ctext x=\"570\" y=\"63\" text-anchor=\"middle\" font-size=\"10\" fill=\"#64748b\">True, False\u003C\u002Ftext>\n\u003C\u002Fsvg>","Diagram — The 4 basic Python types",{"type":54,"attrs":201,"content":203},{"id":202},"p_v7uke2am",[204],{"text":205,"type":52},"Each type has its own behaviors. Adding two numbers works differently than adding two strings:",{"type":45,"attrs":207,"content":210},{"id":208,"language":27,"highlighted":209},"code_52aqvnt1","\u003Cpre class=\"shiki shiki-themes github-light github-dark\" style=\"--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\"># soma numérica\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">a \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\"> 10\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">b \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\"> 5\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\">print\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">(a \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">+\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\"> b)   \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\"># 15\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\"># concatenação de texto\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">primeiro \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\"> \"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">Ana\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\">\"\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">ultimo \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\"> \"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">Lima\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\">\"\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\">print\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">(primeiro \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">+\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\"> \"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\"> \"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\"> +\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\"> ultimo)   \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\"># Ana Lima\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",[211],{"text":212,"type":52},"# soma numérica\na = 10\nb = 5\nprint(a + b)   # 15\n\n# concatenação de texto\nprimeiro = \"Ana\"\nultimo = \"Lima\"\nprint(primeiro + \" \" + ultimo)   # Ana Lima\n",{"type":54,"attrs":214,"content":216},{"id":215},"p_58co77oa",[217,219,223],{"text":218,"type":52},"To know the type of a variable, use ",{"text":220,"type":52,"marks":221},"type()",[222],{"type":97},{"text":224,"type":52},":",{"type":45,"attrs":226,"content":229},{"id":227,"language":27,"highlighted":228},"code_1bab4mo0","\u003Cpre class=\"shiki shiki-themes github-light github-dark\" style=\"--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\">print\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">(\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\">type\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">(nome))    \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\"># &#x3C;class 'str'>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\">print\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">(\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\">type\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">(idade))   \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\"># &#x3C;class 'int'>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\">print\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">(\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\">type\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">(altura))  \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\"># &#x3C;class 'float'>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\">print\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">(\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\">type\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">(ativo))   \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\"># &#x3C;class 'bool'>\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",[230],{"text":231,"type":52},"print(type(nome))    # \u003Cclass 'str'>\nprint(type(idade))   # \u003Cclass 'int'>\nprint(type(altura))  # \u003Cclass 'float'>\nprint(type(ativo))   # \u003Cclass 'bool'>\n",{"type":67,"attrs":233,"content":236},{"id":234,"level":235},"h_r7xf8qt6",3,[237],{"text":238,"type":52},"Python is dynamically typed",{"type":54,"attrs":240,"content":242},{"id":241},"p_bs46x6fl",[243],{"text":244,"type":52},"In Python, a variable can change its type throughout the code. This is possible — but rarely a good idea:",{"type":45,"attrs":246,"content":249},{"id":247,"language":27,"highlighted":248},"code_dsc1hcrf","\u003Cpre class=\"shiki shiki-themes github-light github-dark\" style=\"--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">x \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\"> 10\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\">       # x é int\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">x \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\"> \"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">dez\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\">\"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\">   # x agora é str\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\"># isso funciona, mas confunde quem lê o código\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",[250],{"text":251,"type":52},"x = 10       # x é int\nx = \"dez\"   # x agora é str\n\n# isso funciona, mas confunde quem lê o código\n",{"type":253,"attrs":254,"content":257},"callout",{"id":255,"type":256,"title":17},"call_typing","tip",[258],{"type":54,"attrs":259,"content":261},{"id":260},"p_typing_inner",[262],{"text":263,"type":52},"A variable's type should reflect what it represents. If a name changes its type in the middle of the code, it is probably doing too much.",{"type":67,"attrs":265,"content":267},{"id":266,"level":70},"h_f6bvlg4q",[268],{"text":269,"type":52},"Rules for naming variables",{"type":54,"attrs":271,"content":273},{"id":272},"p_9f1qdebg",[274],{"text":275,"type":52},"Python accepts any name that follows three rules:",{"type":277,"attrs":278,"content":282},"orderedList",{"id":279,"type":17,"start":280,"tight":281},"ol_345uv6p8",1,true,[283,300,310],{"type":284,"attrs":285,"content":287},"listItem",{"id":286},"li_pjuqdfyz",[288],{"type":54,"attrs":289,"content":291},{"id":290},"p_nvi3zzdm",[292,294,298],{"text":293,"type":52},"Starts with a letter or underscore (",{"text":295,"type":52,"marks":296},"_",[297],{"type":97},{"text":299,"type":52},")",{"type":284,"attrs":301,"content":303},{"id":302},"li_ampi66zo",[304],{"type":54,"attrs":305,"content":307},{"id":306},"p_1ftbo3b4",[308],{"text":309,"type":52},"Contains only letters, numbers, and underscores",{"type":284,"attrs":311,"content":313},{"id":312},"li_a0roysez",[314],{"type":54,"attrs":315,"content":317},{"id":316},"p_e4f8vmk6",[318],{"text":319,"type":52},"Is not a reserved Python keyword",{"type":45,"attrs":321,"content":324},{"id":322,"language":27,"highlighted":323},"code_owt5xqpu","\u003Cpre class=\"shiki shiki-themes github-light github-dark\" style=\"--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\"># ✅ nomes válidos\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">nome \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\"> \"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">Carlos\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\">\"\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">idade_usuario \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\"> 30\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">_interno \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\"> True\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">valor1 \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\"> 100\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\"># ❌ nomes inválidos\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic\">1nome\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\"> =\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\"> \"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">erro\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\">\"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\">         # começa com número\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">nome\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">-\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">usuario \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\"> \"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">erro\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\">\"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\">  # hífen não é permitido\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">for\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\"> = \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\">\"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">erro\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\">\"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\">           # palavra reservada do Python\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",[325],{"text":326,"type":52},"# ✅ nomes válidos\nnome = \"Carlos\"\nidade_usuario = 30\n_interno = True\nvalor1 = 100\n\n# ❌ nomes inválidos\n1nome = \"erro\"         # começa com número\nnome-usuario = \"erro\"  # hífen não é permitido\nfor = \"erro\"           # palavra reservada do Python\n",{"type":67,"attrs":328,"content":330},{"id":329,"level":235},"h_d9yq3c8d",[331],{"text":332,"type":52},"Convention: snake_case",{"type":54,"attrs":334,"content":336},{"id":335},"p_zovr5frb",[337,339,343],{"text":338,"type":52},"Python uses ",{"text":340,"type":52,"marks":341},"snake_case",[342],{"type":97},{"text":344,"type":52}," by default: lowercase words separated by underscores. This is not mandatory by the language, but it is the community standard — and following the standard makes the code more readable for anyone accustomed to Python.",{"type":45,"attrs":346,"content":349},{"id":347,"language":27,"highlighted":348},"code_ove7cxxt","\u003Cpre class=\"shiki shiki-themes github-light github-dark\" style=\"--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\"># ✅ padrão Python\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">nome_completo \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\"> \"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">Ana Lima\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\">\"\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">total_de_itens \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\"> 42\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">data_de_nascimento \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\"> \"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\">1995\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">-\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\">0\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic\">4\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">-\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\">12\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\">\"\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\"># ❌ foge do padrão (funciona, mas destoa)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">nomeCompleto \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\"> \"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">Ana Lima\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\">\"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\">    # camelCase (comum em outras linguagens)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">NomeCompleto \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\"> \"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">Ana Lima\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\">\"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\">    # PascalCase (usado para classes em Python)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",[350],{"text":351,"type":52},"# ✅ padrão Python\nnome_completo = \"Ana Lima\"\ntotal_de_itens = 42\ndata_de_nascimento = \"1995-04-12\"\n\n# ❌ foge do padrão (funciona, mas destoa)\nnomeCompleto = \"Ana Lima\"    # camelCase (comum em outras linguagens)\nNomeCompleto = \"Ana Lima\"    # PascalCase (usado para classes em Python)\n",{"type":67,"attrs":353,"content":355},{"id":354,"level":70},"h_o3qtiskj",[356],{"text":357,"type":52},"Good names matter more than it seems",{"type":54,"attrs":359,"content":361},{"id":360},"p_92lbnh0n",[362,364,368,370,374,375,379],{"text":363,"type":52},"The computer doesn't care about a variable's name. ",{"text":365,"type":52,"marks":366},"x",[367],{"type":97},{"text":369,"type":52},", ",{"text":371,"type":52,"marks":372},"dado",[373],{"type":97},{"text":369,"type":52},{"text":376,"type":52,"marks":377},"valor_final_calculado",[378],{"type":97},{"text":380,"type":52}," — to it, they are all the same. The name is for whoever reads the code.",{"type":45,"attrs":382,"content":385},{"id":383,"language":27,"highlighted":384},"code_x6t0mvk4","\u003Cpre class=\"shiki shiki-themes github-light github-dark\" style=\"--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\"># ❌ o que isso calcula?\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">r \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\"> p \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">*\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\"> (\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\">1\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\"> +\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\"> t) \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">**\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\"> n\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\"># ✅ agora ficou claro\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">montante \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\"> principal \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">*\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\"> (\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\">1\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\"> +\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\"> taxa) \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">**\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\"> periodo\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",[386],{"text":387,"type":52},"# ❌ o que isso calcula?\nr = p * (1 + t) ** n\n\n# ✅ agora ficou claro\nmontante = principal * (1 + taxa) ** periodo\n",{"type":253,"attrs":389,"content":391},{"id":390,"type":256,"title":17},"call_names",[392],{"type":54,"attrs":393,"content":395},{"id":394},"p_names_inner",[396,398,402,404,408,410,414],{"text":397,"type":52},"A good name describes what the variable ",{"text":399,"type":52,"marks":400},"contains",[401],{"type":133},{"text":403,"type":52},", not how it was calculated. ",{"text":405,"type":52,"marks":406},"total",[407],{"type":97},{"text":409,"type":52}," is better than ",{"text":411,"type":52,"marks":412},"resultado_da_soma",[413],{"type":97},{"text":415,"type":52},". Prefer the content.",{"type":67,"attrs":417,"content":419},{"id":418,"level":70},"h_uwqdzzrt",[420],{"text":421,"type":52},"Multiple assignment",{"type":54,"attrs":423,"content":425},{"id":424},"p_ena2rlz7",[426],{"text":427,"type":52},"Python allows assigning values to multiple variables at the same time:",{"type":45,"attrs":429,"content":432},{"id":430,"language":27,"highlighted":431},"code_c0p953tk","\u003Cpre class=\"shiki shiki-themes github-light github-dark\" style=\"--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\"># atribuir o mesmo valor a múltiplas variáveis\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">a \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\"> b \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\"> c \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\"> 0\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\"># atribuir valores diferentes em uma linha\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">nome, idade, cidade \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\"> \"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">Ana\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\">\"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\">28\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\">\"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">São Paulo\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\">\"\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\">print\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">(nome)    \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\"># Ana\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\">print\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">(idade)   \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\"># 28\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\">print\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">(cidade)  \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\"># São Paulo\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",[433],{"text":434,"type":52},"# atribuir o mesmo valor a múltiplas variáveis\na = b = c = 0\n\n# atribuir valores diferentes em uma linha\nnome, idade, cidade = \"Ana\", 28, \"São Paulo\"\n\nprint(nome)    # Ana\nprint(idade)   # 28\nprint(cidade)  # São Paulo\n",{"type":253,"attrs":436,"content":439},{"id":437,"type":438,"title":17},"call_unpack","info",[440],{"type":54,"attrs":441,"content":443},{"id":442},"p_unpack_inner",[444,446,450],{"text":445,"type":52},"Unpacking requires the number of variables to equal the number of values. If they don't match, Python raises a ",{"text":447,"type":52,"marks":448},"ValueError",[449],{"type":97},{"text":175,"type":52},{"type":67,"attrs":452,"content":454},{"id":453,"level":70},"h_u7m9eui1",[455],{"text":456,"type":52},"Constants: values that should not change",{"type":54,"attrs":458,"content":460},{"id":459},"p_1ecw6fk4",[461,463,467],{"text":462,"type":52},"Python doesn't have true constants — the language doesn't prevent a value from being reassigned. The convention is to use names in ",{"text":464,"type":52,"marks":465},"UPPER_CASE",[466],{"type":97},{"text":468,"type":52}," to signal that the value should not be changed:",{"type":45,"attrs":470,"content":473},{"id":471,"language":27,"highlighted":472},"code_5q0l5mpn","\u003Cpre class=\"shiki shiki-themes github-light github-dark\" style=\"--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\">TAXA_DE_JUROS\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\"> =\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\"> 0.12\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\">LIMITE_MAXIMO\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\"> =\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\"> 1000\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\">PI\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\"> =\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\"> 3.14159\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",[474],{"text":475,"type":52},"TAXA_DE_JUROS = 0.12\nLIMITE_MAXIMO = 1000\nPI = 3.14159\n",{"type":253,"attrs":477,"content":479},{"id":478,"type":438,"title":17},"call_const",[480],{"type":54,"attrs":481,"content":483},{"id":482},"p_const_inner",[484],{"text":485,"type":52},"Any dev who sees an uppercase name understands that the value is a configuration constant — and that changing it in the middle of the code would be a mistake.",{"type":67,"attrs":487,"content":489},{"id":488,"level":70},"h_yg7x6wjm",[490],{"text":491,"type":52},"Common errors with variables",{"type":112,"attrs":493},{"id":494,"svg":495,"label":496},"svg_errors","\u003Csvg viewBox=\"0 0 680 120\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" font-family=\"'Inter','Segoe UI',sans-serif\">\n  \u003Crect x=\"20\" y=\"20\" width=\"200\" height=\"80\" rx=\"6\" fill=\"rgba(239,68,68,0.08)\" stroke=\"#ef4444\" stroke-width=\"1.5\"\u002F>\n  \u003Ctext x=\"120\" y=\"48\" text-anchor=\"middle\" font-size=\"11\" fill=\"#ef4444\" font-weight=\"700\">NameError\u003C\u002Ftext>\n  \u003Ctext x=\"120\" y=\"66\" text-anchor=\"middle\" font-size=\"10\" fill=\"#94a3b8\">variável usada\u003C\u002Ftext>\n  \u003Ctext x=\"120\" y=\"82\" text-anchor=\"middle\" font-size=\"10\" fill=\"#94a3b8\">antes de ser criada\u003C\u002Ftext>\n  \u003Crect x=\"240\" y=\"20\" width=\"200\" height=\"80\" rx=\"6\" fill=\"rgba(245,158,11,0.08)\" stroke=\"#f59e0b\" stroke-width=\"1.5\"\u002F>\n  \u003Ctext x=\"340\" y=\"48\" text-anchor=\"middle\" font-size=\"11\" fill=\"#f59e0b\" font-weight=\"700\">TypeError\u003C\u002Ftext>\n  \u003Ctext x=\"340\" y=\"66\" text-anchor=\"middle\" font-size=\"10\" fill=\"#94a3b8\">operação entre tipos\u003C\u002Ftext>\n  \u003Ctext x=\"340\" y=\"82\" text-anchor=\"middle\" font-size=\"10\" fill=\"#94a3b8\">incompatíveis\u003C\u002Ftext>\n  \u003Crect x=\"460\" y=\"20\" width=\"200\" height=\"80\" rx=\"6\" fill=\"rgba(139,92,246,0.08)\" stroke=\"#8b5cf6\" stroke-width=\"1.5\"\u002F>\n  \u003Ctext x=\"560\" y=\"48\" text-anchor=\"middle\" font-size=\"11\" fill=\"#8b5cf6\" font-weight=\"700\">Escopo\u003C\u002Ftext>\n  \u003Ctext x=\"560\" y=\"66\" text-anchor=\"middle\" font-size=\"10\" fill=\"#94a3b8\">variável criada dentro\u003C\u002Ftext>\n  \u003Ctext x=\"560\" y=\"82\" text-anchor=\"middle\" font-size=\"10\" fill=\"#94a3b8\">da função não existe fora\u003C\u002Ftext>\n\u003C\u002Fsvg>","Diagram — The 3 most common errors with variables",{"type":54,"attrs":498,"content":500},{"id":499},"p_zt4e538u",[501],{"text":502,"type":52,"marks":503},"NameError — variable used before being defined:",[504],{"type":133},{"type":45,"attrs":506,"content":509},{"id":507,"language":27,"highlighted":508},"code_trmpdkzo","\u003Cpre class=\"shiki shiki-themes github-light github-dark\" style=\"--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\">print\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">(nome)        \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\"># NameError: name 'nome' is not defined\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">nome \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\"> \"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">Carlos\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\">\"\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",[510],{"text":511,"type":52},"print(nome)        # NameError: name 'nome' is not defined\nnome = \"Carlos\"\n",{"type":253,"attrs":513,"content":516},{"id":514,"type":515,"title":17},"call_nameerror","danger",[517],{"type":54,"attrs":518,"content":520},{"id":519},"p_nameerror_inner",[521,523,527],{"text":522,"type":52},"Python executes line by line. ",{"text":524,"type":52,"marks":525},"nome",[526],{"type":97},{"text":528,"type":52}," must exist before being used — without exception.",{"type":54,"attrs":530,"content":532},{"id":531},"p_74qqiyv3",[533],{"text":534,"type":52,"marks":535},"TypeError — operation with incompatible types:",[536],{"type":133},{"type":45,"attrs":538,"content":541},{"id":539,"language":27,"highlighted":540},"code_hxlfgb3m","\u003Cpre class=\"shiki shiki-themes github-light github-dark\" style=\"--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">idade \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\"> 28\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">mensagem \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\"> \"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">Minha idade é \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\">\"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\"> +\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\"> idade\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\"># TypeError: can only concatenate str (not \"int\") to str\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",[542],{"text":543,"type":52},"idade = 28\nmensagem = \"Minha idade é \" + idade\n# TypeError: can only concatenate str (not \"int\") to str\n",{"type":253,"attrs":545,"content":547},{"id":546,"type":256,"title":17},"call_typeerror",[548],{"type":54,"attrs":549,"content":551},{"id":550},"p_typeerror_inner",[552,554,558,560,564],{"text":553,"type":52},"To concatenate a number with text, convert it with ",{"text":555,"type":52,"marks":556},"str()",[557],{"type":97},{"text":559,"type":52}," — or use an f-string, which converts automatically: ",{"text":561,"type":52,"marks":562},"f\"Minha idade é {idade}\"",[563],{"type":97},{"text":175,"type":52},{"type":45,"attrs":566,"content":569},{"id":567,"language":27,"highlighted":568},"code_vaisj2y7","\u003Cpre class=\"shiki shiki-themes github-light github-dark\" style=\"--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">mensagem \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\"> \"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">Minha idade é \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\">\"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\"> +\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\"> str\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">(idade)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\"># ou use f-string, que converte automaticamente:\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">mensagem \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\"> f\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\">\"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">Minha idade é {idade}\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\">\"\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",[570],{"text":571,"type":52},"mensagem = \"Minha idade é \" + str(idade)\n# ou use f-string, que converte automaticamente:\nmensagem = f\"Minha idade é {idade}\"\n",{"type":54,"attrs":573,"content":575},{"id":574},"p_z006yb85",[576],{"text":577,"type":52,"marks":578},"Variable out of scope:",[579],{"type":133},{"type":45,"attrs":581,"content":584},{"id":582,"language":27,"highlighted":583},"code_qxzdmezf","\u003Cpre class=\"shiki shiki-themes github-light github-dark\" style=\"--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">def\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#6F42C1;--shiki-dark:#B392F0\"> saudacao\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">():\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">    texto \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#D73A49;--shiki-dark:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\"> \"\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">Olá\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#032F62;--shiki-dark:#9ECBFF\">\"\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"--shiki-light:#005CC5;--shiki-dark:#79B8FF\">print\u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#24292E;--shiki-dark:#E1E4E8\">(texto)   \u003C\u002Fspan>\u003Cspan style=\"--shiki-light:#6A737D;--shiki-dark:#6A737D\"># NameError: name 'texto' is not defined\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",[585],{"text":586,"type":52},"def saudacao():\n    texto = \"Olá\"\n\nprint(texto)   # NameError: name 'texto' is not defined\n",{"type":253,"attrs":588,"content":590},{"id":589,"type":438,"title":17},"call_scope",[591],{"type":54,"attrs":592,"content":594},{"id":593},"p_scope_inner",[595],{"text":596,"type":52},"Variables created inside functions exist only within them. This concept is scope — and it is the next natural step after mastering variables.",{"type":33,"attrs":598},{"id":599,"items":600,"title":607},"sum_python_vars",[601,602,603,604,605,606],"A variable is a name that points to a value. = is assignment, not mathematical equality.","Python identifies the type automatically: str, int, float, bool.","Use type() to check the type of any value.","Names in snake_case, descriptive and without obscure abbreviations.","UPPER_CASE signals a constant by convention — it is not enforced by the language.","NameError: variable used before being created. TypeError: incompatible operation between types.","Key takeaways",{"type":54,"attrs":609,"content":611},{"id":610},"p_d2pzfsh4",[612],{"text":613,"type":52},"A well-named variable is documentation. The code you write today will be read by someone tomorrow — and that someone, most of the time, is yourself.",{"type":54,"attrs":615,"content":617},{"id":616},"p_zevd23vg",[618],{"text":619,"type":52,"marks":620},"References",[621],{"type":133},{"type":623,"attrs":624,"content":626},"bulletList",{"id":625,"tight":281},"ul_74itr1qq",[627,645],{"type":284,"attrs":628,"content":630},{"id":629},"li_rt8barm1",[631],{"type":54,"attrs":632,"content":634},{"id":633},"p_dgfwxhc6",[635],{"text":636,"type":52,"marks":637},"Official Python Documentation — Data Types",[638],{"type":639,"attrs":640},"link",{"rel":641,"href":642,"class":643,"title":17,"target":644},"noopener noreferrer nofollow","https:\u002F\u002Fdocs.python.org\u002Fpt-br\u002F3\u002Flibrary\u002Fstdtypes.html","text-cyan-400 hover:underline cursor-pointer","_blank",{"type":284,"attrs":646,"content":648},{"id":647},"li_yzto6ari",[649],{"type":54,"attrs":650,"content":652},{"id":651},"p_febhcasx",[653],{"text":654,"type":52,"marks":655},"Python Tutorial — Variables and Types",[656],{"type":639,"attrs":657},{"rel":641,"href":658,"class":643,"title":17,"target":644},"https:\u002F\u002Fdocs.python.org\u002Fpt-br\u002F3\u002Ftutorial\u002Fintroduction.html",{"type":54,"attrs":660},{"id":661},"p_x5dvnnxs","Learn what Python variables are, how to assign values, use data types, and follow naming best practices in this practical and complete guide.","2026-08-24T14:53:53.315534+00:00",[665,687,707,721],{"id":666,"slug":667,"title":668,"excerpt":669,"image":670,"featured":281,"groupId":671,"publishedAt":672,"readingTime":673,"views":14,"author":674,"category":675,"tags":676},"81f24e9a-fc6b-47d0-beb9-d00a6137ed99","framework-vs-sdk-who-calls-whom","Framework vs SDK: Who Calls Whom","Most developers memorize names, but few understand the mechanism. Here is the simple rule to tell a framework from an SDK and level up your debugging.","https:\u002F\u002Fmfgiomkkbihnlpfdxwrt.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fblog-assets\u002Fmedia\u002Ffeatured\u002F1787491947099-featured-ikba2e.jpg","0ccb21eb-6459-40ed-8110-227836e9bb74","2026-08-23T13:15:25.439194+00:00",10,{"name":16,"avatar":17},{"slug":19,"name":20,"color":21},[677,680,681,684],{"slug":678,"name":679},"javascript","JavaScript",{"slug":27,"name":28},{"slug":682,"name":683},"runtime","Runtime",{"slug":685,"name":686},"sdk","Sdk",{"id":688,"slug":689,"title":690,"excerpt":691,"image":692,"featured":10,"groupId":693,"publishedAt":694,"readingTime":695,"views":696,"author":697,"category":698,"tags":699},"c2d6b1ca-29bf-401f-8ab9-a1f828504d0b","microfrontends-with-angular-and-nx-what-nobody-tells-you","Microfrontends with Angular and Nx: what nobody tells you","Every tutorial teaches how to set up microfrontends in minutes, but few reveal the architectural chaos that emerges after months of production deploys.","https:\u002F\u002Fmfgiomkkbihnlpfdxwrt.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fblog-assets\u002Fmedia\u002Ffeatured\u002F1785206853570-featured-zoyhgn.webp","3368e1b2-b6de-4e94-a3d4-294fae8ade13","2026-08-03T01:42:48.969355+00:00",15,5,{"name":16,"avatar":17},{"slug":19,"name":20,"color":21},[700,703,704],{"slug":701,"name":702},"angular","Angular",{"slug":678,"name":679},{"slug":705,"name":706},"typescript","TypeScript",{"id":708,"slug":709,"title":710,"excerpt":711,"image":712,"featured":10,"groupId":713,"publishedAt":714,"readingTime":715,"views":673,"author":716,"category":717,"tags":718},"36440333-311c-4081-92e6-030a04a38fed","astro-island-architecture-performance-and-where-the-framework-truly-fits","Astro: Island Architecture, Performance, and Where the Framework Truly Fits","Astro challenges the modern web status quo by prioritizing static HTML and isolating interactivity into independent, lightweight code islands.","https:\u002F\u002Fmfgiomkkbihnlpfdxwrt.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fblog-assets\u002Fmedia\u002Ffeatured\u002F1785721161920-featured-a5vzkb.webp","cb62459e-7ace-43d3-a545-661c5695e925","2026-08-03T01:00:45.280114+00:00",38,{"name":16,"avatar":17},{"slug":19,"name":20,"color":21},[719,720],{"slug":678,"name":679},{"slug":705,"name":706},{"id":722,"slug":723,"title":724,"excerpt":725,"image":726,"featured":10,"groupId":727,"publishedAt":728,"readingTime":13,"views":14,"author":729,"category":730,"tags":731},"633b6488-2a90-4632-86a5-9cff7ed52f08","javascript-event-loop-the-heart-of-non-blocking-concurrency-revisited-in-2025","JavaScript Event Loop: The Heart of Non-Blocking Concurrency — Revisited in 2025","The Event Loop is not just a simple loop, but a sophisticated coordination mechanism between Call Stack, queues, and runtime. Essential for JS concurrency, it enables thousands of asynchronous operations without blocking the UI. This guide explores its structure, differences between Node.js and browsers, common bugs, advanced techniques, and 2025 trends like Structured Concurrency and scheduler.yield().","https:\u002F\u002Fmfgiomkkbihnlpfdxwrt.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fblog-assets\u002Fmedia\u002Ffeatured\u002F1772847201637-featured-oreiro.jpeg","df6ca967-8130-4b2d-bcac-3532a150131e","2026-07-26T18:54:25.359533+00:00",{"name":16,"avatar":17},{"slug":19,"name":20,"color":21},[732,733],{"slug":678,"name":679},{"slug":734,"name":735},"nodejs","Node.js",{"en":6,"pt":737},"variaveis-em-python-guia-pratico-para-iniciantes",[739,745,748,755,761],{"id":740,"slug":741,"name":742,"colorHex":743,"iconName":17,"postCount":744},"0e2c1225-f78a-4c20-8c93-998ab9dc93b9","frontend","Frontend","#40484f",25,{"id":746,"slug":19,"name":20,"colorHex":21,"iconName":17,"postCount":747},"bc8df70e-b7fb-4d89-a80c-fd458d36d58c",23,{"id":749,"slug":750,"name":751,"colorHex":752,"iconName":753,"postCount":754},"550e8400-e29b-41d4-a716-446655440001","inteligencia-artificial","Artificial Intelligence","#6366f1","brain",14,{"id":756,"slug":757,"name":758,"colorHex":759,"iconName":17,"postCount":760},"ea63b69c-2eb4-4100-81f3-70ce52d33743","tech-news","Tech News","#e50606",4,{"id":762,"slug":763,"name":764,"colorHex":765,"iconName":766,"postCount":70},"550e8400-e29b-41d4-a716-446655440017","how-to-guides","How-To & Guides","#be123c","book-open"]