@@ -384,6 +384,14 @@ msgid ""
384
384
"a component of an imported module. This clutter would defeat the usefulness "
385
385
"of the ``global`` declaration for identifying side-effects."
386
386
msgstr ""
387
+ "Embora um pouco surpreendente no início, um momento de consideração explica "
388
+ "isso. Por um lado, exigir :keyword:`global` para variáveis atribuídas "
389
+ "fornece uma barreira contra efeitos colaterais indesejados. Por outro lado, "
390
+ "se ``global`` fosse necessário para todas as referências globais, você "
391
+ "estaria usando ``global`` o tempo todo. Você teria que declarar como global "
392
+ "todas as referências a uma função embutida ou a um componente de um módulo "
393
+ "importado. Essa desordem anularia a utilidade da declaração de ``global`` "
394
+ "para identificar efeitos colaterais."
387
395
388
396
#: ../../faq/programming.rst:211
389
397
msgid ""
@@ -847,6 +855,15 @@ msgid ""
847
855
"copy of ``y``, you'll instead end up with ``None``, which will likely cause "
848
856
"your program to generate an easily diagnosed error."
849
857
msgstr ""
858
+ "Algumas operações (por exemplo, ``y.append(10)`` e ``y.sort()``) alteram o "
859
+ "objeto, enquanto operações superficialmente semelhantes (por exemplo ``y = y "
860
+ "+ [10]`` e ``sorted(y)``) cria um novo objeto. Em geral em Python (e em "
861
+ "todos os casos na biblioteca padrão) um método que transforma um objeto "
862
+ "retornará ``None`` para ajudar a evitar confundir os dois tipos de "
863
+ "operações. Portanto, se você escrever por engano ``y.sort()`` pensando que "
864
+ "lhe dará uma cópia ordenada de ``y``, você terminará com ``None``, o que "
865
+ "provavelmente fará com que seu programa gere um erro facilmente "
866
+ "diagnosticado."
850
867
851
868
#: ../../faq/programming.rst:490
852
869
msgid ""
@@ -857,6 +874,12 @@ msgid ""
857
874
"mutates ``a_list``, whereas ``some_tuple += (1, 2, 3)`` and ``some_int += "
858
875
"1`` create new objects)."
859
876
msgstr ""
877
+ "No entanto, há uma classe de operações em que a mesma operação às vezes tem "
878
+ "comportamentos diferentes com tipos diferentes: os operadores de atribuição "
879
+ "aumentada. Por exemplo, ``+=`` transforma listas, mas não tuplas ou ints "
880
+ "(``a_list += [1, 2, 3]`` é equivalente a``a_list.extend([1, 2, 3])`` a "
881
+ "altera ``a_list``, sendo que ``some_tuple += (1, 2, 3)`` e ``some_int += 1`` "
882
+ "cria novos objetos)."
860
883
861
884
#: ../../faq/programming.rst:497
862
885
msgid "In other words:"
@@ -1048,6 +1071,10 @@ msgid ""
1048
1071
"``def`` and ``class`` statements, but in that case the value is a callable. "
1049
1072
"Consider the following code::"
1050
1073
msgstr ""
1074
+ "De um modo geral, não pode, porque os objetos realmente não têm nomes. "
1075
+ "Essencialmente, a atribuição sempre liga um nome a um valor; o mesmo é "
1076
+ "verdade para as instruções ``def`` e ``class``, mas nesse caso o valor é um "
1077
+ "chamável. Considere o seguinte código::"
1051
1078
1052
1079
#: ../../faq/programming.rst:677
1053
1080
msgid ""
@@ -1088,6 +1115,11 @@ msgid ""
1088
1115
"so the only way to find out what it's called is to ask all your neighbours "
1089
1116
"(namespaces) if it's their cat (object)..."
1090
1117
msgstr ""
1118
+ "Da mesma forma que você pega o nome daquele gato que encontrou na sua "
1119
+ "varanda: o próprio gato (objeto) não pode lhe dizer o seu nome, e ele "
1120
+ "realmente não se importa -- então a única maneira de descobrir como ele se "
1121
+ "chama é perguntar a todos os seus vizinhos (espaços de nomes) se é o gato "
1122
+ "deles (objeto)..."
1091
1123
1092
1124
#: ../../faq/programming.rst:695
1093
1125
msgid ""
@@ -1155,13 +1187,15 @@ msgstr ""
1155
1187
1156
1188
#: ../../faq/programming.rst:741
1157
1189
msgid "Is it possible to write obfuscated one-liners in Python?"
1158
- msgstr ""
1190
+ msgstr "É possível escrever instruções de uma só linha ofuscadas em Python? "
1159
1191
1160
1192
#: ../../faq/programming.rst:743
1161
1193
msgid ""
1162
1194
"Yes. Usually this is done by nesting :keyword:`lambda` within :keyword:`!"
1163
1195
"lambda`. See the following three examples, due to Ulf Bartelt::"
1164
1196
msgstr ""
1197
+ "sim. Normalmente, isso é feito aninhando :keyword:`lambda` dentro de :"
1198
+ "keyword:`!lambda`. Veja os três exemplos a seguir, devido a Ulf Bartelt::"
1165
1199
1166
1200
#: ../../faq/programming.rst:770
1167
1201
msgid "Don't try this at home, kids!"
@@ -1242,6 +1276,9 @@ msgid ""
1242
1276
"identity to hold, and then compilers that truncate ``i // j`` need to make "
1243
1277
"``i % j`` have the same sign as ``i``."
1244
1278
msgstr ""
1279
+ "então a divisão inteira deve retornar o piso. C também requer que essa "
1280
+ "identidade seja mantida, e então os compiladores que truncarem ``i // j`` "
1281
+ "precisam fazer com que ``i % j`` tenham o mesmo sinal que ``i``."
1245
1282
1246
1283
#: ../../faq/programming.rst:846
1247
1284
msgid ""
@@ -1251,6 +1288,11 @@ msgid ""
1251
1288
"say 200 hours ago? ``-190 % 12 == 2`` is useful; ``-190 % 12 == -10`` is a "
1252
1289
"bug waiting to bite."
1253
1290
msgstr ""
1291
+ "Existem poucos casos de uso reais para ``i % j`` quando ``j`` é negativo. "
1292
+ "Quando ``j`` é positivo, existem muitos, e em virtualmente todos eles é mais "
1293
+ "útil para ``i % j`` ser ``>= 0``. Se o relógio marca 10 agora, o que dizia "
1294
+ "há 200 horas? ``-190 % 12 == 2`` é útil, enquanto ``-190 % 12 == -10`` é um "
1295
+ "bug esperando para morder."
1254
1296
1255
1297
#: ../../faq/programming.rst:854
1256
1298
msgid "How do I convert a string to a number?"
@@ -1285,13 +1327,22 @@ msgid ""
1285
1327
"``__import__('os').system(\" rm -rf $HOME\" )`` which would erase your home "
1286
1328
"directory."
1287
1329
msgstr ""
1330
+ "Não use a função embutida :func:`eval` se tudo que você precisa é converter "
1331
+ "strings em números. :func:`eval` será significativamente mais lento e "
1332
+ "apresenta um risco de segurança: alguém pode passar a você uma expressão "
1333
+ "Python que pode ter efeitos colaterais indesejados. Por exemplo, alguém "
1334
+ "poderia passar ``__import__('os').system(\" rm -rf $HOME\" )`` que apagaria "
1335
+ "seu diretório pessoal."
1288
1336
1289
1337
#: ../../faq/programming.rst:873
1290
1338
msgid ""
1291
1339
":func:`eval` also has the effect of interpreting numbers as Python "
1292
1340
"expressions, so that e.g. ``eval('09')`` gives a syntax error because Python "
1293
1341
"does not allow leading '0' in a decimal number (except '0')."
1294
1342
msgstr ""
1343
+ ":func:`eval` também tem o efeito de interpretar números como expressões "
1344
+ "Python, para que, por exemplo, ``eval('09')`` dá um erro de sintaxe porque "
1345
+ "Python não permite '0' inicial em um número decimal (exceto '0')."
1295
1346
1296
1347
#: ../../faq/programming.rst:879
1297
1348
msgid "How do I convert a number to a string?"