web-dev-qa-db-fra.com

Existe-t-il un moyen rapide de réduire l'indentation de plusieurs lignes en Python?

Je suis un débutant en programmation python. Je trouve que la diminution de l'indentation d'un bloc de codes dans python est assez ennuyeux. Par exemple, étant donné le code suivant fragment

for i in range(density):
   if i < 5:
      x, y = rnd(0,shape[1]//2)*2, rnd(0,shape[0]//2)*2
      Z[y,x] = 1 
      ....
      ....

Si je commente l'instruction if, je dois diminuer l'indentation des lignes dans le bloc if une par une, y a-t-il un moyen de le faire d'un seul coup de clé en augmentant l'indentation d'un bloc de codes en les sélectionnant et appuyez sur la TAB clé? Je suppose que cela dépend de l'environnement, pourriez-vous s'il vous plaît fournir des solutions pour le faire dans Eclipse + Pydev, VIM et d'autres éditeurs courants?

29
sma

Dans vim, vous sélectionnez le bloc puis appuyez sur la touche < clé.

Dans Eclipse, vous le sélectionnez et appuyez sur SHIFTTAB.

Chaque éditeur de code digne de ce nom a une façon unique de mettre en retrait et de déduire les blocs.

61
Borealid

Vous pouvez également remplacer l'instruction if par:

if True:  # if i < 5:

et laissez tout le reste tranquille - pas de retrait/déduction à annuler plus tard.

8
PaulMcG

Peut-être en retard pour votre cas, mais si cela est utile pour d'autres:

SHIFTTAB supprimera le texte sélectionné dans Eclipse.

3
sanja7s

Utilisez les paramètres Préférences-Pydev-Editor pour décocher les onglets de changement en espaces. Cela fait des erreurs de détente et votre problème. Et testez d'autres options comme l'onglet 4 espaces, l'onglet 8 espaces et ainsi de suite.

1
42n4