Skip to content

Commit ccb6ca8

Browse files
pomerge from 3.10 branch into 2.7
1 parent d0b6446 commit ccb6ca8

File tree

1 file changed

+43
-1
lines changed

1 file changed

+43
-1
lines changed

faq/programming.po

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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."
537537
msgstr ""
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
540548
msgid ""
@@ -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."
10141022
msgstr ""
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
10171034
msgid ""
@@ -1022,6 +1039,12 @@ msgid ""
10221039
"mutates ``a_list``, whereas ``some_tuple += (1, 2, 3)`` and ``some_int += "
10231040
"1`` create new objects)."
10241041
msgstr ""
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
10271050
msgid "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)..."
12581281
msgstr ""
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
12611289
msgid ""
@@ -1310,7 +1338,7 @@ msgstr ""
13101338

13111339
#: ../../faq/programming.rst:887
13121340
msgid "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
13161344
msgid ""
@@ -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``."
13711399
msgstr ""
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
13741405
msgid ""
@@ -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."
13801411
msgstr ""
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
13831419
msgid ""
@@ -1419,6 +1455,12 @@ msgid ""
14191455
"``__import__('os').system(\"rm -rf $HOME\")`` which would erase your home "
14201456
"directory."
14211457
msgstr ""
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
14241466
msgid ""

0 commit comments

Comments
 (0)