Quelle est la différence entre une expression et une instruction en Python?
En Python, Quelle est la différence entre les expressions et les instructions?
12 réponses
Les Expressions contiennent uniquement des identificateurs , littéraux et opérateurs , où les opérateurs incluent des 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
Consolidés (voir 1, 2), d'autre part, sont tout ce qui peut faire jusqu'à une ligne (ou plusieurs lignes) du code Python. Notez que les expressions sont également des instructions. Exemples:
# all the above expressions
print 42
if x: do_y()
return
a = 7
L'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 2nr.
En termes généraux bruts: les Expressions produisent au moins une valeur.
En Python, les expressions sont largement couvertes dans la référence du langage Python {[29] } en général, les expressions en Python sont composées d'un du point de vue syntaxique juridique combinaison de Atomes, Primaires et les Opérateurs.
Les expressions Python de Wikipedia
Exemples d'expressions:
Littéraux et combinaisons syntaxiquement correctes avec opérateurs et fonctions intégrées ou l'appel d'un utilisateur-fonctions écrites:
>>> 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 Wikipédia:
Dans la programmation informatique d'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éclaration. Une déclaration aura composants internes (par exemple, expression).
Les instructions Python de Wikipedia
En termes généraux bruts: Les déclarations font quelque chose et sont souvent composées d'expressions (ou d'autres déclarations)
La référence du langage Python couvre Simple Instructions etinstructions composées largement.
La distinction entre "les déclarations font quelque chose "et" les expressions produisent une valeur " peut cependant devenir floue:
- les compréhensions de liste sont considérées comme des "Expressions" mais elles ont des constructions en boucle et donc font aussi quelque chose.
- Le
if
est généralement un énoncé tel queif x<0: x=0
mais vous pouvez aussi avoir un expression conditionnelle commex=0 if x<0 else 1
qui sont des expressions. Dans D'autres langues, comme C, Cette forme est appelée un opérateur comme cecix=x<0?0:1;
- vous pouvez écrire vos propres Expressions en écrivant une fonction.
def func(a): return a*a
est une expression lorsqu'elle est utilisée mais composée d'instructions lorsqu'elle est définie. - Une expression qui retourne
None
est une procédure en Python:def proc(): pass
Syntaxiquement, vous pouvez utiliserproc()
, comme expression, mais c'est probablement un bug... - Python est un peu plus strict que dire que C est sur les différences entre une Expression et une instruction. En C, tout l'expression est une déclaration légale. Vous pouvez avoir
func(x=2);
est-ce une Expression ou une déclaration? (Answer: Expression utilisée comme une déclaration avec un effet secondaire.) La formefunc(x=2)
est illégal en Python (ou au moins, il a une signification différentefunc(a=3)
définit l'argument nomméa
3)
Bien que ce ne soit pas lié à Python:
Un expression
évalue à 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 les instructions d'impression, les instructions d'affectation.
print 'hello', x = 1
Expression est une combinaison de variables, d'opérations et de valeurs qui donne une valeur de résultat.
5 * 5 # yields 25
Enfin, les déclarations d'expression
print 5*5
Une expression est quelque chose qui peut être réduit à une valeur, par exemple "1+3"
ou "foo = 1+3"
.
, Il est facile de vérifier:
print foo = 1+3
Si cela ne fonctionne pas, c'est une affirmation, si elle le fait, c'est une expression.
Une autre déclaration pourrait être:
class Foo(Bar): pass
Car il ne peut pas être réduit à une valeur.
Une expression est quelque chose, tandis qu'une déclaration fait quelque chose.
une expression est également une instruction, mais elle doit avoir un retour.
>>> 2 * 2 #expression
>>> print(2 * 2) #statement
PS: l'interpréteur imprime toujours les valeurs de toutes les expressions.
- une expression est une instruction qui renvoie une valeur. Donc, si elle peut apparaître sur le côté droit de l'affectation, ou en tant que paramètre à un appel de méthode, c'est une expression.
- Certains codes peuvent être à la fois une expression ou une instruction, selon le contexte. Le langage peut avoir un moyen de différencier les deux lorsqu'ils sont ambigus.
Une instruction contient un mot clé.
Une expression ne contient pas de mot clé.
print "hello"
est une déclaration, parce que print
est un mot-clé.
"hello"
est une expression, mais la compression de liste est contre cela.
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))
Je pense que l'expression contient des opérateurs + opérandes et l'objet qui contient le résultat de l'opération... par exemple
var sum = a + b;
Mais une instruction est simplement une ligne d'un code (ce peut être une expression) ou un bloc de code... par exemple
fun printHello(name: String?): Unit {
if (name != null)
println("Hello ${name}")
else
println("Hi there!")
// `return Unit` or `return` is optional
}
Expressions:
- Les Expressions
- sont formées en combinant
objects
etoperators
. - Une expression a une valeur, qui a un type.
- syntaxe pour une expression simple:
<object><operator><object>
2.0 + 3
est une expression qui renvoie 5.0
et a un type float
associés.
États
Les déclarations sont composées d'expression(s). Il peut couvrir plusieurs lignes.
En mots simples: une déclaration est faite d'une ou plusieurs expressions, tandis qu'une expression est faite d'un ou plusieurs identificateurs (noms), littéraux et opérateurs.
Python appelle les expressions "instructions d'expression", Donc la question n'est peut-être pas complètement formée.
Une instruction consiste à peu près tout ce que vous pouvez faire en Python: calculer une valeur, attribuer une valeur, supprimer une variable, imprimer une valeur, renvoyer d'une fonction, déclencher une exception, etc. La liste complète est ici: http://docs.python.org/reference/simple_stmts.html#
Une instruction d'expression est limitée aux fonctions d'appel (par exemple, mathématique.cos(theta)"), les opérateurs ( par exemple, "2+3"), etc. pour produire une valeur.