Instrucciones básicas de Python (Parte 1)

Insertar descripción de la imagen aquí

constantes y expresiones

print(1 + 2 - 3)
print(1 + 2 * 3)
print(1 + 2 / 3)

resultado de la operación

0
7
1.6666666666666665

printEs una Pythonfunción incorporada
que puede utilizar + - * / ( ) otros operadores para realizar operaciones aritméticas. La multiplicación y la división se calculan primero, seguidas de la suma y la resta.
No puede haber espacios o múltiples espacios entre los operadores y los números. Pero generalmente es habitual escribir un espacio

Una expresión en esta forma 1 + 2 - 3se llama expresión en un lenguaje de programación. El resultado de la expresión se llama valor de retorno de la expresión.
Este 1 , 2 , 3tipo se llama constante literal + - * / y este tipo se llama operador u operador.

Nota : C / C++Los estudiantes que estén familiarizados con esto pueden pensar que 2 / 3el resultado es 0(la parte decimal está truncada), pero Pythonel resultado obtenido es un decimal, lo que está más en línea con la intuición del uso diario.

Variables y tipos

1. ¿Qué es una variable?

En Python, las variables son identificadores que se utilizan para almacenar valores de datos. Estos identificadores pueden ser una combinación de letras, números y guiones bajos, pero deben seguir algunas reglas de nomenclatura. Por ejemplo, los nombres de las variables no pueden comenzar con números, no pueden contener espacios, etc. Las variables en Python se escriben dinámicamente, lo que significa que no es necesario declarar el tipo de datos de la variable por adelantado, Python determinará automáticamente su tipo en función del valor asignado a la variable.

Aquí hay un ejemplo simple de variable de Python:

x = 10  # 创建一个整数类型的变量x并赋值为10
name = "John"  # 创建一个字符串类型的变量name并赋值为"John"
is_student = True  # 创建一个布尔类型的变量is_student并赋值为True
total = (67.5 - avg) ** 2 + (89.0 - avg) ** 2 + (12.9 - avg) ** 2 + (32.2 - avg) ** 2 #创建一个浮点数类型的变量total并赋值为四个小数的方差

Las variables en Python tienen algunas diferencias significativas en comparación con C:

  1. Escritura dinámica : en C, es necesario especificar explícitamente el tipo de datos de una variable al declararla, mientras que en Python, el tipo de datos de una variable se determina automáticamente por el valor que se le asigna. Esto hace que Python sea más flexible y conciso.
  2. No se requiere declaración : en C, debe declarar explícitamente una variable antes de usarla, pero esto no es necesario en Python. Puede asignar un valor directamente a una variable y Python lo creará automáticamente.
  3. No se requiere punto y coma : en C, las declaraciones generalmente terminan con punto y coma, mientras que Python usa sangría para representar bloques de código y no requiere punto y coma.
  4. Tipos de datos más avanzados : Python tiene muchos tipos de datos avanzados integrados, como listas, diccionarios, conjuntos y tuplas, que hacen que el procesamiento de estructuras de datos complejas en Python sea más conveniente.
  5. Recolección de basura : Python tiene mecanismos automáticos de administración de memoria y recolección de basura, lo que elimina la necesidad de administrar manualmente la asignación y liberación de memoria.

En general, Python es más conciso y más fácil de aprender que el lenguaje C, pero en algunos casos se puede sacrificar algo de rendimiento. Al elegir un lenguaje de programación, existen compensaciones basadas en las necesidades del proyecto y los requisitos de rendimiento.

Nota:
x,name,is_student,total Todas son variables.
**En Python, representan operaciones de exponenciación, ** 2es decir, encontrar cuadrados.

2. Sintaxis de variables

2.1 Definir variables

a = 10

La declaración para crear una variable es muy simple, donde

aes el nombre de la variable. Cuando creamos muchas variables, podemos usar sus nombres para distinguirlas. Es el
=operador de asignación, lo que significa colocar =los datos de la derecha en =el espacio de la izquierda.

