Cargando

  • 2 Min To Read
  • 01 Jan, 0001
    Índice de contenido

    Cada vez que se crea una instancia de la clase Student, Student.count el atributo se incrementará en 1. Para administrar estos atributos, Python mantiene diccionarios internos; uno para la clase atributos y uno para atributos de objeto. Estos diccionarios se llaman dict y pueden ser accedido desde la clase .dict (para atributos de clase) o desde un instancia de la clase <instancia.>dict (para atributos de objeto). Por ejemplo: alumno = alumno(‘Juan’)

    Diccionario de atributos de clase

    print(‘Estudiante.dict:’, Estudiante.dict)

    Diccionario de instancias/objetos

    print(’estudiante.dict:’, estudiante.dict) Lo que produce el resultado que se muestra a continuación (tenga en cuenta que el diccionario de clase contiene más información que solo el recuento de atributos de clase): Estudiante.dict: {’módulo’: ‘principal’, ‘recuento’: 1, ‘init’: <función Estudiante.init en 0x10d515158>, ‘dict’: <atributo ‘dict’ de los objetos ‘Estudiante’>, ‘weakref’: <atributo ‘weakref’ de Objetos ‘Estudiante’>, ‘doc’: Ninguno} estudiante.dict: {’nombre’: ‘Juan’} Para buscar un atributo, Python hace lo siguiente para los atributos de clase:

    1. Busque en el Diccionario de la clase un atributo
    2. Si el atributo no se encuentra en el paso 1, busque en los diccionarios de la(s) clase(s) principal(es) Para los atributos de los objetos, Python primero busca en el diccionario de instancias y repite el pasos anteriores, por lo tanto realiza estos pasos:
    3. Busque en el diccionario de objetos/instancias
    4. Si no se encontró el atributo en el paso 1, busque en el diccionario de la clase un atributo
    5. Si el atributo no se encuentra en el paso 2, busque en los diccionarios de la(s) clase(s) principal(es) Por lo tanto, dadas las siguientes afirmaciones, se toman diferentes pasos cada vez: alumno = alumno(‘Juan’) print(‘Student.count:’, Student.count) # búsqueda de clase print(’estudiante.nombre:’, estudiante.nombre) # búsqueda de instancia print(‘student.count:’, student.count) # la búsqueda encuentra la clase atributo 28.3 Búsqueda de atributos 329
    comments powered by Disqus