Operandos de Python, operadores, expresiones y declaraciones

Operandos de Python, operadores, expresiones y declaraciones

La esencia de la programación son los datos y las operaciones. Los datos se representan mediante los tipos de datos básicos y las estructuras de datos. Las operaciones son varias operaciones sobre estos datos, suma básica, resta, multiplicación y división, juicio correcto e incorrecto, control de flujo, etc. Estas operaciones son los operadores, expresiones y declaraciones de las que vamos a hablar hoy.
Sintaxis de Python
Cuando aprendimos la sintaxis básica de Python, hablamos sobre el concepto de la línea del programa Python. La línea se subdivide en Operadores, Operandos, Expresiones y Declaraciones.
Consejo: Los dos conceptos de operación y operación son a menudo los mismos en la programación.
Por ejemplo, la siguiente línea de código:
a = 5; b = a + 7; c = a if a > b else b 
Primero descomponer esta línea:
  • Enunciado: consiste en una expresión. En este caso, hay tres declaraciones, separadas por punto ; coma ; es decir, una línea física tiene tres líneas lógicas;
  • Expresión: consiste en un operador y un objeto de acción. Las expresiones en este ejemplo tienen a + 7 , a > b etc.
  • El operando: es decir, varios objetos. En este caso, a, b, c, 5, 7 y así sucesivamente.
La relación entre ellos en una línea es:
Operación Objeto + Operador -> Expresión -> Declaración
Los objetos de operación y los operadores forman expresiones, y las expresiones forman declaraciones

Objeto de operación

Un operando es una colección de varios objetos, algunos de los cuales son constantes y otros variables .

Constante

Hemos visto muchas constantes en Python, como enteros: 9, 7, 8 etc., números de coma flotante: 3.14, 0.618 etc., cadena: 'learnPython' , estas constantes las conocemos cuando las vemos Esto significa que esta es una constante literal.
Las constantes literales son los valores que se utilizan en su sentido literal . Por ejemplo, el número 8 siempre se representa a sí mismo, es una constante y no puede cambiar su valor.

Variable

Las constantes representan objetos de un significado específico, pero no lo suficiente como para satisfacer las necesidades de programación. La programación a menudo requiere un tipo de cosas que pueden almacenar datos y realizar operaciones (operaciones) en ella. Esta cosa es una variable . Para utilizar variables con frecuencia en la programación, debe asignar un nombre a la variable: el nombre de la variable. El nombre del nombre de la variable es el identificador mencionado en la sintaxis básica de Python anterior. Olvidó que el pequeño pueda ver esa sección nuevamente.
En la primera línea del código de Python, a, b, c son variables, y 5, 12, 5 son los valores que almacenan. Si hay otra oración a = a + 3 , el valor de a se convierte en 8 y el valor de la variable a cambia. 
La asignación de una variable es dar a la variable un valor, como a = 3 , que es dar a la variable un valor de 3.
a = 3  # Asigne 3 a a, donde el valor de a es 3.
b = a  # Asigne a a b, en cuyo punto el valor de b es igual al valor de a, que también es 3
c, d = a, b  # Esta es una asignación múltiple, que es equivalente a c = a; d = b

Operador

Un operador es el nombre de una operación específica en un operando. Los diferentes operadores representan diferentes operaciones, como suma, resta, multiplicación y división. 
Se puede acceder fácilmente al uso de operadores a través del shell de Python:
In [115]: 2 + 5
Out[115]: 7

In [116]: 8 * 9
Out[116]: 72
A continuación utilizamos una tabla para enumerar claramente los distintos operadores y su uso.
OperadorNombreSignificadoEjemplo
+MásSumando dos objetos2 + 5 7; '猿人学' + 'Python' obtienen '猿人学Python'
-MenosDos números restados, o negativos10 - 5 obtener 5; -3.1 significa negativo.
*MultiplicarMultiplica dos números o repite la cadena varias veces.3 * 7 obtiene 21; 'py' * 2 consigue pypy .
**PoderDevuelve el poder de x de x2**8 obtuvieron 256; 2.3**3 obtuvieron 12.167
/ExceptoDividiendo dos numeros10 / 2 obtener 5; 10/3 obtener 3.333333
//DerribarDivide los dos números y devuelve el entero más cercano y pequeño. Si hay números de punto flotante en el divisor y el dividendo, el valor devuelto también es un número de punto flotante.11 // 2 obtiene 5; -11 // 2 obtiene -6; 5 // 1.34 obtiene 3.0.
%MóduloEncontrar el resto10 % 3 obtiene 1; 10 % 3.3 obtiene 0.1; -10 % 3.3 obtiene 3.2, porque -10 // 3.3obtiene -4, -10 - 3.3*-4 obtiene 3.2.
<<Girar a la izquierdaOperación binaria, moviendo cada bit de un número a la izquierda por un número específico de dígitos (el número se representa en la memoria mediante un binario 0,1 )2 << 3 obtiene 16, 2 binario es: 00000010 , desplaza a la izquierda 3 bits en: 0b00010000 es decir, 16
>>Cambio a la derechaMueva un número de bits a la derecha por un número específico de bits2 >> 1 consigue 1
&Poco yOperaciones de bit de dos dígitos correspondientes y operaciones8 & 9 obtuvieron 8
|Poco oOperaciones de bit de dos dígitos correspondientes u operaciones8 | 9 obtuviste 9
^XORXOR bit correspondiente es XORed8^9 obtuvieron 1
Contador de bitsEl número de bits de un número x está invertido, y el valor es - (x + 1)~8
<Menos queDevuelve si x es menor que y. Todos los operadores de comparación devuelven no True o False8 < 9 hace True .
>Mayor queDevuelve si x es mayor que y8 > 9 obtener False .
<=Menor o igual queDevuelve si x es menor o igual que yx = 2; y = 3; x <= y devuelve True
>=Mayor o igual queDevuelve si x es mayor o igual que yx = 6; y = 4; x >= y devuelve True
==Igual aComparar objetos son iguales2 == 2 devuelve True , 3 == 2 devuelve False , 'str' == 'str' devuelve True
!=No es igual a si el objeto de comparación no es igual1 != 3 devuelve True3 != 3 devuelve False
notBoerfeiDevuelve False si x es True , devuelve Truesi x es Falsex = False; not x devuelve True .
andBooleanox and y devuelven False si x es False , de lo contrario devuelve un valor booleano de yx = False; y = True; x and y devuelven Falseporque x es Falso. En este caso, Python ya no prueba el valor booleano de y, porque la x en el lado izquierdo ya es Falso, no importa si la derecha y es verdadera o no, no afecta el valor de toda la expresión, por lo que ya no es necesario verificar si y es verdadera o falsa. .Esto se llama "evaluación de cortocircuito".
orBooleano oDevuelve True si x es True , de lo contrario devuelve un valor booleano de yx = True; y = False; x or y devuelve Verdadero.Lo mismo se aplica a la "evaluación de cortocircuito" aquí.