Nota: Los nombres de las variables deben seguir ciertas reglas.

Reglas estrictas (deben seguirse)

Los nombres de las variables constan de números, letras y guiones bajos.

Los números no pueden empezar.

Los nombres de variables no pueden repetir "palabras clave".

Los nombres de las variables distinguen entre mayúsculas y minúsculas. num y Num son dos nombres de variables diferentes.

Reglas suaves (recomendadas a seguir)

Utilice palabras descriptivas en los nombres de las variables para expresar la función de la variable tanto como sea posible.

Un nombre de variable puede estar compuesto por varias palabras, no importa si es más largo, pero el significado debe ser claro.

Cuando el nombre de la variable contiene varias palabras, se recomienda utilizar "nombramiento en caso de camello", de esta forma totalCount, personInfoexcepto la primera palabra, las primeras letras de las palabras restantes están en mayúscula.

En matemáticas, las variables generalmente se representan con letras simples inglesas o letras latinas como x, y, z. Sin embargo, esto no se recomienda en programación, la razón es que en programación generalmente se crean muchas variables al mismo tiempo en un programa. Si solo se usa una sola letra para representarlo, cuando hay demasiadas variables, es difícil recordar qué variable hace qué, lo que trae ciertas dificultades al mantenimiento del programa, por lo que recomendamos usar nombres claramente descriptivos para representar el propósito de La variable.

2.2 Usando variables

Leer el valor de una variable.

a = 10
print(a)

Modificar el valor de una variable

a = 20
print(a)

En Python, la modificación de variables también utiliza la operación =, que no parece ser significativamente diferente de definir variables .
Por supuesto, también puede asignar el valor de una variable a otra variable.

a = 10
b = 20
a = b
print(a)
print(b)

3. Tipo de variable

El tipo entero (int), el tipo de punto flotante (float), el tipo de cadena (str) y el valor lógico (bool) de Python tienen algunas diferencias con los tipos correspondientes en lenguaje C :

  1. Tipo entero (int):

    • Los tipos de enteros en Python son dinámicos y no es necesario especificarlos. Python determinará automáticamente su tipo en función del valor asignado a la variable.
    • El tipo entero de Python puede representar números enteros de cualquier tamaño sin un límite de rango fijo, lo que se denomina "enteros de precisión arbitraria".
    • En C, el tamaño de los tipos de enteros depende del compilador y la plataforma y, por lo general, tiene un número fijo de bits y un rango.

    En Python, los tipos de números enteros pueden representar números enteros muy grandes sin preocuparse por problemas de desbordamiento. Por ejemplo:

    x = 1234567890123456789012345678901234567890
    print(x)
    print(type(x))
    

    Este número puede causar problemas de desbordamiento o de precisión en C, pero no hay problema en Python.

    1234567890123456789012345678901234567890
    <class 'int'>
    
  2. Tipo de punto flotante (flotante):

    • Los tipos de coma flotante en Python también son dinámicos y no requieren una especificación de tipo explícita.
    • Python utiliza el estándar de punto flotante de doble precisión (IEEE 754), que normalmente admite de 15 a 17 dígitos de precisión decimal.
    • En C, el tamaño y la precisión de los tipos de punto flotante dependen del compilador y la plataforma, y ​​pueden ser números de punto flotante de precisión simple o doble.

    El tipo de coma flotante de Python tiene doble precisión y puede representar valores decimales, por ejemplo:

    y = 3.14159265358979323846
    print(y)
    print(type(y))
    

    Este número de coma flotante tiene suficiente precisión en Python para representar una aproximación de π. En C, la precisión del punto flotante depende del compilador y la plataforma y puede no ser lo suficientemente precisa.

    3.141592653589793
    <class 'float'>
    
  3. Tipo de cadena (cadena):

    • El tipo de cadena de Python es una cadena Unicode, lo que significa que puede representar caracteres de la mayoría de los conjuntos de caracteres del mundo, incluidos caracteres ASCII y no ASCII.
    • Las cadenas de Python son inmutables, lo que significa que una vez creadas, su contenido no se puede modificar.
    • En C, las cadenas suelen ser matrices de caracteres, terminan en nulo y se pueden modificar.

    El tipo de cadena de Python puede contener una variedad de caracteres, incluidos caracteres Unicode. Esto lo hace muy conveniente cuando se trabaja con datos de texto en diferentes conjuntos de caracteres, por ejemplo:

    name = "李雷"
    print(name)
    print(type(name))
    

    Esta es una cadena que contiene caracteres chinos y Python puede manejarla fácilmente. En C, el manejo de caracteres Unicode puede ser más complicado y requiere el uso de funciones de conversión de caracteres anchos o Unicode.

    李雷
    <class 'str'>
    

