Directorio de artículos
variable local
- Una variable local es una variable definida dentro de una función.
- Su ámbito de acción está dentro de esta función, es decir, solo se puede usar en esta función y no se puede usar fuera de la función
- Debido a que su ámbito de acción es solo dentro de su propia función, diferentes funciones pueden definir variables locales con el mismo nombre (por ejemplo, tratarnos a usted y a mí como funciones, y entender las variables locales como teléfonos móviles en manos de todos, pero hay un iPhone8 , por supuesto también puedo tener un iPhone8, no están relacionados entre sí)
- El papel de las variables locales, para guardar datos temporalmente, las variables deben definirse en la función de almacenamiento
- Cuando se llama a la función, se crea la variable local y la variable no se puede usar una vez que se completa la llamada a la función.
Como se muestra abajo:
variable global
Si una variable se puede usar no solo en una función, sino también en otras funciones, esa variable es una variable global
Por ejemplo: hay dos hermanos que cada uno tiene un teléfono móvil, y cada uno tiene su propio pequeño secreto en el teléfono móvil, que no puede ser utilizado por la otra parte (se puede entender como una variable local); pero el el teléfono en casa puede ser usado por ambos hermanos de manera casual (pueden entenderse como variables globales)
# 定义全局变量
a = 100
def test1():
print(a) # 虽然没有定义变量a但是依然可以获取其数据
def test2():
print(a) # 虽然没有定义变量a但是依然可以获取其数据
# 调用函数
test1()
test2()
resultado de la operación:
Resumen 1:
- Las variables definidas fuera de una función se denominan variables globales.
- Se puede acceder a las variables globales en todas las funciones
Los nombres de variables globales y variables locales tienen el mismo problema
Mira el siguiente código:
Resumen 2:
- Cuando la variable local y la variable global tienen el mismo nombre en la función, se entiende que el nombre de la variable = datos dentro de la función define una variable local en lugar de modificar el valor de la variable global
Modificar variables globales
¿Se puede modificar cuando se usa en una función?
el código se muestra a continuación:
# 修改全局变量
a = 100
def change_global_variable():
global a # 使用global关键字声明全局变量
a = 200
change_global_variable()
print(a) # 输出200
Resumen 3:
- Si en la función aparece el nombre de la variable global global, aunque en esta función aparezca el nombre de la variable = dato que es igual al nombre de la variable global, se entiende que se modifica la variable global en lugar de definir una variable local
- Si es necesario modificar varias variables globales en una función, se pueden declarar todas a la vez o por separado.
# 可以使用一次global对多个全局变量进行声明
global a, b
# 还可以用多次global声明都是可以的
# global a
# global b
Ver todas las variables globales y locales
Python proporciona dos funciones integradas globals() y locals() que se pueden usar para ver todas las variables globales y locales.
def test():
a = 100
b = 40
print(locals()) # {'a': 100, 'b': 40}
test()
x = 'good'
y = True
print(globals()) # {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x101710630>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/Users/jiangwei/Desktop/Test/test.py', '__cached__': None, 'test': <function test at 0x101695268>, 'x': 'good', 'y': True}
valor de retorno de la función
¿Cómo devolvemos múltiples valores en python?
1. ¿Retorno múltiple?
def create_nums():
print("---1---")
return 1 # 函数中下面的代码不会被执行,因为return除了能够将数据返回之外,还有一个隐藏的功能:结束函数
print("---2---")
return 2
print("---3---")
result = create_nums()
print(result) # 输出1
Resumen 1:
-
Puede haber varias declaraciones de retorno en una función, pero mientras se ejecute una declaración de retorno, la función finalizará, por lo que el retorno posterior es inútil.
-
Si el programa está diseñado de la siguiente manera, es posible porque se ejecutan diferentes retornos en diferentes escenarios
def create_nums(num):
print("---1---")
if num == 100:
print("---2---")
return num+1 # 函数中下面的代码不会被执行,因为return除了能够将数据返回之外,还有一个隐藏的功能:结束函数
else:
print("---3---")
return num+2
print("---4---")
result1 = create_nums(100)
print(result1) # 输出101
result2 = create_nums(200)
print(result2) # 输出202
2. Cómo una función devuelve múltiples datos
def divid(a, b):
shang = a//b
yushu = a%b
return shang, yushu #默认是元组
result = divid(5, 2)
print(result) # 输出(2, 1)
Resumen 2:
- El retorno puede ir seguido de tuplas, listas, diccionarios, etc. Siempre que sea un tipo que pueda almacenar varios datos, se pueden devolver varios datos a la vez.
def function():
# return [1, 2, 3]
# return (1, 2, 3)
return {"num1": 1, "num2": 2, "num3": 3}
Si hay varios datos después de la devolución, el valor predeterminado es una tupla.
Descomprimir los datos devueltos directamente
def get_my_info():
high = 178
weight = 100
age = 18
return high, weight, age # 函数返回三个数据,会自动打包为元组
my_high, my_weight, my_age = get_my_info() # 直接把元组拆分为三个变量来使用,更加方便
print(my_high)
print(my_weight)
print(my_age)
Resumir:
- Preste atención al desempaquetar, la cantidad de datos a desempaquetar debe ser la misma que la cantidad de variables, de lo contrario el programa será anormal
- Además de desempaquetar tuplas, también puedes desempaquetar listas, diccionarios, etc.
In [17]: a, b = (11, 22)
In [18]: a
Out[18]: 11
In [19]: b
Out[19]: 22
In [20]: a, b = [11, 22]
In [21]: a
Out[21]: 11
In [22]: b
Out[22]: 22
In [23]: a, b = {
"m":11, "n":22} # 取出来的是key,而不是键值对
In [24]: a
Out[24]: 'm'
In [25]: b
Out[25]: 'n'
Caso avanzado
[Python] Python se da cuenta del juego de adivinanzas: ¡desafía tu inteligencia y tu suerte!
[python] Use Selenium para obtener entradas (2023 Blog Star)
[Xiaobai debe ver] Python rastrea un ejemplo de datos de jugadores de la NBA
[Xiaobai debe ver] Visualización y procesamiento de datos del rastreador de Python
[Xiaobai debe ver] usar Python para generar una lista personalizada de documentos de Word
Procesamiento y visualización de datos geoespaciales usando geopandas y shapely (.shp)
Utilice selenio para rastrear los datos de la lista de películas de Maoyan
Explicación detallada del principio y la implementación del algoritmo de mejora de imagen Retinex
Primeros pasos con los reptiles (1): aprenda los conceptos básicos y las habilidades de los reptiles
Conceptos básicos de programación orientada a objetos de Python y código de muestra
Guía de operación de archivos de Python: codificación, lectura, escritura y manejo de excepciones
Conjunto de herramientas de automatización de Selenium - Guía completa y tutoriales
Tutorial de los conceptos básicos del rastreador web de Python avanzados al combate real
Tutorial de procesamiento y análisis de datos de Pandas: desde lo básico hasta el combate real
Explicación detallada de los tipos de datos de uso común y las operaciones relacionadas en Python