@@ -388,6 +388,14 @@ msgid ""
388
388
"to a component of an imported module. This clutter would defeat the "
389
389
"usefulness of the ``global`` declaration for identifying side-effects."
390
390
msgstr ""
391
+ "Embora um pouco surpreendente no início, um momento de consideração explica "
392
+ "isso. Por um lado, exigir :keyword:`global` para variáveis atribuídas "
393
+ "fornece uma barreira contra efeitos colaterais indesejados. Por outro lado, "
394
+ "se ``global`` fosse necessário para todas as referências globais, você "
395
+ "estaria usando ``global`` o tempo todo. Você teria que declarar como global "
396
+ "todas as referências a uma função embutida ou a um componente de um módulo "
397
+ "importado. Essa desordem anularia a utilidade da declaração de ``global`` "
398
+ "para identificar efeitos colaterais."
391
399
392
400
#: ../../faq/programming.rst:211
393
401
msgid ""
@@ -851,6 +859,15 @@ msgid ""
851
859
" copy of ``y``, you'll instead end up with ``None``, which will likely cause"
852
860
" your program to generate an easily diagnosed error."
853
861
msgstr ""
862
+ "Algumas operações (por exemplo, ``y.append(10)`` e ``y.sort()``) alteram o "
863
+ "objeto, enquanto operações superficialmente semelhantes (por exemplo ``y = y"
864
+ " + [10]`` e ``sorted(y)``) cria um novo objeto. Em geral em Python (e em "
865
+ "todos os casos na biblioteca padrão) um método que transforma um objeto "
866
+ "retornará ``None`` para ajudar a evitar confundir os dois tipos de "
867
+ "operações. Portanto, se você escrever por engano ``y.sort()`` pensando que "
868
+ "lhe dará uma cópia ordenada de ``y``, você terminará com ``None``, o que "
869
+ "provavelmente fará com que seu programa gere um erro facilmente "
870
+ "diagnosticado."
854
871
855
872
#: ../../faq/programming.rst:490
856
873
msgid ""
@@ -861,6 +878,12 @@ msgid ""
861
878
"mutates ``a_list``, whereas ``some_tuple += (1, 2, 3)`` and ``some_int += "
862
879
"1`` create new objects)."
863
880
msgstr ""
881
+ "No entanto, há uma classe de operações em que a mesma operação às vezes tem "
882
+ "comportamentos diferentes com tipos diferentes: os operadores de atribuição "
883
+ "aumentada. Por exemplo, ``+=`` transforma listas, mas não tuplas ou ints "
884
+ "(``a_list += [1, 2, 3]`` é equivalente a``a_list.extend([1, 2, 3])`` a "
885
+ "altera ``a_list``, sendo que ``some_tuple += (1, 2, 3)`` e ``some_int += 1``"
886
+ " cria novos objetos)."
864
887
865
888
#: ../../faq/programming.rst:497
866
889
msgid "In other words:"
@@ -1052,6 +1075,10 @@ msgid ""
1052
1075
"``def`` and ``class`` statements, but in that case the value is a callable. "
1053
1076
"Consider the following code::"
1054
1077
msgstr ""
1078
+ "De um modo geral, não pode, porque os objetos realmente não têm nomes. "
1079
+ "Essencialmente, a atribuição sempre liga um nome a um valor; o mesmo é "
1080
+ "verdade para as instruções ``def`` e ``class``, mas nesse caso o valor é um "
1081
+ "chamável. Considere o seguinte código::"
1055
1082
1056
1083
#: ../../faq/programming.rst:677
1057
1084
msgid ""
@@ -1092,6 +1119,11 @@ msgid ""
1092
1119
"so the only way to find out what it's called is to ask all your neighbours "
1093
1120
"(namespaces) if it's their cat (object)..."
1094
1121
msgstr ""
1122
+ "Da mesma forma que você pega o nome daquele gato que encontrou na sua "
1123
+ "varanda: o próprio gato (objeto) não pode lhe dizer o seu nome, e ele "
1124
+ "realmente não se importa -- então a única maneira de descobrir como ele se "
1125
+ "chama é perguntar a todos os seus vizinhos (espaços de nomes) se é o gato "
1126
+ "deles (objeto)..."
1095
1127
1096
1128
#: ../../faq/programming.rst:695
1097
1129
msgid ""
@@ -1159,13 +1191,15 @@ msgstr ""
1159
1191
1160
1192
#: ../../faq/programming.rst:741
1161
1193
msgid "Is it possible to write obfuscated one-liners in Python?"
1162
- msgstr ""
1194
+ msgstr "É possível escrever instruções de uma só linha ofuscadas em Python? "
1163
1195
1164
1196
#: ../../faq/programming.rst:743
1165
1197
msgid ""
1166
1198
"Yes. Usually this is done by nesting :keyword:`lambda` within "
1167
1199
":keyword:`!lambda`. See the following three examples, due to Ulf Bartelt::"
1168
1200
msgstr ""
1201
+ "sim. Normalmente, isso é feito aninhando :keyword:`lambda` dentro de "
1202
+ ":keyword:`!lambda`. Veja os três exemplos a seguir, devido a Ulf Bartelt::"
1169
1203
1170
1204
#: ../../faq/programming.rst:770
1171
1205
msgid "Don't try this at home, kids!"
@@ -1184,13 +1218,23 @@ msgid ""
1184
1218
"on their position. For example, :func:`divmod` is a function that accepts "
1185
1219
"positional-only parameters. Its documentation looks like this::"
1186
1220
msgstr ""
1221
+ "Uma barra na lista de argumentos de uma função indica que os parâmetros "
1222
+ "anteriores são somente-posicionais. Parâmetros somente-posicionais são "
1223
+ "aqueles sem um nome utilizável externamente. Ao chamar uma função que aceita"
1224
+ " parâmetros somente-posicionais, os argumentos são mapeados para parâmetros "
1225
+ "com base apenas em sua posição. Por exemplo, :func:`divmod` é uma função que"
1226
+ " aceita parâmetros somente-posicionais. Sua documentação se parece com "
1227
+ "isto::"
1187
1228
1188
1229
#: ../../faq/programming.rst:791
1189
1230
msgid ""
1190
1231
"The slash at the end of the parameter list means that both parameters are "
1191
1232
"positional-only. Thus, calling :func:`divmod` with keyword arguments would "
1192
1233
"lead to an error::"
1193
1234
msgstr ""
1235
+ "A barra no final da lista de parâmetros significa que ambos os parâmetros "
1236
+ "são somente-posicionais. Assim, chamar :func:`divmod` com argumentos "
1237
+ "nomeados levaria a um erro::"
1194
1238
1195
1239
#: ../../faq/programming.rst:802
1196
1240
msgid "Numbers and strings"
@@ -1239,6 +1283,9 @@ msgid ""
1239
1283
"identity to hold, and then compilers that truncate ``i // j`` need to make "
1240
1284
"``i % j`` have the same sign as ``i``."
1241
1285
msgstr ""
1286
+ "então a divisão inteira deve retornar o piso. C também requer que essa "
1287
+ "identidade seja mantida, e então os compiladores que truncarem ``i // j`` "
1288
+ "precisam fazer com que ``i % j`` tenham o mesmo sinal que ``i``."
1242
1289
1243
1290
#: ../../faq/programming.rst:839
1244
1291
msgid ""
@@ -1248,6 +1295,11 @@ msgid ""
1248
1295
"say 200 hours ago? ``-190 % 12 == 2`` is useful; ``-190 % 12 == -10`` is a "
1249
1296
"bug waiting to bite."
1250
1297
msgstr ""
1298
+ "Existem poucos casos de uso reais para ``i % j`` quando ``j`` é negativo. "
1299
+ "Quando ``j`` é positivo, existem muitos, e em virtualmente todos eles é mais"
1300
+ " útil para ``i % j`` ser ``>= 0``. Se o relógio marca 10 agora, o que dizia "
1301
+ "há 200 horas? ``-190 % 12 == 2`` é útil, enquanto ``-190 % 12 == -10`` é um "
1302
+ "bug esperando para morder."
1251
1303
1252
1304
#: ../../faq/programming.rst:847
1253
1305
msgid "How do I convert a string to a number?"
@@ -1282,13 +1334,22 @@ msgid ""
1282
1334
"``__import__('os').system(\" rm -rf $HOME\" )`` which would erase your home "
1283
1335
"directory."
1284
1336
msgstr ""
1337
+ "Não use a função embutida :func:`eval` se tudo que você precisa é converter "
1338
+ "strings em números. :func:`eval` será significativamente mais lento e "
1339
+ "apresenta um risco de segurança: alguém pode passar a você uma expressão "
1340
+ "Python que pode ter efeitos colaterais indesejados. Por exemplo, alguém "
1341
+ "poderia passar ``__import__('os').system(\" rm -rf $HOME\" )`` que apagaria "
1342
+ "seu diretório pessoal."
1285
1343
1286
1344
#: ../../faq/programming.rst:866
1287
1345
msgid ""
1288
1346
":func:`eval` also has the effect of interpreting numbers as Python "
1289
1347
"expressions, so that e.g. ``eval('09')`` gives a syntax error because Python"
1290
1348
" does not allow leading '0' in a decimal number (except '0')."
1291
1349
msgstr ""
1350
+ ":func:`eval` também tem o efeito de interpretar números como expressões "
1351
+ "Python, para que, por exemplo, ``eval('09')`` dá um erro de sintaxe porque "
1352
+ "Python não permite '0' inicial em um número decimal (exceto '0')."
1292
1353
1293
1354
#: ../../faq/programming.rst:872
1294
1355
msgid "How do I convert a number to a string?"
0 commit comments