@@ -534,6 +534,14 @@ msgid ""
534
534
"a component of an imported module. This clutter would defeat the usefulness "
535
535
"of the ``global`` declaration for identifying side-effects."
536
536
msgstr ""
537
+ "Embora um pouco surpreendente no início, um momento de consideração explica "
538
+ "isso. Por um lado, exigir :keyword:`global` para variáveis atribuídas "
539
+ "fornece uma barreira contra efeitos colaterais indesejados. Por outro lado, "
540
+ "se ``global`` fosse necessário para todas as referências globais, você "
541
+ "estaria usando ``global`` o tempo todo. Você teria que declarar como global "
542
+ "todas as referências a uma função embutida ou a um componente de um módulo "
543
+ "importado. Essa desordem anularia a utilidade da declaração de ``global`` "
544
+ "para identificar efeitos colaterais."
537
545
538
546
#: ../../faq/programming.rst:349
539
547
msgid ""
@@ -1011,6 +1019,15 @@ msgid ""
1011
1019
"copy of ``y``, you'll instead end up with ``None``, which will likely cause "
1012
1020
"your program to generate an easily diagnosed error."
1013
1021
msgstr ""
1022
+ "Algumas operações (por exemplo, ``y.append(10)`` e ``y.sort()``) alteram o "
1023
+ "objeto, enquanto operações superficialmente semelhantes (por exemplo ``y = y "
1024
+ "+ [10]`` e ``sorted(y)``) cria um novo objeto. Em geral em Python (e em "
1025
+ "todos os casos na biblioteca padrão) um método que transforma um objeto "
1026
+ "retornará ``None`` para ajudar a evitar confundir os dois tipos de "
1027
+ "operações. Portanto, se você escrever por engano ``y.sort()`` pensando que "
1028
+ "lhe dará uma cópia ordenada de ``y``, você terminará com ``None``, o que "
1029
+ "provavelmente fará com que seu programa gere um erro facilmente "
1030
+ "diagnosticado."
1014
1031
1015
1032
#: ../../faq/programming.rst:642
1016
1033
msgid ""
@@ -1021,6 +1038,12 @@ msgid ""
1021
1038
"mutates ``a_list``, whereas ``some_tuple += (1, 2, 3)`` and ``some_int += "
1022
1039
"1`` create new objects)."
1023
1040
msgstr ""
1041
+ "No entanto, há uma classe de operações em que a mesma operação às vezes tem "
1042
+ "comportamentos diferentes com tipos diferentes: os operadores de atribuição "
1043
+ "aumentada. Por exemplo, ``+=`` transforma listas, mas não tuplas ou ints "
1044
+ "(``a_list += [1, 2, 3]`` é equivalente a``a_list.extend([1, 2, 3])`` a "
1045
+ "altera ``a_list``, sendo que ``some_tuple += (1, 2, 3)`` e ``some_int += 1`` "
1046
+ "cria novos objetos)."
1024
1047
1025
1048
#: ../../faq/programming.rst:649
1026
1049
msgid "In other words:"
@@ -1255,6 +1278,11 @@ msgid ""
1255
1278
"so the only way to find out what it's called is to ask all your neighbours "
1256
1279
"(namespaces) if it's their cat (object)..."
1257
1280
msgstr ""
1281
+ "Da mesma forma que você pega o nome daquele gato que encontrou na sua "
1282
+ "varanda: o próprio gato (objeto) não pode lhe dizer o seu nome, e ele "
1283
+ "realmente não se importa -- então a única maneira de descobrir como ele se "
1284
+ "chama é perguntar a todos os seus vizinhos (espaços de nomes) se é o gato "
1285
+ "deles (objeto)..."
1258
1286
1259
1287
#: ../../faq/programming.rst:847
1260
1288
msgid ""
@@ -1309,7 +1337,7 @@ msgstr ""
1309
1337
1310
1338
#: ../../faq/programming.rst:887
1311
1339
msgid "Is it possible to write obfuscated one-liners in Python?"
1312
- msgstr ""
1340
+ msgstr "É possível escrever instruções de uma só linha ofuscadas em Python? "
1313
1341
1314
1342
#: ../../faq/programming.rst:889
1315
1343
msgid ""
@@ -1368,6 +1396,9 @@ msgid ""
1368
1396
"identity to hold, and then compilers that truncate ``i // j`` need to make "
1369
1397
"``i % j`` have the same sign as ``i``."
1370
1398
msgstr ""
1399
+ "então a divisão inteira deve retornar o piso. C também requer que essa "
1400
+ "identidade seja mantida, e então os compiladores que truncarem ``i // j`` "
1401
+ "precisam fazer com que ``i % j`` tenham o mesmo sinal que ``i``."
1371
1402
1372
1403
#: ../../faq/programming.rst:955
1373
1404
msgid ""
@@ -1377,6 +1408,11 @@ msgid ""
1377
1408
"say 200 hours ago? ``-190 % 12 == 2`` is useful; ``-190 % 12 == -10`` is a "
1378
1409
"bug waiting to bite."
1379
1410
msgstr ""
1411
+ "Existem poucos casos de uso reais para ``i % j`` quando ``j`` é negativo. "
1412
+ "Quando ``j`` é positivo, existem muitos, e em virtualmente todos eles é mais "
1413
+ "útil para ``i % j`` ser ``>= 0``. Se o relógio marca 10 agora, o que dizia "
1414
+ "há 200 horas? ``-190 % 12 == 2`` é útil, enquanto ``-190 % 12 == -10`` é um "
1415
+ "bug esperando para morder."
1380
1416
1381
1417
#: ../../faq/programming.rst:963
1382
1418
msgid ""
@@ -1417,6 +1453,12 @@ msgid ""
1417
1453
"``__import__('os').system(\" rm -rf $HOME\" )`` which would erase your home "
1418
1454
"directory."
1419
1455
msgstr ""
1456
+ "Não use a função embutida :func:`eval` se tudo que você precisa é converter "
1457
+ "strings em números. :func:`eval` será significativamente mais lento e "
1458
+ "apresenta um risco de segurança: alguém pode passar a você uma expressão "
1459
+ "Python que pode ter efeitos colaterais indesejados. Por exemplo, alguém "
1460
+ "poderia passar ``__import__('os').system(\" rm -rf $HOME\" )`` que apagaria "
1461
+ "seu diretório pessoal."
1420
1462
1421
1463
#: ../../faq/programming.rst:988
1422
1464
msgid ""