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 self
pará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 self
variable 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 self
parámetro, primero debemos entender qué es la programación orientada a objetos.
Programación Orientada a Objetos en Python
Escritura 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:
Self
no es una palabra clave reservada en la sintaxis de Python . Puede usar otros nombres para identificar instancias de clase, pero self
es la convención más utilizada y aceptada por los programadores de Python.Self
se utiliza como primer parámetro en los métodos de instancia para hacer referencia a la instancia actual de la clase.self
para distinguir entre atributos de instancia y variables locales, lo que hace que su código sea más legible y con menos errores.self
pará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
. 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
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__()'
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 self
pará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
self
name
age
self
name
age
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 self
como 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 self
Python , 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
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 self
es 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 self
le 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 self
es 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 self
cuando 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 self
para llamar al show_species
método desde dentro del show_info
método. Esto nos permite mostrar la especie y el color del ave en una sola llamada.
Por último, recuerde usarlo self
cuando 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
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 self
pará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 self
cuando 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 self
es 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 self
pará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 @staticmethod
decorador de funciones anula el self
requisito 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
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.
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 o 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
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.
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.
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.
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.
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.
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.
Este tutorial analizará las ideas de materialización de cachés de datos y cómo afectan el rendimiento de DAX al proporcionar resultados.
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