Existe alguma coisa que não pode aparecer parênteses dentro?
-
03-07-2019 - |
Pergunta
Eu estava intrigado com esta resposta à minha pergunta sobre < a href = "https://stackoverflow.com/questions/542929/highlighting-unmatched-brackets-in-vim"> obter vim para destacar suportes inigualáveis ?? em código python. Especificamente, eu estou falando sobre a segunda parte da sua resposta, onde ele menciona que o C destaque de sintaxe é realmente a sinalização como um erro qualquer instância de chaves dentro de parênteses. É uma sugestão discreta que você tem parens não fechadas quando todas as suas chaves a jusante acender em vermelho.
Esse truque funciona porque a sintaxe C não permite chaves dentro dos parênteses. Para satisfazer o meu (? Mórbida) curiosidade, posso fazer algo semelhante com o código de python? Existe alguma coisa na sintaxe python que não é legal parênteses dentro?
Nota: Eu não estou trolling para uma resposta melhor para a minha outra pergunta (há uma abundância de boas respostas já). Eu sou apenas curioso se este truque é mesmo possível com o código de python.
Solução
Qualquer declaração Python (importação, se, por, enquanto, def, classe etc.) pode não ser nos parênteses:
In [1]: (import sys)
------------------------------------------------------------
File "<ipython console>", line 1
(import sys)
^
<type 'exceptions.SyntaxError'>: invalid syntax
Outras dicas
Eu não sei o que você está tentando fazer, mas como sobre "def" ou "classe"?
esse trecho é válido quando não é dentro de parênteses
class dummy: pass