Qué es uno mismo en Python: ejemplos del mundo real

Qué es uno mismo en Python: ejemplos del mundo real

Al escribir clases en Python, a menudo puede encontrar el término 'self.'Es un concepto crucial que los principiantes deben comprender a medida que profundizan en las funciones orientadas a objetos en el lenguaje de programación Python.

El selfparámetro se refiere a la instancia actual de una clase. Puede usarlo para acceder a los atributos y métodos que pertenecen a esa clase.

En este tutorial de Python, exploraremos cómo la selfvariable juega un papel fundamental en las clases de Python. También le mostraremos cómo mantener la claridad, la modularidad y la reutilización del código mediante el uso de self.

Tabla de contenido

Comprenderse a sí mismo en Python

Python es un lenguaje de programación orientada a objetos (POO) que se basa en gran medida en clases y objetos. Entonces, antes de sumergirnos en el selfparámetro, primero debemos entender qué es la programación orientada a objetos.

Programación Orientada a Objetos en Python

Qué es uno mismo en Python: ejemplos del mundo realEscritura con tiza: programación orientada a objetos, programación orientada a objetos archivo grande="https://blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1.jpg" decodificación="async" loading="lazy" src="https: //blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1.jpg" alt="¿Qué es uno mismo en Python?" class="wp-image-206807" width=" 709" height="472" srcset="https://blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1.jpg 612w, https://blog.enterprisedna.co /wp-content/uploads/2023/04/istockphoto-147480805-612x612-1-300x200.jpg 300w, https://blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1-560x372.jpg 560w" tamaños="(ancho máximo: 709px) 100vw, 709px">

La programación orientada a objetos ayuda a los programadores a modelar conceptos y relaciones del mundo real mediante el uso de clases y objetos. Esto da como resultado un código más estructurado, reutilizable y escalable.

Piense en una clase como una plantilla para crear objetos con propiedades y métodos predefinidos. Además, un objeto es una instancia de una clase que almacena sus propios valores para los atributos y tiene acceso a funciones de clase.

Estos dos conceptos son un bloque de construcción importante en muchas aplicaciones de Python . Puede ver las clases y los objetos en funcionamiento en este video sobre Cómo crear datos fácilmente con la biblioteca Python Faker.

El papel del yo Python

Self es una referencia a la instancia de la clase en Python. Le permite acceder y modificar los atributos y métodos de una clase dentro de su propio ámbito.

Aquí hay algunos puntos clave sobre el uso de self en Python:

  • Selfno es una palabra clave reservada en la sintaxis de Python . Puede usar otros nombres para identificar instancias de clase, pero selfes la convención más utilizada y aceptada por los programadores de Python.
  • Selfse utiliza como primer parámetro en los métodos de instancia para hacer referencia a la instancia actual de la clase.
  • Puede usar selfpara distinguir entre atributos de instancia y variables locales, lo que hace que su código sea más legible y con menos errores.
  • Al llamar a un método de instancia, Python pasa automáticamente la instancia como el primer parámetro.
  • Debe declarar el selfparámetro en el __init__() constructor y todos los demás constructores de funciones posteriores en su clase. Si no lo hace, su programa arrojará un archivo typeerror.

    Puedes ver un ejemplo de este error a continuación:

class Person: def __init__(self): print('welcome') def show_person(): print('I love pandas.') a = Person() b = a.show_person() Traceback (most recent call last): File "person.py", line 10, in trill = b.show_person() ^^^^^^^^^^^^^^^^^^ TypeError: Person.show_person() takes 0 positional arguments but 1 was given

Nota: Puede utilizar el self parámetro en funciones utilizando la función de método estático que proporciona Python 3. Entraremos en más detalles sobre eso en una sección posterior.

Trabajar con uno mismo

Qué es uno mismo en Python: ejemplos del mundo real

Aprender a usar self es muy importante para construir clases en Python. A lo largo de esta sección, aprenderá a usar self en diferentes escenarios al trabajar con clases y objetos.

Inicializar objetos con '__init__()'

Qué es uno mismo en Python: ejemplos del mundo real

Al crear una nueva instancia de una clase, __init__() se llama al método para inicializar los atributos del objeto. El __init__() método es el constructor de la clase y toma el self parámetro como primer argumento.

El selfparámetro se usa dentro de este método para asociar los atributos de la instancia con los argumentos dados.

Aquí hay un ejemplo:

class Person: def __init__(self, name, age): self.name = name self.age = age person1 = Person("Alice", 30)

En este ejemplo, el método toma , y como parámetros durante la inicialización del objeto. El parámetro hace referencia a la instancia de la clase, lo que le permite establecer los atributos y para el objeto específico que se está creando. init selfnameageself nameage

Uso de Self en métodos

