@@ -43,8 +43,8 @@ msgid ""
43
43
"Is there a source code level debugger with breakpoints, single-stepping, "
44
44
"etc.?"
45
45
msgstr ""
46
- "Existe um depurador a nível de código-fonte que possui breakpoints, single- "
47
- "stepping e etc.?"
46
+ "Existe um depurador a nível de código-fonte que possuo pontos de interrupção "
47
+ "(breakpoints), single-stepping etc.?"
48
48
49
49
#: ../../faq/programming.rst:17 ../../faq/programming.rst:57
50
50
msgid "Yes."
@@ -90,6 +90,12 @@ msgid ""
90
90
"the `ActivePython <https://www.activestate.com/products/python/>`_ "
91
91
"distribution."
92
92
msgstr ""
93
+ "O PythonWin é uma IDE feita para o Python que inclui um depurador de GUI "
94
+ "baseado no pdb. O depurador PythonWin colora os pontos de interrupção e tem "
95
+ "alguns recursos legais, como a depuração de programas que não são PythonWin. "
96
+ "O PythonWin está disponível como parte do projeto `pywin32 <https://github."
97
+ "com/mhammond/pywin32>`_ e como parte da distribuição `ActivePython <https://"
98
+ "www.activestate.com/products/python/>`_."
93
99
94
100
#: ../../faq/programming.rst:38
95
101
msgid ""
@@ -104,6 +110,8 @@ msgid ""
104
110
"`trepan3k <https://github.com/rocky/python3-trepan/>`_ is a gdb-like "
105
111
"debugger."
106
112
msgstr ""
113
+ "`trepan3k <https://github.com/rocky/python3-trepan/>`_ é um depurador "
114
+ "similar ao gdb."
107
115
108
116
#: ../../faq/programming.rst:43
109
117
msgid ""
@@ -123,15 +131,15 @@ msgstr ""
123
131
124
132
#: ../../faq/programming.rst:49
125
133
msgid "`Wing IDE <https://wingware.com/>`_"
126
- msgstr ""
134
+ msgstr "`Wing IDE <https://wingware.com/>`_ "
127
135
128
136
#: ../../faq/programming.rst:50
129
137
msgid "`Komodo IDE <https://www.activestate.com/products/komodo-ide/>`_"
130
- msgstr ""
138
+ msgstr "`Komodo IDE <https://www.activestate.com/products/komodo-ide/>`_ "
131
139
132
140
#: ../../faq/programming.rst:51
133
141
msgid "`PyCharm <https://www.jetbrains.com/pycharm/>`_"
134
- msgstr ""
142
+ msgstr "`PyCharm <https://www.jetbrains.com/pycharm/>`_ "
135
143
136
144
#: ../../faq/programming.rst:55
137
145
msgid "Are there tools to help find bugs or perform static analysis?"
@@ -222,29 +230,32 @@ msgstr ""
222
230
223
231
#: ../../faq/programming.rst:97
224
232
msgid "`Nuitka <https://nuitka.net/>`_ (Cross-platform)"
225
- msgstr ""
233
+ msgstr "`Nuitka <https://nuitka.net/>`_ (Multiplataforma) "
226
234
227
235
#: ../../faq/programming.rst:98
228
236
msgid "`PyInstaller <http://www.pyinstaller.org/>`_ (Cross-platform)"
229
- msgstr ""
237
+ msgstr "`PyInstaller <http://www.pyinstaller.org/>`_ (Multiplataforma) "
230
238
231
239
#: ../../faq/programming.rst:99
232
240
msgid ""
233
241
"`PyOxidizer <https://pyoxidizer.readthedocs.io/en/stable/>`_ (Cross-platform)"
234
242
msgstr ""
243
+ "`PyOxidizer <https://pyoxidizer.readthedocs.io/en/stable/>`_ "
244
+ "(Multiplataforma)"
235
245
236
246
#: ../../faq/programming.rst:100
237
247
msgid ""
238
248
"`cx_Freeze <https://marcelotduarte.github.io/cx_Freeze/>`_ (Cross-platform)"
239
249
msgstr ""
250
+ "`cx_Freeze <https://marcelotduarte.github.io/cx_Freeze/>`_ (Multiplataforma)"
240
251
241
252
#: ../../faq/programming.rst:101
242
253
msgid "`py2app <https://github.com/ronaldoussoren/py2app>`_ (macOS only)"
243
- msgstr ""
254
+ msgstr "`py2app <https://github.com/ronaldoussoren/py2app>`_ (somente macOS) "
244
255
245
256
#: ../../faq/programming.rst:102
246
257
msgid "`py2exe <http://www.py2exe.org/>`_ (Windows only)"
247
- msgstr ""
258
+ msgstr "`py2exe <http://www.py2exe.org/>`_ (somente Windows) "
248
259
249
260
#: ../../faq/programming.rst:105
250
261
msgid "Are there coding standards or a style guide for Python programs?"
@@ -361,6 +372,14 @@ msgid ""
361
372
"a component of an imported module. This clutter would defeat the usefulness "
362
373
"of the ``global`` declaration for identifying side-effects."
363
374
msgstr ""
375
+ "Embora um pouco surpreendente no início, um momento de consideração explica "
376
+ "isso. Por um lado, exigir :keyword:`global` para variáveis atribuídas "
377
+ "fornece uma barreira contra efeitos colaterais indesejados. Por outro lado, "
378
+ "se ``global`` fosse necessário para todas as referências globais, você "
379
+ "estaria usando ``global`` o tempo todo. Você teria que declarar como global "
380
+ "todas as referências a uma função embutida ou a um componente de um módulo "
381
+ "importado. Essa desordem anularia a utilidade da declaração de ``global`` "
382
+ "para identificar efeitos colaterais."
364
383
365
384
#: ../../faq/programming.rst:201
366
385
msgid ""
@@ -705,11 +724,11 @@ msgid ""
705
724
"tuple and the keyword arguments as a dictionary. You can then pass these "
706
725
"arguments when calling another function by using ``*`` and ``**``::"
707
726
msgstr ""
708
- "Preceda os argumentos com o uso de especificadores (asteriscos) ``*`` ou "
709
- "``**`` na lista de parâmetros da função; Isso faz com que os argumentos "
710
- "posicionais como uma tupla e os keyword arguments sejam passados como um "
711
- "dicionário. Poderás, também, passar esses argumentos ao invocar outra função "
712
- "usando ``*`` e ``**``::"
727
+ "Colete os argumentos usando os especificadores ``*`` ou ``**`` na lista de "
728
+ "parâmetros da função. Isso faz com que os argumentos posicionais como tupla "
729
+ "e os argumentos nomeados sejam passados como um dicionário. Você pode, "
730
+ "também, passar esses argumentos ao invocar outra função usando ``*`` e "
731
+ "``**``::"
713
732
714
733
#: ../../faq/programming.rst:408
715
734
msgid "What is the difference between arguments and parameters?"
@@ -824,6 +843,15 @@ msgid ""
824
843
"copy of ``y``, you'll instead end up with ``None``, which will likely cause "
825
844
"your program to generate an easily diagnosed error."
826
845
msgstr ""
846
+ "Algumas operações (por exemplo, ``y.append(10)`` e ``y.sort()``) alteram o "
847
+ "objeto, enquanto operações superficialmente semelhantes (por exemplo ``y = y "
848
+ "+ [10]`` e ``sorted(y)``) cria um novo objeto. Em geral em Python (e em "
849
+ "todos os casos na biblioteca padrão) um método que transforma um objeto "
850
+ "retornará ``None`` para ajudar a evitar confundir os dois tipos de "
851
+ "operações. Portanto, se você escrever por engano ``y.sort()`` pensando que "
852
+ "lhe dará uma cópia ordenada de ``y``, você terminará com ``None``, o que "
853
+ "provavelmente fará com que seu programa gere um erro facilmente "
854
+ "diagnosticado."
827
855
828
856
#: ../../faq/programming.rst:480
829
857
msgid ""
@@ -834,6 +862,12 @@ msgid ""
834
862
"mutates ``a_list``, whereas ``some_tuple += (1, 2, 3)`` and ``some_int += "
835
863
"1`` create new objects)."
836
864
msgstr ""
865
+ "No entanto, há uma classe de operações em que a mesma operação às vezes tem "
866
+ "comportamentos diferentes com tipos diferentes: os operadores de atribuição "
867
+ "aumentada. Por exemplo, ``+=`` transforma listas, mas não tuplas ou ints "
868
+ "(``a_list += [1, 2, 3]`` é equivalente a``a_list.extend([1, 2, 3])`` a "
869
+ "altera ``a_list``, sendo que ``some_tuple += (1, 2, 3)`` e ``some_int += 1`` "
870
+ "cria novos objetos)."
837
871
838
872
#: ../../faq/programming.rst:487
839
873
msgid "In other words:"
@@ -1025,6 +1059,10 @@ msgid ""
1025
1059
"``def`` and ``class`` statements, but in that case the value is a callable. "
1026
1060
"Consider the following code::"
1027
1061
msgstr ""
1062
+ "De um modo geral, não pode, porque os objetos realmente não têm nomes. "
1063
+ "Essencialmente, a atribuição sempre liga um nome a um valor; o mesmo é "
1064
+ "verdade para as instruções ``def`` e ``class``, mas nesse caso o valor é um "
1065
+ "chamável. Considere o seguinte código::"
1028
1066
1029
1067
#: ../../faq/programming.rst:670
1030
1068
msgid ""
@@ -1065,6 +1103,11 @@ msgid ""
1065
1103
"so the only way to find out what it's called is to ask all your neighbours "
1066
1104
"(namespaces) if it's their cat (object)..."
1067
1105
msgstr ""
1106
+ "Da mesma forma que você pega o nome daquele gato que encontrou na sua "
1107
+ "varanda: o próprio gato (objeto) não pode lhe dizer o seu nome, e ele "
1108
+ "realmente não se importa -- então a única maneira de descobrir como ele se "
1109
+ "chama é perguntar a todos os seus vizinhos (espaços de nomes) se é o gato "
1110
+ "deles (objeto)..."
1068
1111
1069
1112
#: ../../faq/programming.rst:688
1070
1113
msgid ""
@@ -1132,13 +1175,15 @@ msgstr ""
1132
1175
1133
1176
#: ../../faq/programming.rst:734
1134
1177
msgid "Is it possible to write obfuscated one-liners in Python?"
1135
- msgstr ""
1178
+ msgstr "É possível escrever instruções de uma só linha ofuscadas em Python? "
1136
1179
1137
1180
#: ../../faq/programming.rst:736
1138
1181
msgid ""
1139
1182
"Yes. Usually this is done by nesting :keyword:`lambda` within :keyword:`!"
1140
1183
"lambda`. See the following three examples, due to Ulf Bartelt::"
1141
1184
msgstr ""
1185
+ "sim. Normalmente, isso é feito aninhando :keyword:`lambda` dentro de :"
1186
+ "keyword:`!lambda`. Veja os três exemplos a seguir, devido a Ulf Bartelt::"
1142
1187
1143
1188
#: ../../faq/programming.rst:763
1144
1189
msgid "Don't try this at home, kids!"
@@ -1157,13 +1202,22 @@ msgid ""
1157
1202
"position. For example, :func:`divmod` is a function that accepts positional-"
1158
1203
"only parameters. Its documentation looks like this::"
1159
1204
msgstr ""
1205
+ "Uma barra na lista de argumentos de uma função indica que os parâmetros "
1206
+ "anteriores são somente-posicionais. Parâmetros somente-posicionais são "
1207
+ "aqueles sem um nome utilizável externamente. Ao chamar uma função que aceita "
1208
+ "parâmetros somente-posicionais, os argumentos são mapeados para parâmetros "
1209
+ "com base apenas em sua posição. Por exemplo, :func:`divmod` é uma função que "
1210
+ "aceita parâmetros somente-posicionais. Sua documentação se parece com isto::"
1160
1211
1161
1212
#: ../../faq/programming.rst:784
1162
1213
msgid ""
1163
1214
"The slash at the end of the parameter list means that both parameters are "
1164
1215
"positional-only. Thus, calling :func:`divmod` with keyword arguments would "
1165
1216
"lead to an error::"
1166
1217
msgstr ""
1218
+ "A barra no final da lista de parâmetros significa que ambos os parâmetros "
1219
+ "são somente-posicionais. Assim, chamar :func:`divmod` com argumentos "
1220
+ "nomeados levaria a um erro::"
1167
1221
1168
1222
#: ../../faq/programming.rst:795
1169
1223
msgid "Numbers and strings"
@@ -1212,6 +1266,9 @@ msgid ""
1212
1266
"identity to hold, and then compilers that truncate ``i // j`` need to make "
1213
1267
"``i % j`` have the same sign as ``i``."
1214
1268
msgstr ""
1269
+ "então a divisão inteira deve retornar o piso. C também requer que essa "
1270
+ "identidade seja mantida, e então os compiladores que truncarem ``i // j`` "
1271
+ "precisam fazer com que ``i % j`` tenham o mesmo sinal que ``i``."
1215
1272
1216
1273
#: ../../faq/programming.rst:832
1217
1274
msgid ""
@@ -1221,6 +1278,11 @@ msgid ""
1221
1278
"say 200 hours ago? ``-190 % 12 == 2`` is useful; ``-190 % 12 == -10`` is a "
1222
1279
"bug waiting to bite."
1223
1280
msgstr ""
1281
+ "Existem poucos casos de uso reais para ``i % j`` quando ``j`` é negativo. "
1282
+ "Quando ``j`` é positivo, existem muitos, e em virtualmente todos eles é mais "
1283
+ "útil para ``i % j`` ser ``>= 0``. Se o relógio marca 10 agora, o que dizia "
1284
+ "há 200 horas? ``-190 % 12 == 2`` é útil, enquanto ``-190 % 12 == -10`` é um "
1285
+ "bug esperando para morder."
1224
1286
1225
1287
#: ../../faq/programming.rst:840
1226
1288
msgid "How do I convert a string to a number?"
@@ -1245,6 +1307,12 @@ msgid ""
1245
1307
"the number is interpreted using Python's rules: a leading '0o' indicates "
1246
1308
"octal, and '0x' indicates a hex number."
1247
1309
msgstr ""
1310
+ "Por padrão, eles interpretam o número como decimal, de modo que "
1311
+ "``int('0144') == 144`` é verdadeiro e ``int('0x144')`` levanta :exc:"
1312
+ "`ValueError`. ``int(string, base)`` toma a base para converter como um "
1313
+ "segundo argumento opcional, então ``int( '0x144', 16) == 324``. Se a base "
1314
+ "for especificada como 0, o número é interpretado usando as regras do Python: "
1315
+ "um \" 0o\" à esquerda indica octal e \" 0x\" indica um número hexadecimal."
1248
1316
1249
1317
#: ../../faq/programming.rst:853
1250
1318
msgid ""
@@ -1255,13 +1323,22 @@ msgid ""
1255
1323
"``__import__('os').system(\" rm -rf $HOME\" )`` which would erase your home "
1256
1324
"directory."
1257
1325
msgstr ""
1326
+ "Não use a função embutida :func:`eval` se tudo que você precisa é converter "
1327
+ "strings em números. :func:`eval` será significativamente mais lento e "
1328
+ "apresenta um risco de segurança: alguém pode passar a você uma expressão "
1329
+ "Python que pode ter efeitos colaterais indesejados. Por exemplo, alguém "
1330
+ "poderia passar ``__import__('os').system(\" rm -rf $HOME\" )`` que apagaria "
1331
+ "seu diretório pessoal."
1258
1332
1259
1333
#: ../../faq/programming.rst:860
1260
1334
msgid ""
1261
1335
":func:`eval` also has the effect of interpreting numbers as Python "
1262
1336
"expressions, so that e.g. ``eval('09')`` gives a syntax error because Python "
1263
1337
"does not allow leading '0' in a decimal number (except '0')."
1264
1338
msgstr ""
1339
+ ":func:`eval` também tem o efeito de interpretar números como expressões "
1340
+ "Python, para que, por exemplo, ``eval('09')`` dá um erro de sintaxe porque "
1341
+ "Python não permite '0' inicial em um número decimal (exceto '0')."
1265
1342
1266
1343
#: ../../faq/programming.rst:866
1267
1344
msgid "How do I convert a number to a string?"
@@ -2181,7 +2258,7 @@ msgid ""
2181
2258
"using default arguments. For example::"
2182
2259
msgstr ""
2183
2260
"Em Python você tem que escrever um único construtor que pega todos os casos "
2184
- "usando argumentos padrões . Por exemplo:: "
2261
+ "usando argumentos padrão . Por exemplo::"
2185
2262
2186
2263
#: ../../faq/programming.rst:1641
2187
2264
msgid "This is not entirely equivalent, but close enough in practice."
0 commit comments