Función Propiedad Python

by admin

En los lenguajes de programación orientada a objetos (POO) como Python, clases y objetos son una parte integral de cómo se representan los datos. Uno de los principios fundamentales de la programación orientada a objetos es la integridad y seguridad de datos. Esto es muy importante para un lenguaje como Python que existe en una gran variedad de software y fuera de la Web. Una manera de mantener la integridad de los datos es el control de la cantidad de datos objeto interactúa con los usuarios. La "propiedad) (" función en Python hace precisamente eso.

Clases y objetos en Python

Debido a que Python es un lenguaje orientado a objetos, los programadores de Python pueden crear clases especiales de los tipos de datos mediante la creación de "clases". Las clases son los planos que definen la estructura interna y el comportamiento de un objeto. Después de escribir una clase, un programador puede "crear una instancia" (o crear una instancia de) un objeto. El siguiente ejemplo muestra una clase de base y una instanciación de un objeto de la clase.

Clase básica: // nombre de la clase

. . .def init (self): // función llamada implícita inicializar cuando se crea una instancia de objeto

. . . self.x = 4 // miembro de datos locales

. . .def de escritura (): // método de la barra

. . . print "Hola"

f = Básico () // f representa ahora un objeto "Básico"

Protección de los datos

Cualquier objeto creado a partir de la clase "básica" contendrá un elemento de datos "x" que contendrá el número entero 4. Un programador que trabaja con un objeto básico puede acceder a los datos de x con el "." operador, como en este ejemplo:

fx

4

Sin embargo, el usuario puede cambiar este valor en cualquier momento, al igual que con cualquier otra variable. Esto podría no ser deseable en todos los casos; una clase podría contener información importante que los usuarios no deben cambiar. En este caso, los miembros de datos en Python tienen un convenio de denominación de poner dos caracteres de subrayado antes de que el nombre del miembro con el fin de evitar que un usuario cambiarlo:

Clase básica:

. . . init def (auto)

. . . self .__ x = 4 // miembro de datos privados

Captadores y definidores

Esta ocultación de datos del acceso es a veces descrito como "encapsulación". Los datos ocultos de acceso de los usuarios podrían requerir la manipulación de vez en cuando, como en los casos en que un usuario puede cambiar la información de clase, pero sólo dentro de ciertos parámetros. En este caso, el programador incluye "captadores" y "fijadores", que devuelven el valor y establecer el valor, respectivamente. Compuestos absorbentes simplemente devuelven un valor y emisores de cambiar el valor, manteniendo la integridad de los datos. El siguiente ejemplo muestra muestra de obtener y definir funciones en una clase de Python:

Clase básica:

. . . init def (SEF):

. . . self .__ x = 4

. . . def getX (auto):

. . . auto regresar .__ x

. . . def setX (auto, newx):

. . . si newx> = 0:

. . . yo. __x = newx

La "propiedad ()" Método

Algunos usuarios consideran que es difícil de manejar para los usuarios tengan que acceder al método "() f.getx" para cada instancia de los datos es necesario. La sintaxis "fx" es normalmente más conveniente. El método de la "propiedad" hace precisamente esto: que permite al programador definir los métodos get y set (junto con otros) y se unen a la sintaxis sencilla. Tomando la clase básica como ejemplo, el método de la "propiedad" simplificará el acceso del usuario a los datos básicos:

. . . getX def (auto):

. . . auto regresar .__ x

. . . def setx (auto, newx):

. . . si newx> = 0:

. . . self .__ x = newx

. . . propiedad (se pone, setx) // ahora los usuarios pueden obtener el valor __x con fx, y configurarlo con el fx = i

ETIQUETA: