@@ -367,6 +367,14 @@ msgid ""
367
367
"to a component of an imported module. This clutter would defeat the "
368
368
"usefulness of the ``global`` declaration for identifying side-effects."
369
369
msgstr ""
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."
370
378
371
379
#: ../../faq/programming.rst:203
372
380
msgid ""
@@ -830,6 +838,15 @@ msgid ""
830
838
" copy of ``y``, you'll instead end up with ``None``, which will likely cause"
831
839
" your program to generate an easily diagnosed error."
832
840
msgstr ""
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."
833
850
834
851
#: ../../faq/programming.rst:482
835
852
msgid ""
@@ -840,6 +857,12 @@ msgid ""
840
857
"mutates ``a_list``, whereas ``some_tuple += (1, 2, 3)`` and ``some_int += "
841
858
"1`` create new objects)."
842
859
msgstr ""
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)."
843
866
844
867
#: ../../faq/programming.rst:489
845
868
msgid "In other words:"
@@ -1075,6 +1098,11 @@ msgid ""
1075
1098
"so the only way to find out what it's called is to ask all your neighbours "
1076
1099
"(namespaces) if it's their cat (object)..."
1077
1100
msgstr ""
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)..."
1078
1106
1079
1107
#: ../../faq/programming.rst:687
1080
1108
msgid ""
@@ -1142,7 +1170,7 @@ msgstr ""
1142
1170
1143
1171
#: ../../faq/programming.rst:733
1144
1172
msgid "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? "
1146
1174
1147
1175
#: ../../faq/programming.rst:735
1148
1176
msgid ""
@@ -1201,6 +1229,9 @@ msgid ""
1201
1229
"identity to hold, and then compilers that truncate ``i // j`` need to make "
1202
1230
"``i % j`` have the same sign as ``i``."
1203
1231
msgstr ""
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``."
1204
1235
1205
1236
#: ../../faq/programming.rst:803
1206
1237
msgid ""
@@ -1210,6 +1241,11 @@ msgid ""
1210
1241
"say 200 hours ago? ``-190 % 12 == 2`` is useful; ``-190 % 12 == -10`` is a "
1211
1242
"bug waiting to bite."
1212
1243
msgstr ""
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."
1213
1249
1214
1250
#: ../../faq/programming.rst:811
1215
1251
msgid "How do I convert a string to a number?"
@@ -1244,13 +1280,22 @@ msgid ""
1244
1280
"``__import__('os').system(\" rm -rf $HOME\" )`` which would erase your home "
1245
1281
"directory."
1246
1282
msgstr ""
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."
1247
1289
1248
1290
#: ../../faq/programming.rst:830
1249
1291
msgid ""
1250
1292
":func:`eval` also has the effect of interpreting numbers as Python "
1251
1293
"expressions, so that e.g. ``eval('09')`` gives a syntax error because Python"
1252
1294
" does not allow leading '0' in a decimal number (except '0')."
1253
1295
msgstr ""
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')."
1254
1299
1255
1300
#: ../../faq/programming.rst:836
1256
1301
msgid "How do I convert a number to a string?"
0 commit comments