{"id":105,"date":"2016-11-22T17:12:12","date_gmt":"2016-11-22T17:12:12","guid":{"rendered":"http:\/\/python.wp.w3.pt\/?p=105"},"modified":"2016-11-22T17:35:34","modified_gmt":"2016-11-22T17:35:34","slug":"instrucoes-compostas","status":"publish","type":"post","link":"http:\/\/python.w3.pt\/?p=105","title":{"rendered":"Instru\u00e7\u00f5es compostas"},"content":{"rendered":"<p>As <a href=\"https:\/\/docs.python.org\/2\/reference\/compound_stmts.html\">instru\u00e7\u00f5es compostas<\/a> do Python podem ser as instru\u00e7\u00f5es seguintes, definidas usando a sintaxe <a href=\"https:\/\/en.wikipedia.org\/wiki\/Backus%E2%80%93Naur_form\">BNF<\/a>:<\/p>\n<ul>\n<li>if\n<pre>if_stmt ::=  \"if\" expression \":\" suite\r\n             ( \"elif\" expression \":\" suite )*\r\n             [\"else\" \":\" suite]\r\n<\/pre>\n<\/li>\n<li>while\n<pre>\r\nwhile_stmt ::=  \"while\" expression \":\" suite\r\n                [\"else\" \":\" suite]\r\n<\/pre>\n<\/li>\n<li>for\n<pre>\r\nfor_stmt ::=  \"for\" target_list \"in\" expression_list \":\" suite\r\n              [\"else\" \":\" suite]\r\n<\/pre>\n<\/li>\n<li>try\n<pre>\r\ntry_stmt  ::=  try1_stmt | try2_stmt\r\ntry1_stmt ::=  \"try\" \":\" suite\r\n               (\"except\" [expression [(\"as\" | \",\") identifier]] \":\" suite)+\r\n               [\"else\" \":\" suite]\r\n               [\"finally\" \":\" suite]\r\ntry2_stmt ::=  \"try\" \":\" suite\r\n               \"finally\" \":\" suite\r\n<\/pre>\n<\/li>\n<li>with\n<pre>\r\nwith_stmt ::=  \"with\" with_item (\",\" with_item)* \":\" suite\r\nwith_item ::=  expression [\"as\" target]\r\n<\/pre>\n<\/li>\n<li>defini\u00e7\u00e3o de fun\u00e7\u00f5es\n<pre>\r\ndecorated      ::=  decorators (classdef | funcdef)\r\ndecorators     ::=  decorator+\r\ndecorator      ::=  \"@\" dotted_name [\"(\" [argument_list [\",\"]] \")\"] NEWLINE\r\nfuncdef        ::=  \"def\" funcname \"(\" [parameter_list] \")\" \":\" suite\r\ndotted_name    ::=  identifier (\".\" identifier)*\r\nparameter_list ::=  (defparameter \",\")*\r\n                    (  \"*\" identifier [\",\" \"**\" identifier]\r\n                    | \"**\" identifier\r\n                    | defparameter [\",\"] )\r\ndefparameter   ::=  parameter [\"=\" expression]\r\nsublist        ::=  parameter (\",\" parameter)* [\",\"]\r\nparameter      ::=  identifier | \"(\" sublist \")\"\r\nfuncname       ::=  identifier\r\n<\/pre>\n<\/li>\n<li>defini\u00e7\u00e3o declasses\n<pre>\r\nclassdef    ::=  \"class\" classname [inheritance] \":\" suite\r\ninheritance ::=  \"(\" [expression_list] \")\"\r\nclassname   ::=  identifier\r\n<\/pre>\n<\/li>\n<\/ul>\n<p>Exemplo do <em>try &#8211; finally<\/em><\/p>\n<pre>\r\n>>> def f():\r\n...     a = \"Not a number\"\r\n...     try:\r\n...         a = 1\/0\r\n...     finally:\r\n...         return a\r\n...\r\n>>> f()\r\n'Not a number'\r\n>>>\r\n>>> def g():\r\n...     a = \"Not a number\"\r\n...     try:\r\n...         a = 10\/3\r\n...     finally:\r\n...         return a\r\n...\r\n>>> g()\r\n3\r\n<\/pre>\n<p>Exemplo de aplica\u00e7\u00e3o da instru\u00e7\u00e3o <em>for<\/em><\/p>\n<pre>\r\n>>> a=range(10)\r\n>>> a\r\n[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]\r\n>>> for x in a[:]:\r\n...     if x > 3: a.remove(x)\r\n...\r\n>>> a\r\n[0, 1, 2, 3]\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>As instru\u00e7\u00f5es compostas do Python podem ser as instru\u00e7\u00f5es seguintes, definidas usando a sintaxe BNF: if if_stmt ::= &#8220;if&#8221; expression &#8220;:&#8221; suite ( &#8220;elif&#8221; expression &#8220;:&#8221; suite )* [&#8220;else&#8221; &#8220;:&#8221; suite] while while_stmt ::= &#8220;while&#8221; expression &#8220;:&#8221; suite [&#8220;else&#8221; &#8220;:&#8221; suite] for for_stmt ::= &#8220;for&#8221; target_list &#8220;in&#8221; expression_list &#8220;:&#8221; suite [&#8220;else&#8221; &#8220;:&#8221; suite] try try_stmt &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/python.w3.pt\/?p=105\" class=\"more-link\">Continuar a ler <span class=\"screen-reader-text\">&#8220;Instru\u00e7\u00f5es compostas&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/python.w3.pt\/index.php?rest_route=\/wp\/v2\/posts\/105"}],"collection":[{"href":"http:\/\/python.w3.pt\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/python.w3.pt\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/python.w3.pt\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/python.w3.pt\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=105"}],"version-history":[{"count":4,"href":"http:\/\/python.w3.pt\/index.php?rest_route=\/wp\/v2\/posts\/105\/revisions"}],"predecessor-version":[{"id":109,"href":"http:\/\/python.w3.pt\/index.php?rest_route=\/wp\/v2\/posts\/105\/revisions\/109"}],"wp:attachment":[{"href":"http:\/\/python.w3.pt\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=105"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/python.w3.pt\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=105"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/python.w3.pt\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=105"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}