@@ -535,6 +535,14 @@ msgid ""
535535"to a component of an imported module. This clutter would defeat the "
536536"usefulness of the ``global`` declaration for identifying side-effects."
537537msgstr ""
538+ "Embora um pouco surpreendente no início, um momento de consideração explica "
539+ "isso. Por um lado, exigir :keyword:`global` para variáveis atribuídas "
540+ "fornece uma barreira contra efeitos colaterais indesejados. Por outro lado, "
541+ "se ``global`` fosse necessário para todas as referências globais, você "
542+ "estaria usando ``global`` o tempo todo. Você teria que declarar como global "
543+ "todas as referências a uma função embutida ou a um componente de um módulo "
544+ "importado. Essa desordem anularia a utilidade da declaração de ``global`` "
545+ "para identificar efeitos colaterais."
538546
539547#: ../../faq/programming.rst:349
540548msgid ""
@@ -1012,6 +1020,15 @@ msgid ""
10121020" copy of ``y``, you'll instead end up with ``None``, which will likely cause"
10131021" your program to generate an easily diagnosed error."
10141022msgstr ""
1023+ "Algumas operações (por exemplo, ``y.append(10)`` e ``y.sort()``) alteram o "
1024+ "objeto, enquanto operações superficialmente semelhantes (por exemplo ``y = y"
1025+ " + [10]`` e ``sorted(y)``) cria um novo objeto. Em geral em Python (e em "
1026+ "todos os casos na biblioteca padrão) um método que transforma um objeto "
1027+ "retornará ``None`` para ajudar a evitar confundir os dois tipos de "
1028+ "operações. Portanto, se você escrever por engano ``y.sort()`` pensando que "
1029+ "lhe dará uma cópia ordenada de ``y``, você terminará com ``None``, o que "
1030+ "provavelmente fará com que seu programa gere um erro facilmente "
1031+ "diagnosticado."
10151032
10161033#: ../../faq/programming.rst:642
10171034msgid ""
@@ -1022,6 +1039,12 @@ msgid ""
10221039"mutates ``a_list``, whereas ``some_tuple += (1, 2, 3)`` and ``some_int += "
10231040"1`` create new objects)."
10241041msgstr ""
1042+ "No entanto, há uma classe de operações em que a mesma operação às vezes tem "
1043+ "comportamentos diferentes com tipos diferentes: os operadores de atribuição "
1044+ "aumentada. Por exemplo, ``+=`` transforma listas, mas não tuplas ou ints "
1045+ "(``a_list += [1, 2, 3]`` é equivalente a``a_list.extend([1, 2, 3])`` a "
1046+ "altera ``a_list``, sendo que ``some_tuple += (1, 2, 3)`` e ``some_int += 1``"
1047+ " cria novos objetos)."
10251048
10261049#: ../../faq/programming.rst:649
10271050msgid "In other words:"
@@ -1256,6 +1279,11 @@ msgid ""
12561279"so the only way to find out what it's called is to ask all your neighbours "
12571280"(namespaces) if it's their cat (object)..."
12581281msgstr ""
1282+ "Da mesma forma que você pega o nome daquele gato que encontrou na sua "
1283+ "varanda: o próprio gato (objeto) não pode lhe dizer o seu nome, e ele "
1284+ "realmente não se importa -- então a única maneira de descobrir como ele se "
1285+ "chama é perguntar a todos os seus vizinhos (espaços de nomes) se é o gato "
1286+ "deles (objeto)..."
12591287
12601288#: ../../faq/programming.rst:847
12611289msgid ""
@@ -1310,7 +1338,7 @@ msgstr ""
13101338
13111339#: ../../faq/programming.rst:887
13121340msgid "Is it possible to write obfuscated one-liners in Python?"
1313- msgstr ""
1341+ msgstr "É possível escrever instruções de uma só linha ofuscadas em Python? "
13141342
13151343#: ../../faq/programming.rst:889
13161344msgid ""
@@ -1369,6 +1397,9 @@ msgid ""
13691397"identity to hold, and then compilers that truncate ``i // j`` need to make "
13701398"``i % j`` have the same sign as ``i``."
13711399msgstr ""
1400+ "então a divisão inteira deve retornar o piso. C também requer que essa "
1401+ "identidade seja mantida, e então os compiladores que truncarem ``i // j`` "
1402+ "precisam fazer com que ``i % j`` tenham o mesmo sinal que ``i``."
13721403
13731404#: ../../faq/programming.rst:955
13741405msgid ""
@@ -1378,6 +1409,11 @@ msgid ""
13781409"say 200 hours ago? ``-190 % 12 == 2`` is useful; ``-190 % 12 == -10`` is a "
13791410"bug waiting to bite."
13801411msgstr ""
1412+ "Existem poucos casos de uso reais para ``i % j`` quando ``j`` é negativo. "
1413+ "Quando ``j`` é positivo, existem muitos, e em virtualmente todos eles é mais"
1414+ " útil para ``i % j`` ser ``>= 0``. Se o relógio marca 10 agora, o que dizia "
1415+ "há 200 horas? ``-190 % 12 == 2`` é útil, enquanto ``-190 % 12 == -10`` é um "
1416+ "bug esperando para morder."
13811417
13821418#: ../../faq/programming.rst:963
13831419msgid ""
@@ -1419,6 +1455,12 @@ msgid ""
14191455"``__import__('os').system(\" rm -rf $HOME\" )`` which would erase your home "
14201456"directory."
14211457msgstr ""
1458+ "Não use a função embutida :func:`eval` se tudo que você precisa é converter "
1459+ "strings em números. :func:`eval` será significativamente mais lento e "
1460+ "apresenta um risco de segurança: alguém pode passar a você uma expressão "
1461+ "Python que pode ter efeitos colaterais indesejados. Por exemplo, alguém "
1462+ "poderia passar ``__import__('os').system(\" rm -rf $HOME\" )`` que apagaria "
1463+ "seu diretório pessoal."
14221464
14231465#: ../../faq/programming.rst:988
14241466msgid ""