Respuestas:
Expresiones sólo contienen identificadores , literales y operadores , donde los operadores incluyen operadores aritméticos y booleanas, la función de operador de llamada de ()
la operador de suscripción []
y similares, y se pueden reducir a algún tipo de "valor", que puede ser cualquier objeto Python. Ejemplos:
3 + 5
map(lambda x: x*x, range(10))
[a.x for a in some_iterable]
yield 7
Declaraciones (ver 1 ,2 ), por otro lado, son todo lo que puede formar una línea (o varias líneas) de código Python. Tenga en cuenta que las expresiones también son declaraciones. Ejemplos:
# all the above expressions
print 42
if x: do_y()
return
a = 7
print("Hello world!")
o my_list.append(42)
.
a = yield 7
es válido, yield 7
es una expresión. Hace mucho tiempo, yield
se introdujo como una declaración, pero se generalizó a una expresión en PEP 342 .
Expresión : del New Oxford American Dictionary :
expresión: Matemáticas una colección de símbolos que expresan conjuntamente una cantidad: la expresión para la circunferencia de un círculo es 2πr.
En términos generales brutos: las expresiones producen al menos un valor.
En Python, las expresiones están cubiertas ampliamente en la Referencia del lenguaje Python. En general, las expresiones en Python están compuestas de una combinación sintácticamente legal de átomos , primarios y operadores .
Expresiones de Python de Wikipedia
Ejemplos de expresiones:
Literales y combinaciones sintácticamente correctas con operadores y funciones integradas o la llamada de funciones escritas por el usuario:
>>> 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
Declaración de Wikipedia:
En la programación de computadoras, una declaración puede considerarse como el elemento independiente más pequeño de un lenguaje de programación imperativo. Un programa está formado por una secuencia de una o más declaraciones. Una declaración tendrá componentes internos (p. Ej., Expresiones).
Declaraciones de Python de Wikipedia
En términos generales: las declaraciones hacen algo y a menudo se componen de expresiones (u otras declaraciones)
La Referencia del lenguaje Python cubre declaraciones simples y declaraciones compuestas ampliamente.
Sin embargo, la distinción de "declaraciones hacer algo" y "expresiones producen un valor" puede volverse borrosa:
if
suele ser una declaración, tales como if x<0: x=0
, pero también puede tener una expresión condicional como x=0 if x<0 else 1
que son expresiones. En otros lenguajes, como C, este formulario se llama operador como estex=x<0?0:1;
def func(a): return a*a
es una expresión cuando se usa pero se compone de declaraciones cuando se define.None
es un procedimiento en Python: def proc(): pass
sintácticamente, puede usarlo proc()
como una expresión, pero eso es probablemente un error ...func(x=2);
¿Es eso una expresión o una declaración? ( Respuesta: Expresión utilizada como una instrucción con un efecto secundario ) . La instrucción de asignación del x=2
interior de la llamada a la función func(x=2)
en Python establece el argumento nombrado a
a 2 solo en la llamada ay func
es más limitado que el ejemplo C.Aunque esto no está relacionado con Python:
Un expression
evalúa a un valor. A statement
hace algo.
>>> x + 2 # an expression
>>> x = 1 # a statement
>>> y = x + 1 # a statement
>>> print y # a statement (in 2.x)
2
somelist.append(123)
. La mayoría de las llamadas a funciones, de verdad.
Las declaraciones representan una acción o comando, por ejemplo, imprimir declaraciones, declaraciones de asignación.
print 'hello', x = 1
La expresión es una combinación de variables, operaciones y valores que produce un valor de resultado.
5 * 5 # yields 25
Por último, declaraciones de expresión
print 5*5
Una expresión es algo que se puede reducir a un valor, por ejemplo "1+3"
o"foo = 1+3"
.
Es fácil verificar:
print foo = 1+3
Si no funciona, es una declaración, si lo hace, es una expresión.
Otra declaración podría ser:
class Foo(Bar): pass
ya que no se puede reducir a un valor.
a = b = expr
está permitido, como un caso especial) en Python. En lenguajes que se inspiran más en C, lo es.
class Foo(bar):
es el comienzo de una declaración, no una declaración completa.
foo = 1+3
NO es una expresión. Es una declaración (una tarea para ser precisos). Sin 1+3
embargo, la parte es una expresión.
Una expresión es algo, mientras que una declaración hace algo.
Una expresión también es una declaración, pero debe tener un retorno.
>>> 2 * 2 #expression
>>> print(2 * 2) #statement
PD: El intérprete siempre imprime los valores de todas las expresiones.
DECLARACIÓN:
Una declaración es una acción o un comando que hace algo. Ej: If-Else, Loops..etc
val a: Int = 5
If(a>5) print("Hey!") else print("Hi!")
EXPRESIÓN:
Una expresión es una combinación de valores, operadores y literales que produce algo.
val a: Int = 5 + 5 #yields 10
Una declaración contiene una palabra clave.
Una expresión no contiene una palabra clave.
print "hello"
es una declaración, porque print
es una palabra clave.
"hello"
es una expresión, pero la compresión de la lista está en contra de esto.
Lo siguiente es una declaración de expresión, y es cierto sin la comprensión de la lista:
(x*2 for x in range(10))
x = 1
es una declaración perfectamente buena, pero no contiene palabras clave.
is
es una palabra clave pero x is y
no es necesariamente una declaración (en general, es solo una expresión).
Expresiones:
objects
y operators
.<object><operator><object>
2.0 + 3
es una expresión que se evalúa 5.0
y tiene un tipo float
asociado.
Declaraciones
Las declaraciones están compuestas de expresión (s). Puede abarcar varias líneas.
Hay algunas declaraciones que podrían cambiar el estado de nuestro programa Python: crear o actualizar variables, definir funciones, etc.
Y las expresiones que solo devuelven algún valor no pueden cambiar el estado global o el estado local en una función.
Pero ahora tenemos :=
, es un extraterrestre!
Python llama a las expresiones "declaraciones de expresión", por lo que la pregunta tal vez no esté completamente formada.
Una declaración consta de prácticamente todo lo que puede hacer en Python: calcular un valor, asignar un valor, eliminar una variable, imprimir un valor, regresar de una función, generar una excepción, etc. La lista completa está aquí: http: // docs.python.org/reference/simple_stmts.html#
Una declaración de expresión se limita a funciones de llamada (por ejemplo, math.cos (theta) "), operadores (por ejemplo," 2 + 3 "), etc. para producir un valor.
Creo que una expresión contiene operadores + operandos y el objeto que contiene el resultado de la operación ... por ejemplo
var sum = a + b;
pero una declaración es simplemente una línea de un código (puede ser una expresión) o un bloque de código ... por ejemplo
fun printHello(name: String?): Unit {
if (name != null)
println("Hello ${name}")
else
println("Hi there!")
// `return Unit` or `return` is optional
}