Il y a donc deux problèmes. J'ai ce morceau de code dans Sublime Text 3, où j'utilise le paquet Anaconda (les espaces pertinents seront affichés comme •
, tel qu'il est affiché dans ST3, les paramètres Python.sublime sont affichés à la fin de cet article):Erreur Linter "ligne trop longue" et espace excessif dans les chaînes multilignes dans ST3
elif choice == "taunt bear" and not bear_moved:
••••••••print("The•bear•has•moved•from•the•door.•You•can•go•through•it•now"
)
bear_moved = True
premier problème:
J'ai Word Wrap activé et la règle fixée à 80, il enveloppe le code automatiquement, ayant exactement 79 caractères sur la ligne avec « impression ... » et 1 caractère sur la ligne suivante. Mais linter me donne une erreur "[W] PEP8 (E501): ligne trop longue (80> 79 caractères)". J'ai des parenthèses droites auto-indentées sur la ligne suivante, donc il n'y a pas de violation de la règle "79 caractères par ligne". Quel pourrait être le problème ici? Est-ce que la ligne devrait toujours être inférieure à 80 caractères, même si elle couvre plusieurs lignes?
Deuxième problème:
elif choice == "taunt bear" and not bear_moved:
••••••••print("""The•bear•has•moved•from•the•door.
•••••••••••••••••You•can•go•through•it•now""")
bear_moved = True
Ici, je voulais me débarrasser de l'erreur « > 79 caractères » et faire une chaîne multi-ligne. La chose est, quand je divise deux phrases dans la chaîne sur deux lignes pour pouvoir les aligner selon les règles PEP8, je dois les indenter, et l'indentation signifie un espace excessif dans la chaîne, ce qui n'est pas ce que je veux. Voici comment cela devrait fonctionner idéalement, avec un espace nécessaire juste après la fin de la première phrase, et pas d'espace utilisé pour mettre en retrait la seconde moitié de la chaîne:
elif choice == "taunt bear" and not bear_moved:
••••••••print("""The•bear•has•moved•from•the•door.•
You•can•go•through•it•now""")
bear_moved = True
Python.sublime-paramètres:
{
// editor options
"draw_white_space": "all",
// tabs and whitespace
"auto_indent": true,
"rulers": [80],
"smart_indent": true,
"tab_size": 4,
"trim_automatic_white_space": true,
"use_tab_stops": false,
"word_wrap": true,
"wrap_width": 80
}