web-dev-qa-db-fra.com

Qu'est-ce que Python Whitespace et comment ça marche?

Je fais des recherches sur Google et sur ce site Web depuis quelque temps déjà, mais je n'arrive pas à trouver une réponse claire à ce sujet. 

Qu'est-ce qu'un espace en Python? Je sais que cela a quelque chose à voir avec l'indentation avec chaque ligne, mais je ne sais pas exactement comment l'utiliser. Comment ça marche?

13
user1892304

Les espaces sont utilisés pour désigner les blocs. Dans d'autres langues, les accolades ({ et }) sont courantes. Lorsque vous indentez, cela devient un enfant de la ligne précédente. En plus de l'indentation, le parent est également suivi de deux points.

im_a_parent:
    im_a_child:
        im_a_grandchild
    im_another_child:
        im_another_grand_child

De mémoire, def, if, Elif, else, try, except, finally, with, for, while et class, tous des blocs de départ. Pour mettre fin à un bloc, vous vous en sortez simplement et vous aurez des frères et soeurs. im_a_child et im_another_child ci-dessus sont des frères et soeurs.

10
FakeRainBrigand

Les espaces blancs signifient simplement des caractères utilisés pour l’espacement et qui ont une représentation "vide". Dans le contexte de python, cela signifie des tabulations et des espaces (cela inclut probablement aussi des espaces unicode exotiques, mais ne les utilise pas). La référence définitive est la suivante: http://docs.python.org/2/reference/lexical_analysis.html#indentation

Je ne sais pas exactement comment l'utiliser.

Placez-le au début de la ligne que vous souhaitez mettre en retrait. Si vous mélangez des espaces et des tabulations, vous obtiendrez probablement des résultats géniaux. Restez donc l'un avec l'autre. (La communauté python suit généralement le style PEP8, qui prescrit l'indentation de quatre espaces).

Vous devez créer un nouveau niveau de retrait après chaque point deux-points:

for x in range(0, 50):
    print x
    print 2*x

print x

Dans ce code, les deux premières instructions print sont "à l'intérieur" du corps de l'instruction for car elles sont indentées plus que la ligne contenant la variable for. La troisième print est à l'extérieur car elle est en retrait de la ligne précédente (non vide).

Si vous n'indentez/indentez pas systématiquement, vous obtiendrez des erreurs d'indentation. De plus, toutes les instructions composées (c’est-à-dire celles avec deux points) peuvent avoir le corps fourni sur la même ligne, de sorte qu'aucune indentation n’est requise, mais le corps doit être composé d’une seule déclaration.

Enfin, certaines instructions, telles que lambda, comportent un deux-points, mais ne peuvent pas avoir un bloc multiligne comme corps.

7
Marcin

Il agit comme une accolade. Nous devons maintenir le nombre d'espaces blancs cohérent tout au long du programme.

Exemple 1:

def main():
     print "we are in main function"
     print "print 2nd line"

main()

Résultat: 

Nous sommes en fonction principale
imprimer 2ème ligne 

Exemple 2:

def main():
    print "we are in main function"
print "print 2nd line"

main()

Résultat:

imprimer 2ème ligne
Nous sommes en fonction principale

Ici, dans le 1er programme, l’instruction appartient à la fonction principale car les deux ont un nombre égal d’espaces blancs tandis que dans le 2ème programme, la 1ère ligne est imprimée plus tard car la fonction principale est appelée après la 2ème ligne. Remarque - La 2ème ligne. n'a pas d'espace blanc, il est donc indépendant de la fonction principale.

3
Ashwani Arya
something
{
 something1
 something2
}
something3

En python

Something
    something1
    something2
something3
2
SjayKH

Chaque langage de programmation a sa propre manière de structurer le code.
chaque fois que vous écrivez un bloc de code, il doit être organisé de manière à être compris par tout le monde.

Habituellement utilisé dans condition et classes et définissant la définition.
Il représente le parent, l’enfant et le petit-fils et plus.

Exemple:

def example()
    print "name"
    print "my name"
example()

Ici, vous pouvez dire que example() est un parent et que d’autres sont des enfants.

0
Roshan