En general, los tipos de punto flotante y entero en Python tienen mayor flexibilidad y precisión, mientras que los tipos de cadena tienen mejor compatibilidad e inmutabilidad con Unicode. Estas diferencias hacen que Python sea más conveniente para manejar varios tipos de datos, pero existen compensaciones en el rendimiento, ya que C es generalmente más eficiente en el manejo de los datos subyacentes. Dependiendo de sus necesidades específicas, puede optar por utilizar diferentes idiomas y tipos de datos.

Nota : En Python, no hay diferencia entre una cadena compuesta por comillas simples y una cadena compuesta por comillas dobles 'hello'y "hello"son completamente equivalentes.

Puedes usar la función len para obtener la longitud de una cadena.

a = 'hello'
print(len(a))

producción5

Puedes usar + para concatenar dos cadenas

a = 'hello
b = 'world'
print(a + b)

producciónhelloworld

Aquí está la suma de dos cadenas. No puede sumar cadenas y números enteros/punto flotante.

  1. Valor lógico (bool) :
    • El tipo booleano en Python tiene dos valores: Verdadero y Falso.
    • Los tipos booleanos se utilizan a menudo para juicios condicionales, como en declaraciones if.
    • El tipo booleano de Python distingue entre mayúsculas y minúsculas. Verdadero y Falso deben comenzar con una letra mayúscula. Verdadero y falso en minúsculas no son valores booleanos.
is_true = True
is_false = False

if is_true:
    print("这是True")

if not is_false:
    print("这是False")
print(type(is_true))
print(type(is_false))

producción

这是True
这是False
<class 'bool'>
<class 'bool'>
  1. otro

Además de los tipos anteriores, Pythontambién existen list, tuple, dicttipos personalizados, etc., que los presentaremos por separado más adelante.

4. ¿Por qué hay tantos tipos?

El tipo determina cuánto espacio ocupan los datos en la memoria,
por ejemplo, el tipo flotante ocupa 8 bytes en la memoria.

Las computadoras usan binario para representar datos, es decir, cada bit solo puede representar 0 o 1.
1 bit binario se llama "bit" y 8 bits binarios se llaman "byte" (Byte)
Una variable flotante ocupa 8 bytes de espacio en la memoria, que son 64 bits binarios. Mi computadora tiene 16 GB de espacio de memoria, lo que significa un total de 1024 * 1024 * 1024 * 8 tantos bits binarios.

El tipo en realidad estipula qué tipo de operaciones se pueden realizar en esta variable.
Por ejemplo, int / floatlas variables de tipo pueden realizar + - * /operaciones como,
mientras que strlas variables de tipo solo pueden realizar + (y el comportamiento es la concatenación de cadenas), que no se puede realizar - * /, pero También se pueden utilizar leny realizar otras operaciones.

Resumen: el sistema de tipos en realidad "clasifica" variables. Las variables (datos) del mismo tipo a menudo tienen características y reglas de uso similares

5. Características de tipo dinámico

En Python, el tipo de una variable puede cambiar durante el proceso de "ejecución del programa". Esta característica se llama "escritura dinámica".

