Celulares tecnologia assuntos variados PontoABC já

Introdução ao python 10

Expressões e strings 2


Expressões compostas

Uma expressão composta combina expressões simples usando operadores logicos ou boolean operators eles são and, or, not. Python trata operadores logicos ligeiramente diferente que a maioria das oustras linaguagens fazem.

and
Quando avaliando expressões do tipo a and b, python avalia a para ver se isto é False
e se isto é, então a expressão b não é avaliada e o resultado é então False. Se a é True então o python avalia a expressão b e o resultado da expressão inteira é o resultado da expressão b pois se b é True então estará de acordo com a expressão a and b se b é False então também estará de acordo com a expressão a and b.

Exemplo 1

>>> 1 and 2
2
>>> 1.2 and 4
4
>>> 4.2 and 0
0
>>> 2 and 3.3
3.2999999999999998
>>> True and False
False
>>> False == False
True
>>> False == 0
True
>>> True == 3.2
False
>>> 2 == True
False
>>> True == True
True
>>>

or

Com expressoes do tipo a or b o python avalia a para ver se isto é verdade e se isto é verdade então o resultado da expressão é verdadeira. Se a é False então o python avalia b e se b for verdadeira então o resultado é verdadeiro se b é False então o resultado será False.
O python faz este esquema de avaliação para economizar recursos computacionais.

>>> a, b = 3, 1
>>> a or b
3
>>> a or False
3
>>> b or True
1
>>> 0 or 1.2
1.2
>>> 1 or 2.3
1
>>> None or 2
2
>>> None or None
>>>

not
Finalmente, not inverte o valor verdade da expressão: se a expressão é avaliada a True então o not avalia a False se a expressão é False então o not avalia a True.

>>> not 2.3
False
>>> not None
True
>>> not True
False
>>> not False
True
>>> not 0
True
>>> not 0.23
False
>>>

Expressões complexas

Você pode arbitrariamente formar expressões complexas por simplesmente agrupando
qualquer numero de expressões juntas usando parenteses e operadores logicos. Por exemplo
se você apenas não pode relembrar qualquer dos primeiros numeros primos.
você pode usar.

>>> i = 3
>>> (i == 2) or (i % 2 != 0 and 0 < i < 9) 1 >>> i = 7
>>> (i == 2) or (i % 2 != 0 and 0 < i < 9) 1 >>> i = 8
>>> (i == 2) or (i % 2 != 0 and 0 < i < 9) 0 Se o numero é 2 a primeira sub expressão i == 2 avalia a verdadeiro e o python
para o processamento da expressão e retorna 1 para True, caso contrario duas condições outras condições devem ser avaliadas. O numero não deve ser divisivel por 2 e ele deve estar entre 0 e 9(isto é os primeiros primeiros menores que 9)

Parenteses deixam você explicitamente controlar a ordem doque está indo ser avaliado primeiro. Sem parenses a ordem de avalição pode ser obscura e diferente da que você expera.
Isto pode causar muitos bugs.

>>> (True or 2) * 3
3
>>> True or 2 * 3
True
>>>


O python usa uma ordem de precedencia que está na tabela abaixo.
Você pode usar a tabela para guia-lo quando escrevendo expressões mais complexas.
Expressões cuja precedencia são maiores são avaliados antes.

Table 3-2
Operator Precedence (from lowest to highest)
Operators Description
String conversion
`x`
Dictionary
{key:datum, ...}
List
[x,y,...]
Tuple
(x,y,...)


Operators Description
Function call
f(x,y,...)
Slice
x[j:k]
Subscription
x[j]
Attribute reference
x.attribute
Bitwise negation (inversion)
~x
Plus, minus
+x, -x
Power
**
Multiply, divide, modulo
*, /, %
Add, subtract
+, -
Shifting
<<, >>
Bitwise AND
&
Bitwise XOR
^
Bitwise OR
|
Comparisons
<, <=, ==, !=, >=, >
Identity
is, is not
Membership
in, not in
Boolean NOT
not x
Boolean AND
and
Boolean OR
or
Lambda expression
lambda

0 comentários:

Postar um comentário

Faça o seu comentário e nos siga no Twitter