módulo de python

Al usar la gramática tf.keras.layers, hay una pregunta de que estos dos puntos son la gramática en Python, como sé, puede llamar a métodos de clase a través de class.method (), pero ¿cuáles son los puntos consecutivos? Después de revisar la información nuevamente, me di cuenta de que estaba relacionada con el módulo.

Concepto de módulo

¿Qué es un módulo? Un módulo de Python (Módulo) es un archivo de Python que termina en .py. Es para reutilizar algunos objetos, como clases y funciones, y poner estas definiciones de objeto en un archivo .py, o desglosar un proyecto más grande Fácil de desarrollar y mantener para varios archivos .py. Cada archivo .py es un módulo. Poner código relevante en un módulo es la idea de encapsulación. Comprender este concepto nos ayudará a usar mejor Python para la programación modular.

Crear módulo

La creación de un módulo también es muy simple, simplemente cree un nuevo archivo .py. Por ejemplo, ahora he escrito un archivo llamado moduletest.py, como sigue:

# moduletest  
a = 'hello'
print(a)
def f(x): 
    return x 
class Pig: 
    def __init__(self,color):
        self.color = color

Como importar

Se crean nuevas variables, funciones y clases en modeuletest.py. Luego, siempre que la ruta sea correcta y cómo establecer la ruta , podemos usar moduletest.py como módulo y hacer referencia a él en otros archivos, de la siguiente manera:

import moduletest
moduletest.a
moduletest.f(100)
Peppa = moduletest.Pig('red')
Peppa.color
>>>'hello'
>>>100
>>>'red'

Nota: El nombre del módulo es modeletest, no moduletest.py

El módulo se ejecuta solo la primera vez que se importa y solo se importará una vez. La importación compilará y generará un archivo de código de bytes, que es el archivo __pycache__ que se puede encontrar en cada módulo, que almacena el archivo de código de bytes de moduletest moduletest.cpython-37. Cpython representa el intérprete de Python implementado en el lenguaje C. -37 significa la versión es 3,7. Cuando el intérprete de Python está funcionando, primero verifica si existe el archivo de código de bytes mencionado anteriormente localmente y si la hora de modificación del archivo de código de bytes es posterior al archivo de origen, y luego lo ejecuta directamente; de ​​lo contrario, repite los pasos anteriores. Es por eso que el módulo solo se importará una vez.
Además, si solo necesitamos usar parte de las funciones del módulo, y el módulo es más grande, podemos usar de ... importar ... a importar, como por ejemplo:

from moduletest impport f 
f(1)   #  可以直接使用f(), 而不是moduletest.f()
>>>1

Paquete

Un paquete es una colección de varios módulos. Cuando un proyecto es demasiado grande y hay varios módulos involucrados, los módulos se empaquetan para una fácil administración. El archivo empaquetado es un paquete. El matplotlib de uso común es el paquete. Deje que el intérprete de Python ingrese a un directorio como un paquete, debe tener un archivo __init__.py en ese directorio, el init .py puede estar vacío, por supuesto, puede haber definiciones de objetos y declaraciones utilizadas para hacer el trabajo inicial.

Importación multicapa

El paquete tiene una estructura de directorios clara, y se debe prestar atención a la estructura de la ruta al importar. De la siguiente manera:
> paquete1
  | - a.py
  | - b.py
> paquete2
  > paquete 3
    | - c.py

En la misma ruta de nivel, como importar el módulo b en el programa a, puede importar directamente b
en una ruta de nivel diferente, como importar el módulo c en el programa a, debe usar desde, como:

from package2.package3 import c

Este es el uso del punto medio de tf.keras.layers, módulo de importación multicapa. Use module. File para ver la ruta del módulo también puede probar, de la siguiente manera:

from  tensorflow.keras import  layers 
print( layers.__file__ )
>>> 'C:\\soft\\Anaconda\\lib\\site-packages\\tensorflow\\keras\\layers\\__init__.py'

Supongo que te gusta

Origin blog.csdn.net/weixin_43705953/article/details/110921563
Recomendado
Clasificación