Al definir métodos de instancia en una clase, debe incluirlos self como primer parámetro. Esto le permite acceder a los atributos de instancia y otros métodos dentro de la clase.

Ampliemos el ejemplo anterior:

class Person: def __init__(self, name, age): self.name = name self.age = age def introduce(self): print("Hello, my name is " + self.name + " and I'm " + str(self.age) + " years old.") person1 = Person("Alice", 30) person1.introduce()

En este ejemplo, el introduce()método incluye selfcomo su primer parámetro. Esto le permite acceder al nombre del objeto y los atributos de edad y crear una introducción personalizada.

Al llamar al método en su código, no necesita pasar el self parámetro explícitamente. Python se encarga de eso automáticamente.

Al seguir estas pautas y comprender el propósito de selfPython , los principiantes pueden trabajar de manera efectiva con clases y objetos. Esto les permite crear un código bien estructurado que es fácil de leer y mantener.

Casos comunes de uso propio

Qué es uno mismo en Python: ejemplos del mundo real

Hay muchas maneras de usar la palabra clave en su código de Python. Al comprender estos casos de uso, podrá utilizarlos de manera efectiva en sus programas. self self

Veamos algunos de ellos:

Acceso a atributos de clase

Un uso principal de selfes acceder a atributos de instancia dentro de una clase. Los atributos de instancia son específicos de un objeto creado a partir de la clase y almacenan los datos del objeto.

El uso selfle permite manipular o acceder a estos atributos dentro de los métodos de clase. Veamos un ejemplo:

class Dog: def __init__(self, name, age): self.name = name self.age = age def display_name(self): print("The dog's name is:", self.name)

En este ejemplo, solíamos self acceder al atributo de nombre de un objeto Perro dentro del display_name método.

Llamar a métodos de clase

Otro caso de uso común selfes llamar a otros métodos de clase desde dentro de un método de instancia. Esto le permite reutilizar el código, reducir la complejidad y mejorar la legibilidad.

Es esencial usarlo selfcuando se hace referencia a otros métodos, ya que garantiza que se llame al método correcto para la instancia específica. Considere el siguiente ejemplo:

class Bird: def __init__(self, species, color): self.species = species self.color = color def show_species(self): print("The bird species is:", self.species) def show_info(self): self.show_species() print("The bird color is:", self.color)

En el ejemplo anterior, usamos selfpara llamar al show_speciesmétodo desde dentro del show_infométodo. Esto nos permite mostrar la especie y el color del ave en una sola llamada.

Por último, recuerde usarlo selfcuando acceda a atributos de instancia y llame a métodos de clase. Una vez que comprenda estos casos de uso, podrá escribir código de Python más eficiente y organizado.

Mejores prácticas propias

Qué es uno mismo en Python: ejemplos del mundo real

Cuando trabaje con, self,hay algunas convenciones que debe seguir para evitar problemas y errores en su código. Éstos son algunos de ellos.

Dónde usar uno mismo

Al definir métodos de instancia, utilice siempre el selfparámetro como primer parámetro. Esto le permite acceder y modificar los atributos de instancia del objeto y llamar a otros métodos de instancia dentro de la clase.

Es importante usarlo selfcuando se trabaja con instancias de objetos en Python. Su uso garantiza un comportamiento coherente y permite la encapsulación adecuada de objetos.

Por ejemplo, considere la siguiente clase:

class MyClass: def __init__(self, my_var): self.my_var = my_var

Aquí, el parámetro self se usa en el __init__ método para inicializar el my_var atributo de la instancia del objeto. De esta forma, se convierte en un atributo específico de la instancia. my_var

Como resultado, se puede acceder y modificar usando la referencia propia en otros métodos de la clase.

Convenciones de nomenclatura para uno mismo

Si bien selfes el nombre convencional que se usa para la instancia en Python, técnicamente puede usar cualquier nombre que desee. Sin embargo, se recomienda encarecidamente que se limite a usar self para mayor claridad y coherencia con la comunidad de Python en general.

El uso de un nombre diferente puede causar confusión a quienes leen y trabajan con su código, especialmente si están acostumbrados a las convenciones de nomenclatura estándar en las bibliotecas de Python.

Dónde no usar uno mismo

Ya sabemos que el selfparámetro proporciona acceso a la instancia del objeto. Sin embargo, en algunos casos, es posible que algunas funciones de la clase no requieran acceso a la instancia del objeto.

En este escenario, el parámetro self no es necesario. Por lo tanto, Python proporciona una función de método estático para omitir el parámetro propio:

Aquí hay un ejemplo:

class Car: @staticmethod def print_car(): print('Vroom Vroom')

En el ejemplo anterior, el @staticmethoddecorador de funciones anula el selfrequisito del parámetro en el método. De esta manera, la función aún se ejecutará incluso si no se le pasa ninguna instancia de objeto.

