La concaténation de chaîne sans opérateur"+"

Je jouais avec python et j'ai réalisé que nous n'avez pas besoin d'utiliser l'opérateur " + " pour concaténer des chaînes, sauf si elle est utilisée directement.

Par exemple:

string1 = 'Hello'   'World'  #1 works fine
string2 = 'Hello' + 'World'  #2 also works fine

string3 = 'Hello'
string4 = 'World'
string5 = string3   string4  #3 causes syntax error
string6 = string3 + string4  #4 works fine

Maintenant, j'ai deux questions:

  1. Pourquoi déclaration 3 ne fonctionne pas lors de la déclaration 1 n'?
  2. Est-il une différence technique telles que le calcul de la vitesse etc. entre la déclaration 1 et 2?
  • c'est juste similaire à C/C++ où "hello " "world" automatiquement concaténées
  • Il y a un rapport de bug sur ce comportement, mais elle a été rejetée parce que c'est par le design: legacy.python.org/dev/peps/pep-3126
  • Pylint a un avertissement pour certains cas où ce langage est sujette à erreur maintenant: implicit-str-concat-in-sequence. Disponible depuis Pylint 2.2: pylint.pycqa.org/en/stable/whatsnew/2.2.html
InformationsquelleAutor ibrahim | 2013-09-17