Respostas:
Expressões contêm apenas identificadores , literais e operadores , onde os operadores incluem operadores aritméticos e booleanos, a função de operador de chamada ()
do operador de subscrição []
e semelhantes, e pode ser reduzido a uma espécie de "valor", que pode ser qualquer objeto Python. Exemplos:
3 + 5
map(lambda x: x*x, range(10))
[a.x for a in some_iterable]
yield 7
Declarações (consulte 1 ,2 ), por outro lado, são tudo o que pode formar uma linha (ou várias linhas) de código Python. Observe que expressões também são declarações. Exemplos:
# all the above expressions
print 42
if x: do_y()
return
a = 7
print("Hello world!")
ou my_list.append(42)
.
a = yield 7
é válido, yield 7
é uma expressão. Há muito tempo, yield
foi introduzido como uma declaração, mas foi generalizado para uma expressão no PEP 342 .
Expressão - do New Oxford American Dictionary :
expressão: matemática uma coleção de símbolos que expressam conjuntamente uma quantidade: a expressão para a circunferência de um círculo é 2πr.
Em termos gerais brutos: as expressões produzem pelo menos um valor.
No Python, as expressões são abordadas extensivamente na Referência da linguagem Python. Em geral, as expressões no Python são compostas por uma combinação sintaticamente legal de átomos , primárias e operadores .
Expressões Python da Wikipedia
Exemplos de expressões:
Literais e combinações sintaticamente corretas com operadores e funções integradas ou a chamada de funções escritas pelo usuário:
>>> 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
Declaração da Wikipedia:
Na programação de computadores, uma declaração pode ser considerada o menor elemento independente de uma linguagem de programação imperativa. Um programa é formado por uma sequência de uma ou mais instruções. Uma declaração terá componentes internos (por exemplo, expressões).
Instruções Python da Wikipedia
Em termos gerais gerais: as declarações fazem alguma coisa e geralmente são compostas por expressões (ou outras declarações)
A Referência da Linguagem Python abrange extensivamente Instruções Simples e Instruções Compostas .
A distinção de "Declarações faz alguma coisa" e "expressões produzem um valor", porém, a distinção pode ficar embaçada:
if
é geralmente uma declaração, tais como if x<0: x=0
, mas você também pode ter uma expressão condicional , como x=0 if x<0 else 1
que são expressões. Em outros idiomas, como C, esse formulário é chamado de operador como estex=x<0?0:1;
def func(a): return a*a
é uma expressão quando usada, mas composta de instruções quando definida.None
é um procedimento no Python: def proc(): pass
sintaticamente, você pode usar proc()
como expressão, mas isso provavelmente é um bug ...func(x=2);
uma expressão ou declaração? ( Resposta: Expressão usada como uma declaração com efeito colateral. ) A declaração de atribuição x=2
dentro da chamada de função de func(x=2)
no Python define o argumento nomeado a
como 2 somente na chamada func
e é mais limitado que o exemplo C.Embora isso não esteja relacionado ao Python:
Um expression
avalia para um valor. A statement
faz alguma coisa.
>>> x + 2 # an expression
>>> x = 1 # a statement
>>> y = x + 1 # a statement
>>> print y # a statement (in 2.x)
2
somelist.append(123)
,. A maioria das chamadas de função, na verdade.
Instruções representam uma ação ou comando, por exemplo , instruções de impressão, instruções de atribuição.
print 'hello', x = 1
Expressão é uma combinação de variáveis, operações e valores que produz um valor de resultado.
5 * 5 # yields 25
Por fim, instruções de expressão
print 5*5
Uma expressão é algo que pode ser reduzido a um valor, por exemplo "1+3"
ou"foo = 1+3"
.
É fácil verificar:
print foo = 1+3
Se não funcionar, é uma declaração, se funcionar, é uma expressão.
Outra afirmação poderia ser:
class Foo(Bar): pass
pois não pode ser reduzido a um valor.
a = b = expr
é permitido, como um caso especial) em Python. Nas linguagens que extraem mais inspiração de C, é.
class Foo(bar):
é o começo de uma declaração, não uma declaração completa.
foo = 1+3
NÃO é uma expressão. É uma declaração (uma tarefa para ser mais preciso). A parte 1+3
é uma expressão embora.
Uma expressão é alguma coisa, enquanto uma declaração faz alguma coisa.
Uma expressão também é uma declaração, mas deve ter um retorno.
>>> 2 * 2 #expression
>>> print(2 * 2) #statement
PS: O intérprete sempre imprime os valores de todas as expressões.
DECLARAÇÃO:
Uma declaração é uma ação ou um comando que faz alguma coisa. Ex: If-Else, Loops..etc
val a: Int = 5
If(a>5) print("Hey!") else print("Hi!")
EXPRESSÃO:
Uma expressão é uma combinação de valores, operadores e literais que produz algo.
val a: Int = 5 + 5 #yields 10
Uma declaração contém uma palavra-chave.
Uma expressão não contém uma palavra-chave.
print "hello"
é uma instrução, porque print
é uma palavra-chave.
"hello"
é uma expressão, mas a compactação de lista é contra isso.
A seguir, uma declaração de expressão e é verdadeira sem compreensão da lista:
(x*2 for x in range(10))
x = 1
é uma afirmação perfeitamente correta, mas não contém palavras-chave.
is
é uma palavra-chave, mas x is y
não é necessariamente uma declaração (em geral, é apenas uma expressão).
Expressões:
objects
e operators
.<object><operator><object>
2.0 + 3
é uma expressão que é avaliada 5.0
e tem um tipo float
associado a ela.
Afirmações
As instruções são compostas de expressão (s). Pode abranger várias linhas.
Existem algumas instruções que podem mudar o estado do nosso programa Python: criar ou atualizar variáveis, definir funções, etc.
E expressões apenas retornam algum valor não podem alterar o estado global ou local em uma função.
Mas agora temos :=
, é um alienígena!
O Python chama expressões "declarações de expressão", portanto a questão talvez não esteja totalmente formada.
Uma instrução consiste em praticamente tudo o que você pode fazer no Python: calcular um valor, atribuir um valor, excluir uma variável, imprimir um valor, retornar uma função, gerar uma exceção etc. A lista completa está aqui: http: // docs.python.org/reference/simple_stmts.html#
Uma declaração de expressão é limitada a chamar funções (por exemplo, math.cos (theta) "), operadores (por exemplo," 2 + 3 ") etc. para produzir um valor.
Eu acho que uma expressão contém operadores + operandos e o objeto que contém o resultado da operação ... por exemplo
var sum = a + b;
mas uma instrução é simplesmente uma linha de um código (pode ser uma expressão) ou bloco de código ... por exemplo
fun printHello(name: String?): Unit {
if (name != null)
println("Hello ${name}")
else
println("Hi there!")
// `return Unit` or `return` is optional
}