Precedencia del operador

Cuando estábamos aprendiendo matemáticas, sabíamos sumar y restar después de la multiplicación y la división. Por ejemplo, si queremos calcular 2 + 5 * 6 , calcularemos 5 * 6 obtener 30, luego 2 + 30 obtener 32. Es decir, la prioridad del operador de multiplicación. Más alto que el operador de adición.
La siguiente tabla es la prioridad de los operadores de Python, de bajo a alto, los operadores en la misma celda tienen la misma prioridad, el orden de las operaciones de izquierda a derecha. Sin embargo, se recomienda que utilice paréntesis para agrupar expresiones (operadores y operandos) de manera que pueda indicar claramente el orden de las operaciones y hacer que el programa sea más legible.
OperadorDescripción
lambdaExpresión de la función lambda
if-elseExpresión condicional
orBooleano o
andBooleano
notBoerfei
in , not in , is , is not , < , <= , > , >= != , ==Comparación, incluyendo pruebas de miembros y pruebas de identidad
|Poco o
^XOR
&Poco y
<< , >>Turno
+ , -Sumar o restar
* , @ , / , // , %Multiplicación, multiplicación de matrices, división, división descendente, división modular
+x , -x , ~xEntero, negativo, bit no (bit inverso)
**Operador eléctrico. Su unión no es tan estrecha como la del operador aritmético o bit a bit en el lado derecho, por lo que el valor de 2**-1 es 0.5.
awaitEspera expresión (usada en asyncio)
x[index] , x[index:index] , x(arguments...) , x.attributeSubíndice, segmento, llamada de función, referencia de propiedad
(expressions...) , [expressions...] , {key:value...} , {expressions...}Encuadernación o visualización de tupla, visualización de lista, visualización de diccionario, visualización de colección
La tabla anterior contiene operadores que aún no hemos tocado, que se explicarán en capítulos posteriores.
El programa funciona de acuerdo con el orden de la tabla anterior, pero también podemos cambiar el orden de cálculo por paréntesis. Por ejemplo, (2 + 7) * 3 , primero calcule la suma entre paréntesis y luego multiplique. Este principio es el mismo que la aritmética aprendida en la escuela primaria.

Expresión

Una expresión es un fragmento de gramática que se puede evaluar como un valor. En otras palabras, es la acumulación de elementos de expresión, como literales, nombres, accesos de propiedades, operadores o llamadas de función, lo que todos devuelven un valor. No todas las estructuras de lenguaje son expresiones comparadas con muchos otros idiomas. También hay algunas declaraciones que no se pueden usar como expresiones, como por ejemplo while . Asignación es también una declaración, pero no una expresión.
De la definición anterior de la expresión, a > 3 es una expresión, a = 3 no es una expresión, sino una declaración de asignación.

Declaraciones

Una declaración es un componente de un segmento de programa (un "bloque" de código). Una declaración puede ser una expresión o una estructura con una palabra clave, como por ejemplo if , while o for . 
Ejemplo de una declaración:
a = 5  # Declaración de asignación
if a > 3:  #Declaración condicional, donde a> 3 es una expresión
    print('a > 3')  #Declaración de salida

Resumen

Un programa consta de sentencias, una declaración consta de una expresión o una asignación, o la estructura de una palabra clave como por ejemplo if o while , una expresión consta de un operador y un objeto de operación (una constante como un número o una cadena, una variable, etc.) Los elementos constitutivos de la declaración.

Practica

  1. Dibuje los 01 bits del número usted mismo y realice las operaciones <<, >>, &, |, ^, ~ para profundizar la comprensión de las operaciones de bits binarios.
  2. Escriba el programa de manera casual, utilizando los conceptos de operadores, operandos, expresiones y declaraciones.

留言