En Python, quelle est la différence entre les expressions et les déclarations?
Expressions ne contient que identifiants , littéraux et opérateurs , où les opérateurs incluent les opérateurs arithmétiques et booléens, la fonction opérateur d'appel()
l'opérateur d'abonnement[]
et similaire, et peut être réduit à une sorte de "valeur", qui peut être n'importe quel objet Python. Exemples:
3 + 5
map(lambda x: x*x, range(10))
[a.x for a in some_iterable]
yield 7
Déclarations (voir 1, 2), par contre, sont tout ce qui peut constituer une ligne (ou plusieurs lignes) de code Python. Notez que les expressions sont aussi des déclarations. Exemples:
# all the above expressions
print 42
if x: do_y()
return
a = 7
Expression - de mon dictionnaire:
expression: Mathématiques une collection de symboles qui expriment conjointement un quantité: l'expression pour le la circonférence d'un cercle est 2πr.
En termes généraux bruts: Les expressions produisent au moins une valeur.
En Python, les expressions sont largement couvertes dans les Référence du langage Python En général, les expressions en Python sont composées d'une combinaison syntaxiquement légale de Atoms , Primaires et Les opérateurs .
_ { Expressions de Python de Wikipedia }
Exemples d'expressions:
Littéraux et combinaisons syntaxiquement correctes avec opérateurs et fonctions intégrées ou à l'appel d'une fonction écrite par l'utilisateur:
>>> 23
23
>>> 23l
23L
>>> range(4)
[0, 1, 2, 3]
>>> 2L*bin(2)
'0b100b10'
>>> def func(a): # Statement, just part of the example...
... return a*a # Statement...
...
>>> func(3)*4
36
>>> func(5) is func(a=5)
True
Déclaration de Wikipedia:
En programmation informatique, une déclaration peut être considéré comme le plus petit élément autonome d'un impératif langage de programmation. Un programme est formé par une séquence d'un ou plusieurs déclarations. Une déclaration aura composants internes (par exemple, expressions).
_ { Déclarations Python de Wikipedia }
En termes généraux bruts: déclarations faites quelque chose et sont souvent composées d'expressions (ou d'autres déclarations)
La référence du langage Python couvre instructions simples et instructions composées de manière exhaustive.
La distinction entre "Les déclarations font quelque chose" et "Les expressions produisent une valeur" peut devenir floue:
if
est généralement une instruction, telle que if x<0: x=0
, mais vous pouvez également avoir une expression conditionnelle comme x=0 if x<0 else 1
qui sont des expressions. Dans d'autres langues, comme C, ce formulaire s'appelle un opérateur comme celui-ci x=x<0?0:1;
def func(a): return a*a
est une expression utilisée, mais composée d'instructions définie. None
est une procédure en Python: def proc(): pass
Syntaxiquement, vous pouvez utiliser proc()
comme expression, mais il s’agit probablement d’un bogue ...func(x=2);
Est-ce une expression ou une déclaration? ( Answer: expression utilisée comme déclaration avec un effet secondaire. ) Le formulaire func(x=2)
est illégal en Python (ou du moins, sa signification est différente. func(a=3)
définit l'argument nommé a
à 3)Bien que cela ne soit pas lié à Python:
Un expression
donne une valeur . Un statement
fait quelque chose.
>>> x = 1
>>> y = x + 1 # an expression
>>> print y # a statement (in 2.x)
2
Les instructions représentent une action ou une commande, par exemple print, une instruction d’affectation.
print 'hello', x = 1
L'expression est une combinaison de variables, d'opérations et de valeurs qui produit une valeur de résultat.
5 * 5 # yields 25
Enfin, les expressions
print 5*5
Une expression est quelque chose qui peut être réduit à une valeur, par exemple "1+3"
ou "foo = 1+3"
.
C'est facile à vérifier:
print foo = 1+3
Si cela ne fonctionne pas, c'est une déclaration, sinon, c'est une expression.
Une autre déclaration pourrait être:
class Foo(Bar): pass
comme il ne peut pas être réduit à une valeur.
Une expression est quelque chose, alors qu'une déclaration fait quelque chose .
Une expression est aussi une déclaration, mais elle doit avoir un retour.
>>> 2 * 2 #expression
>>> print(2 * 2) #statement
PS: l'interprète affiche toujours les valeurs de toutes les expressions.
DÉCLARATION:
Une déclaration est une action ou une commande qui fait quelque chose. Ex: If-Else, Loops..etc
val a: Int = 5
If(a>5) print("Hey!") else print("Hi!")
EXPRESSION:
Une expression est une combinaison de valeurs, d'opérateurs et de littéraux qui produit quelque chose.
val a: Int = 5 + 5 #yields 10
Expressions:
objects
et operators
.<object><operator><object>
2.0 + 3
est une expression dont le résultat est 5.0
et qui est associée à un type float
.
Déclarations
Les déclarations sont composées d'expressions. Il peut couvrir plusieurs lignes.
Une déclaration contient un mot clé.
Une expression ne contient pas de mot-clé.
print "hello"
est une instruction, car print
est un mot clé.
"hello"
est une expression, mais la compression de liste l’oppose.
Ce qui suit est une déclaration d'expression, et c'est vrai sans compréhension de liste:
(x*2 for x in range(10))
En termes simples: une déclaration est composée d'une ou de plusieurs expressions, tandis qu'une expression est composée d'un ou de plusieurs identificateurs (noms), littéraux et opérateurs.