@@ -367,6 +367,14 @@ msgid ""
367367"to a component of an imported module. This clutter would defeat the "
368368"usefulness of the ``global`` declaration for identifying side-effects."
369369msgstr ""
370+ "Embora um pouco surpreendente no início, um momento de consideração explica "
371+ "isso. Por um lado, exigir :keyword:`global` para variáveis atribuídas "
372+ "fornece uma barreira contra efeitos colaterais indesejados. Por outro lado, "
373+ "se ``global`` fosse necessário para todas as referências globais, você "
374+ "estaria usando ``global`` o tempo todo. Você teria que declarar como global "
375+ "todas as referências a uma função embutida ou a um componente de um módulo "
376+ "importado. Essa desordem anularia a utilidade da declaração de ``global`` "
377+ "para identificar efeitos colaterais."
370378
371379#: ../../faq/programming.rst:203
372380msgid ""
@@ -830,6 +838,15 @@ msgid ""
830838" copy of ``y``, you'll instead end up with ``None``, which will likely cause"
831839" your program to generate an easily diagnosed error."
832840msgstr ""
841+ "Algumas operações (por exemplo, ``y.append(10)`` e ``y.sort()``) alteram o "
842+ "objeto, enquanto operações superficialmente semelhantes (por exemplo ``y = y"
843+ " + [10]`` e ``sorted(y)``) cria um novo objeto. Em geral em Python (e em "
844+ "todos os casos na biblioteca padrão) um método que transforma um objeto "
845+ "retornará ``None`` para ajudar a evitar confundir os dois tipos de "
846+ "operações. Portanto, se você escrever por engano ``y.sort()`` pensando que "
847+ "lhe dará uma cópia ordenada de ``y``, você terminará com ``None``, o que "
848+ "provavelmente fará com que seu programa gere um erro facilmente "
849+ "diagnosticado."
833850
834851#: ../../faq/programming.rst:482
835852msgid ""
@@ -840,6 +857,12 @@ msgid ""
840857"mutates ``a_list``, whereas ``some_tuple += (1, 2, 3)`` and ``some_int += "
841858"1`` create new objects)."
842859msgstr ""
860+ "No entanto, há uma classe de operações em que a mesma operação às vezes tem "
861+ "comportamentos diferentes com tipos diferentes: os operadores de atribuição "
862+ "aumentada. Por exemplo, ``+=`` transforma listas, mas não tuplas ou ints "
863+ "(``a_list += [1, 2, 3]`` é equivalente a``a_list.extend([1, 2, 3])`` a "
864+ "altera ``a_list``, sendo que ``some_tuple += (1, 2, 3)`` e ``some_int += 1``"
865+ " cria novos objetos)."
843866
844867#: ../../faq/programming.rst:489
845868msgid "In other words:"
@@ -1075,6 +1098,11 @@ msgid ""
10751098"so the only way to find out what it's called is to ask all your neighbours "
10761099"(namespaces) if it's their cat (object)..."
10771100msgstr ""
1101+ "Da mesma forma que você pega o nome daquele gato que encontrou na sua "
1102+ "varanda: o próprio gato (objeto) não pode lhe dizer o seu nome, e ele "
1103+ "realmente não se importa -- então a única maneira de descobrir como ele se "
1104+ "chama é perguntar a todos os seus vizinhos (espaços de nomes) se é o gato "
1105+ "deles (objeto)..."
10781106
10791107#: ../../faq/programming.rst:687
10801108msgid ""
@@ -1142,7 +1170,7 @@ msgstr ""
11421170
11431171#: ../../faq/programming.rst:733
11441172msgid "Is it possible to write obfuscated one-liners in Python?"
1145- msgstr ""
1173+ msgstr "É possível escrever instruções de uma só linha ofuscadas em Python? "
11461174
11471175#: ../../faq/programming.rst:735
11481176msgid ""
@@ -1201,6 +1229,9 @@ msgid ""
12011229"identity to hold, and then compilers that truncate ``i // j`` need to make "
12021230"``i % j`` have the same sign as ``i``."
12031231msgstr ""
1232+ "então a divisão inteira deve retornar o piso. C também requer que essa "
1233+ "identidade seja mantida, e então os compiladores que truncarem ``i // j`` "
1234+ "precisam fazer com que ``i % j`` tenham o mesmo sinal que ``i``."
12041235
12051236#: ../../faq/programming.rst:803
12061237msgid ""
@@ -1210,6 +1241,11 @@ msgid ""
12101241"say 200 hours ago? ``-190 % 12 == 2`` is useful; ``-190 % 12 == -10`` is a "
12111242"bug waiting to bite."
12121243msgstr ""
1244+ "Existem poucos casos de uso reais para ``i % j`` quando ``j`` é negativo. "
1245+ "Quando ``j`` é positivo, existem muitos, e em virtualmente todos eles é mais"
1246+ " útil para ``i % j`` ser ``>= 0``. Se o relógio marca 10 agora, o que dizia "
1247+ "há 200 horas? ``-190 % 12 == 2`` é útil, enquanto ``-190 % 12 == -10`` é um "
1248+ "bug esperando para morder."
12131249
12141250#: ../../faq/programming.rst:811
12151251msgid "How do I convert a string to a number?"
@@ -1244,13 +1280,22 @@ msgid ""
12441280"``__import__('os').system(\" rm -rf $HOME\" )`` which would erase your home "
12451281"directory."
12461282msgstr ""
1283+ "Não use a função embutida :func:`eval` se tudo que você precisa é converter "
1284+ "strings em números. :func:`eval` será significativamente mais lento e "
1285+ "apresenta um risco de segurança: alguém pode passar a você uma expressão "
1286+ "Python que pode ter efeitos colaterais indesejados. Por exemplo, alguém "
1287+ "poderia passar ``__import__('os').system(\" rm -rf $HOME\" )`` que apagaria "
1288+ "seu diretório pessoal."
12471289
12481290#: ../../faq/programming.rst:830
12491291msgid ""
12501292":func:`eval` also has the effect of interpreting numbers as Python "
12511293"expressions, so that e.g. ``eval('09')`` gives a syntax error because Python"
12521294" does not allow leading '0' in a decimal number (except '0')."
12531295msgstr ""
1296+ ":func:`eval` também tem o efeito de interpretar números como expressões "
1297+ "Python, para que, por exemplo, ``eval('09')`` dá um erro de sintaxe porque "
1298+ "Python não permite '0' inicial em um número decimal (exceto '0')."
12541299
12551300#: ../../faq/programming.rst:836
12561301msgid "How do I convert a number to a string?"