Conclusión

Qué es uno mismo en Python: ejemplos del mundo real

En resumen, el parámetro self en Python se refiere a la instancia de una clase y le permite acceder a sus atributos y métodos. Como desarrollador de Python, es importante comprender el propósito de self y su uso en clases y objetos.

Al usar self de manera consistente en su código, promueve la legibilidad y la mantenibilidad, lo que mejora la calidad general de su trabajo.

Además, recuerde que si bien es posible que vea que el término "self"se usa con frecuencia en Python, no es una palabra clave reservada de Python. Esto difiere de los lenguajes de programación como Javascript y Java , donde "this" es una palabra clave reservada.

Puedes nombrar el primer parámetro en un método de clase como quieras; self es solo la convención preferida.

¿Es yo una palabra clave en Python? 

Hay una pregunta que siempre ronda entre los programadores de Python. ¿Es self realmente una palabra clave en Python? 

A diferencia de otros lenguajes de programación como C++, donde self se considera una palabra clave, en Python es una convención que los programadores tienden a seguir. Básicamente es un parámetro en la definición de un método. Sin embargo, puedes usar cualquier otro nombre en lugar de yo, como otro yo o cualquier otra cosa para el primer parámetro de un método. Otra razón por la que la mayoría de la gente lo sugiere es que mejora la legibilidad del código. 

Veamos un ejemplo para entenderlo: 

clase miClase:   def mostrar(otro):   print(“se usa otro en lugar de uno mismo”)  

Si comparas este código con el código del autoconstructor de la clase Python, notarás que aquí hemos usado el nombre otro en lugar de yo. Ahora creemos un objeto de esta clase y veamos el resultado: 

objeto = miClase()   objeto.mostrar()

Puedes ver que el programa funciona incluso si usamos algún otro nombre en lugar de la variable propia. Funciona exactamente de la misma manera que la variable self. 


Qué es uno mismo en Python: ejemplos del mundo real

Qué es uno mismo en Python: ejemplos del mundo real

Qué es uno mismo en Python: ejemplos del mundo real

Cómo guardar y cargar un archivo RDS en R

Cómo guardar y cargar un archivo RDS en R

Aprenderá a guardar y cargar objetos desde un archivo .rds en R. Este blog también cubrirá cómo importar objetos desde R a LuckyTemplates.

Revisión de los primeros N días hábiles: una solución de lenguaje de codificación DAX

Revisión de los primeros N días hábiles: una solución de lenguaje de codificación DAX

En este tutorial del lenguaje de codificación DAX, aprenda a usar la función GENERAR y a cambiar dinámicamente el título de una medida.

Showcase Insights utilizando la técnica de elementos visuales dinámicos de subprocesos múltiples en LuckyTemplates

Showcase Insights utilizando la técnica de elementos visuales dinámicos de subprocesos múltiples en LuckyTemplates

Este tutorial cubrirá cómo usar la técnica de elementos visuales dinámicos de subprocesos múltiples para crear información a partir de visualizaciones de datos dinámicos en sus informes.

Introducción al contexto de filtro en LuckyTemplates

Introducción al contexto de filtro en LuckyTemplates

En este artículo, repasaré el contexto del filtro. El contexto del filtro es uno de los temas principales que cualquier usuario de LuckyTemplates debería conocer inicialmente.

Los mejores consejos para usar las aplicaciones en el servicio en línea de LuckyTemplates

Los mejores consejos para usar las aplicaciones en el servicio en línea de LuckyTemplates

Quiero mostrar cómo el servicio en línea de LuckyTemplates Apps puede ayudar a administrar diferentes informes e información generada a partir de varias fuentes.

Analice los cambios en el margen de beneficio a lo largo del tiempo: análisis con LuckyTemplates y DAX

Analice los cambios en el margen de beneficio a lo largo del tiempo: análisis con LuckyTemplates y DAX

Aprenda a calcular los cambios de su margen de beneficio utilizando técnicas como la bifurcación de medidas y la combinación de fórmulas DAX en LuckyTemplates.

Ideas de materialización para cachés de datos en DAX Studio

Ideas de materialización para cachés de datos en DAX Studio

Este tutorial analizará las ideas de materialización de cachés de datos y cómo afectan el rendimiento de DAX al proporcionar resultados.

Informes comerciales con LuckyTemplates

Informes comerciales con LuckyTemplates

Si todavía usa Excel hasta ahora, este es el mejor momento para comenzar a usar LuckyTemplates para sus necesidades de informes comerciales.

¿Qué es la puerta de enlace de LuckyTemplates? Todo lo que necesitas saber

¿Qué es la puerta de enlace de LuckyTemplates? Todo lo que necesitas saber

¿Qué es la puerta de enlace de LuckyTemplates? Todo lo que necesitas saber