a = 10
print(type(a))
a = 'hello'
print(type(a))

Salida :

<class 'int'>
<class 'str'>

Durante la ejecución del programa, el tipo de a es int al principio y luego se convierte en str.
Los lenguajes como C++/Java no permiten tales operaciones. El tipo de una variable se fija después de definirla. Esta característica se llama "tipificación estática".
La escritura dinámica es un arma de doble filo

Para programas pequeños y medianos, la cantidad de código se puede reducir considerablemente (por ejemplo, escribir un fragmento de código puede admitir varios tipos al mismo tiempo) y para programas grandes, aumenta el costo
de interacción entre módulos. El código proporcionado por el programador A es difícil de entender para el programador B).

Comentario

En Python, hay dos tipos principales de comentarios: comentarios de una sola línea y comentarios de varias líneas. Los comentarios se utilizan para agregar explicaciones o anotaciones al código y no serán ejecutados por el intérprete.

  1. Comentarios de una sola línea: un comentario de una sola línea comienza con un #signo de almohadilla y el siguiente contenido se trata como un comentario hasta el final de la línea. Los comentarios de una sola línea se suelen utilizar para agregar una breve explicación del código.

Ejemplo:

# 这是一个单行注释
x = 5  # 这是赋值语句,将5赋给变量x
  1. Comentarios de varias líneas: no hay comentarios de bloque en Python como en C o C++, pero puedes usar comillas triples '''o """crear una cadena de varias líneas y colocarla en el código para lograr el efecto de un comentario de varias líneas. Aunque esto en realidad crea una cadena, si no la asigna a una variable, será tratada como un comentario.

Ejemplo:

'''
这是一个
多行注释
它实际上是一个多行字符串,但没有分配给变量
'''
print("Hello, World!")

O utilice comillas dobles:

"""
这也是一个
多行注释
"""
print("Hello, World!")

Tenga en cuenta que, aunque se pueden usar cadenas de varias líneas para comentarios de varias líneas, generalmente los desarrolladores prefieren usar comentarios de una sola línea y cadenas de documentación de función/clase/método (cadenas de documentos) para agregar comentarios y documentación.

Ejemplo:

def add(x, y):
    """
    这是一个函数的文档字符串
    它用于计算两个数字的和
    """
    return x + y

Estas cadenas de documentación help()se pueden ver mediante funciones y existen herramientas que pueden generar documentación. En el desarrollo real, las cadenas de documentación son muy útiles para la legibilidad y el mantenimiento del código.

Especificaciones de anotación

  1. Contenido preciso: el contenido de los comentarios debe ser coherente y coincidir con el código, y debe actualizarse de manera oportuna cuando se modifica el código.
  2. Extensión razonable: Las notas no deben ser ni demasiado concisas ni largas.
  3. Utilice chino: Generalmente, las empresas chinas exigen que las notas estén escritas en chino, mientras que las empresas extranjeras son un asunto diferente.
  4. Sea positivo: no incluya energía negativa en los comentarios (como líder SB, etc.).Se dice que salió en las noticias y fue filmado, la operación manual fue divertida.

de entrada y salida

1. Interacción entre programa y usuario.

El programa necesita interactuar con el usuario.

El proceso mediante el cual el usuario transfiere información al programa se llama "entrada" y
el proceso mediante el cual el programa muestra los resultados al usuario se llama "salida".

El método más básico de entrada y salida es la consola: el usuario ingresa algunas cadenas a través de la consola y el programa imprime algunas cadenas a través de la consola.

Cuando PyCharm ejecuta el programa, la ventana que aparece a continuación puede considerarse como una consola.

Insertar descripción de la imagen aquí
El programa cmd que viene con Windows también se puede considerar como una consola.

Insertar descripción de la imagen aquí

El método más común de entrada y salida es una interfaz gráfica.

Por supuesto, Python también se puede utilizar para desarrollar programas con interfaces gráficas, pero el desarrollo de programas gráficos en sí es un tema importante y lo presentaremos en detalle más adelante.

2. Salida a través de la consola.

Por ejemplo, generar una variable de otros tipos.

a = 10
print(a)
b = True
print(b)

producción

10
True

La mayoría de las veces, el contenido que queremos generar es una mezcla de cadenas y variables.

Ejemplo: salida num = 10

num = 10
print(f'num = {
      
      num}')

Úselo f como una cadena de prefijo, llamada f-string
dentro de la cual se puede usar { }para incrustar otra variable/expresión

3. Ingresar a través de la consola

Python usa la función de entrada para leer la entrada del usuario desde la consola

num = 0
num = input('请输入一个整数: ')
print(f'你输入的整数是 {
      
      num}')

salida después de la entrada

请输入一个整数: 2
你输入的整数是 2

El parámetro de entrada es equivalente a un "mensaje rápido", o puede no estar presente.
El valor de retorno de la entrada es el contenido ingresado por el usuario. Es un tipo de cadena.

a = input('请输入第一个整数: ')
b = input('请输入第二个整数: ')
print(f'a + b = {
      
      a + b}')

salida después de la entrada

请输入第一个整数: 20
请输入第二个整数: 23
a + b = 2023

El resultado aquí es una concatenación de cadenas, no operaciones aritméticas. Si desea realizar operaciones aritméticas, primero debe convertir el tipo.

a = input('请输入第一个整数: ')
b = input('请输入第二个整数: ')
a = int(a)
b = int(b)
print(f'a + b = {
      
      a + b}')

salida después de la entrada

请输入第一个整数: 20
请输入第二个整数: 23
a + b = 43

Al int( )convertir la variable a inttipo,
de manera similar, float( ), bool( ), str( )la conversión de tipo correspondiente se puede completar usando etc.

Ejemplo de código: ingrese 4 decimales y encuentre el promedio de los 4 decimales

a = input('请输入第一个数字: ')
b = input('请输入第二个数字: ')
c = input('请输入第三个数字: ')
d = input('请输入第四个数字: ')
a = float(a)
b = float(b)
c = float(c)
d = float(d)
avg = (a + b + c + d) / 4
print(f'平均值: {
      
      avg}')

salida después de la entrada

请输入第一个数字: 21.2
请输入第二个数字: 20.3
请输入第三个数字: 21.4
请输入第四个数字: 21.5
平均值: 21.1

Ejemplo de código: calcule el área de un triángulo usando la fórmula de Heron

import math
a=float(input("输入直角三角形第一条边"))
b=float(input("输入直角三角形第二条边"))
c=float(input("输入直角三角形第三条边"))
#计算海伦公式中p的值,即半周长
p=(a+b+c)/2
s=math.sqrt(p*(p-a)*(p-b)*(p-c))
print(s)

salida después de la entrada

输入直角三角形第一条边3
输入直角三角形第二条边4
输入直角三角形第三条边5
6.0

operador

1. Operadores aritméticos

+ - * / % ** //Los operadores que realizan operaciones aritméticas como esta se llaman operadores aritméticos.

  1. Al igual que otros lenguajes, /0 no se puede utilizar como divisor, de lo contrario se generará una excepción.
print(10 / 0)

producción

Traceback (most recent call last):
  File "C:\Users\xzq20\PycharmProjects\pythonProject1\hello.py", line 1, in <module>
    print(10 / 0)
          ~~~^~~
ZeroDivisionError: division by zero

La excepción es un mecanismo común en los lenguajes de programación, significa que ocurrieron algunas "circunstancias inesperadas" durante la ejecución del programa, lo que provocó que el programa no pudiera continuar con la ejecución.

  1. 整数 / 整数El resultado puede ser un decimal. Sin truncamiento
print(1 / 2)

producción

0.5
  1. %No "porcentaje", sino el resto
print(7 % 2)

producción

1
  1. **Es para encontrar potencias, no solo puede calcular potencias enteras, sino también potencias decimales.
print(4 ** 2)
print(4 ** 0.5)

producción

16
2.0
  1. //Es una división redonda (también llamada división de piso). Cuando un número entero se divide entre un número entero, el resultado sigue siendo un número entero (la parte decimal se descarta y se redondea hacia abajo. No se redondea).
print(7 // 2)
print(-7 // 2)

producción

3
-4

2. Operadores relacionales

Los operadores como < <= > >= == != esta serie se denominan operadores relacionales y comparan la relación entre operandos .

en

<=es "menor o igual a"

>=es mayor o igual a"

==es igual a"

!=no es igual a"

Si la relación es verdadera, la expresión devuelve True. Si la relación no es verdadera, la expresión devuelve.False

a = 10
b = 20
print(a < b)
print(a <= b)
print(a > b)
print(a >= b)
print(a == b)
print(a != b)

producción

True
True
False
False
False
True

Los operadores relacionales no solo comparan números enteros/punto flotante, sino que también comparan cadenas.

a = 'hello'
b = 'world'
print(a < b)
print(a <= b)
print(a > b)
print(a >= b)
print(a == b)
print(a != b)

producción

True
True
False
False
False
True

Puede utilizar directamente ==o !=para determinar si el contenido de las cadenas es igual (esto es C / C++diferente de ).
La regla para la comparación de cadenas es "orden lexicográfico" (equivalente a la aplicación de mapas en C++).

Para números de coma flotante, no utilice == para determinar la igualdad.

print(0.1 + 0.2 == 0.3)

producción

False

¡La representación de números de coma flotante en las computadoras no es precisa! Durante el proceso de cálculo, es probable que ocurran errores muy pequeños.

print(0.1)
print(0.2)
print(0.3)
print(0.1 + 0.2)

producción

0.1
0.2
0.3
0.30000000000000004

Se puede ver que 0.1 + 0.2el resultado de no es 0.3, pero con una cola pequeña, aunque esta cola es muy pequeña, pero ==cada centavo cuenta, aún conducirá al ==resultado deFalse

Esto no solo es cierto para Python, sino también para los lenguajes de programación convencionales. Este es IEEE754un problema introducido por el formato de punto flotante especificado por el estándar. Esto lo mencioné en mi blog anterior sobre lenguaje C.

Método de comparación correcto : ya no se comparan estrictamente iguales, sino que se determina que la diferencia es menor que el rango de error permitido

a = 0.1 + 0.2
b = 0.3
print(-0.000001 < (a - b) < 0.000001)

En la práctica real de la ingeniería, los errores son inevitables, siempre que estén dentro de un rango razonable.

3. Operadores lógicos

Los operadores como and or notesta serie se denominan operadores lógicos.

y Y : Ambos operandos son Verdaderos y el resultado final es Verdadero. De lo contrario, es Falso. (Si uno es falso, es Falso)
o O : Ambos operandos son Falso y el resultado final es Falso. De lo contrario, es Verdadero (si uno es verdadero, es falso. Verdadero)
no negación lógica : si el operando en sí es verdadero, entonces se devuelve Falso. Si el operando en sí es falso, entonces se devuelve Verdadero

a = 10
b = 20
c = 30
print(a < b and b < c)
print(a < b and b > c)
print(a > b or b > c)
print(a < b or b > c)
print(not a < b)
print(not a > b)

producción

True
False
False
True
False
True

una forma especial de escribir

a < b and b < cEsta operación es equivalente a a < b < cEsta configuración es diferente de la mayoría de los lenguajes de programación.

evaluación de cortocircuito

Al igual que otros lenguajes de programación, Python también tiene reglas para la evaluación de cortocircuitos .


Porque y, si la expresión de la izquierda es Falsa, el todo debe ser Falso y la expresión de la derecha ya no se ejecutará. La expresión de la derecha ya no se ejecutará.

print(10 > 20 and 10 / 0 == 1)
print(10 < 20 or 10 / 0 == 1)

producción

False
True

4. Operador de asignación

  1. =uso de

=Indica asignación. Hemos usado esto muchas veces. Preste atención a la ==distinción.
=Además del uso básico, también puede asignar valores a múltiples variables al mismo tiempo.

asignación de cadena

a = b = 10

asignación múltiple

a, b = 10, 20

Ejemplo de código: intercambio de dos variables

Método de escritura básico (similar al método de escritura C)

a = 10
b = 20
tmp = a
a = b
b = tmp

Basado en asignaciones múltiples

a = 10
b = 20
a, b = b, a
  1. operador de asignación compuesta

Python también tiene algunos operadores de asignación compuestos. Por ejemplo, += -= *= /= %=
donde a += 1es equivalente a a = a + 1. Lo mismo ocurre con otros operadores de asignación compuestos.

a = 10
a = a + 1
print(a)
b = 10
b += 1
print(b)

Nota :

Al igual que C / C++en , existe ++ --un operador de incremento/decremento. PythonEn no admite esta operación. Si necesita usarlo, úselo directamente += 1o -= 1
++ --El mayor problema es que es fácil no distinguir la diferencia entre prefijo y postfijo. Esta sintaxis Pythonestá en Esto se evitó durante el diseño para evitar una sintaxis tan poco intuitiva y confusa.

Además de lo anterior, existen algunos operadores en Python, como el operador de identidad ( is, is not), operador de miembro ( in, not in), operador de bits ( & | ~ ^ << >>), etc.

Declaraciones condicionales

Utilice la palabra clave if else para expresar declaraciones condicionales en Python

if

if expression:
	do_something1
	do_something2
next_something

Si el valor de la expresión es Verdadero, se ejecutará do_something1, do_something2, next_something.
Si el valor de la expresión es False, solo se ejecutará next_something y do_something1, do_something2 no se ejecutará.

if - else

if expression:
	do_something1
else:
	do_something2

Si el valor de la expresión es Verdadero, se ejecuta do_something1.
Si el valor de la expresión es False, se ejecuta do_something2.

if - elif - else

if expression1:
	do_something1
elif expression2:
	do_something2
else:
	do_something3

Si el valor de expresión1 es Verdadero, se ejecuta do_something1

Si la expresión1 es falsa y la expresión2 es verdadera, se ejecuta do_something2.

Si la expresión1 es Falsa y la expresión2 es Falsa, se ejecuta do_something3.

Nota: La forma de escribir declaraciones condicionales en Python es diferente a la de muchos lenguajes de programación.

La expresión condicional después de if, sin (), usa: como final. El
"bloque de declaración" que se ejecutará después de que if / else cumpla la condición, se representa mediante sangría (generalmente 4 espacios o 1 tabulación), en lugar de { }
Para múltiples ramas condicionales, en lugar de escribir else if, escriba elif.

Bloques de sangría y código.

Un bloque de código se refiere a un grupo de códigos que se ejecutan juntos.
En Python, la sangría se utiliza para representar bloques de código. Los diferentes niveles de sangría tienen diferentes efectos de ejecución del programa.

Código 1

a = input("请输入一个整数: ")
if a == "1":
	print("hello")
	print("world")

Código 2

a = input("请输入一个整数: ")
if a == "1":
	print("hello")
print("world")

la diferencia

En el código 1, print("world") tiene un nivel de sangría. Esta declaración pertenece al bloque de código dentro de if, lo que significa que solo se ejecutará si la condición es verdadera. Si la condición no es verdadera, se ejecutará no se ejecutará. En el código 2, print("world
" ) no tiene sangría. Esta declaración es código fuera del if y no pertenece al bloque de código dentro del if. Esto significa que la condición se ejecutará independientemente de si es verdadero o no Además, los bloques de código también se pueden anidar dentro del bloque de código.

a = input("请输入第一个整数: ")
b = input("请输入第二个整数: ")
if a == "1":
	if b == "2":
		print("hello")
	print("world")
print("python")

en este codigo

print("hello") tiene dos niveles de sangría y pertenece al bloque de código donde la condición si b == "2" es verdadera. print("
world") tiene un nivel de sangría y pertenece al bloque de código donde se cumple la condición de si a == "1" es verdadero.
print("python") no tiene sangría. Esta declaración se ejecutará independientemente de si las dos condiciones anteriores son verdaderas.

La ventaja de representar bloques de código basados ​​en sangría es que los programadores se ven obligados a escribir sangrías claras para aclarar la relación relativa entre los códigos. Si la sangría no se escribe correctamente, se informará un error directamente. Como el lenguaje C++/Java, incluso si no Si se escribe sangría, la sintaxis no informará ningún error. La legibilidad del código es relativamente pobre. Al mismo tiempo, la desventaja es que si hay muchos niveles de sangría, es fácil no distinguir en qué nivel se encuentra una determinada declaración. pertenece a.

if a == 1:
	if b == 2:
		if c == 3:
			if d == 4:
				if e == 5:
					if f == 6:
						if g == 7:
							print("hello")
						print("1")
					print("2")

Por lo tanto, existe el dicho "Escribir Python requiere su propio pie de rey".

Pase de declaración vacío

Ejemplo: Ingrese un número, si el número es 1, imprima hola

a = int(input("请输入一个整数:"))
if a == 1:
	print("hello")

También se puede escribir de manera equivalente como

a = int(input("请输入一个整数:"))
if a != 1:
	pass
else:
	print("hello")

Pass representa una declaración vacía, que no tiene ningún impacto en la ejecución del programa, solo ocupa un lugar para mantener el formato de sintaxis de Python conforme a los requisitos.

pero no se puede escribir como

a = int(input("请输入一个整数:"))
if a != 1:

else:
	print("hello")

Si no se ajusta a la sintaxis de Python, se informará directamente un error.

declaración de bucle

1. mientras bucle

Formato de sintaxis básica

while 条件:
	循环体

Si la condición es verdadera, se ejecuta el código del cuerpo del bucle.
Si la condición es falsa, el bucle finaliza.

Ejemplo: Encuentra 1! + 2! + 3! + 4! + 5!

num = 1
sum = 0
while num <= 5:
	factorResult = 1
	i = 1
	while i <= num:
		factorResult *= i
		i += 1
	sum += factorResult
	num += 1
print(sum)

Este programa utiliza bucles dobles, es decir, los bucles también se pueden incluir en declaraciones de bucle.

2. para bucle

Formato de sintaxis básica

for 循环变量 in 可迭代对象:
	循环体

Aviso:

El for de Python es diferente de otros lenguajes: no existe una "declaración de inicialización", una "declaración de determinación de condición de bucle", una "declaración de actualización de variable de bucle", sino un llamado "objeto iterable" más simple, que se refiere a "que contiene múltiples elementos internamente"
. Una variable especial que puede eliminar elementos uno por uno."

Ejemplo 1: Imprimir 1-10

for i in range(1, 11):
	print(i)

Usando la función de rango, se puede generar un objeto iterable, el rango generado es [1, 11), es decir, [1, 10]

Ejemplo 2: Imprimir 2, 4, 6, 8, 10

for i in range(2, 12, 2):
	print(i)

A través del tercer parámetro de rango, puede especificar el "tamaño del paso" durante la iteración, es decir, ¿cuántas veces se debe agregar la variable de bucle a la vez?

Ejemplo 3: Imprimir 10-1

for i in range(10, 0, -1):
	print(i)

El tamaño del paso del rango también se puede establecer en un número negativo

Ejemplo 3: Encuentra la suma de 1 - 100

sum = 0
for i in range(1, 101):
	sum += i
print(sum)

El uso de continuar y romper es similar al del lenguaje C y no se explicará aquí.

Supongo que te gusta

Origin blog.csdn.net/kingxzq/article/details/133022362
Recomendado
Clasificación