Programación orientada a objetos: Python #1

in #utopian-io7 years ago (edited)

What Will I Learn?

  • Classes in programming
  • Objects in python
  • Methods and paradigm

Requirements

  • Have previously installed python on the computer
  • Install and configure Sublime Text
  • Some previous programming knowledge

Difficulty

  • Intermediate

Tutorial Contents

27707340_1605924739529055_1898251706_o.png

Fuente: Propia (Ilustración creada por @greylml)

Bienvenidos amigos, me alegra estar una vez más con ustedes, permitanme presentarles una nueva sesión de tuturiales en mi cuenta con temática de python, he decidido tomar por iniciativa la programación orientada a objetos debido a que es un paradigma de programación de suma importancia en los conocimientos de cada programador, vital para la lógica y la manera en que resolvemos nuestros problemas informáticos. Trataré de explicarlo de la mejor forma, con objetivos claros y teóricos ademas de nuestros ejercicios prácticos, existen muchos paradigmas de programación y lo excelente de python es que es un lenguaje multiparadigma, la poo además consiste en traer los conceptos del mundo real que son relevantes para resolver un problema en forma de clases y objetos en nuestro código.

Cuando estes programando orientado a objetos es importante como tip que todo lo veas como un objeto. Algunos objetos pueden realizar ciertas funciones y a cada herramienta con la que cuenta el objeto se denomina métodos, además los objetos pueden tener ciertos atributos, que determina el estado del objeto.

Vamos a verlo de una manera más práctica pasando a nuestro sublime text y creando nuestro primer proyecto orientado a objetos.

Primero comenzamos con la palabra clave class seguidamente del nombre que tomaremos como ejemplo, es buena práctica iniciar el nombre de una clase con mayúscula, es porque normalmente los métodos siempre comienzan con minúsculas, por lo que esto es la forma rápida de distinguir unas de otras.

utopian1.png

Ahora vamos a declarar una variable donde solamente le vamos a asignar un número entero, y posteriormente vamos a definir nuestra función, cabe destacar que en la programación orientada a objetos las funciones que se encuentran dentro de la clase son consideradas métodos que llevará por parametros 2 valores, el primer valor se denomina self y nos preguntamos... que quiere decir self? pues es un parámetro predeterminado que hace referencia al objeto en sí, es utilizada para acceder tanto a los atributos como a los métodos de nuestros objetos. Seguidamente agregaré otro parámetro llamado mensaje, colocamos 2 puntos para entrar al cuerpo de nuestro método.
Ahora le vamos a indicar al programa que nos imprima el mensaje con un print luego creamos un objeto de la clase, o mejor dicho instanciamos para luego asignar a nuestra nueva variable el objeto. Para esto crearemos una variable llamada utopian y le asignaremos nuestra clase ejemplo. Seguidamente crearemos otra variable llamada grey y le asignaremos la misma clase para que vean lo que va a suceder.

Luego de instanciar nuestras variables lo que vamos a hacer es acceder a los valores que tenemos dentro de nuestra clase tanto a la variable entera que tenemos como a nuestro método. ¿De que manera lo haremos? vamos a imprimir utopian y usamos una notación con punto, lo mismo con la otra variable grey, seguido del punto vamos a hacer referencia al parámetro mensaje o entero y el primero hace referencia a self o a nuestro objeto de la clase. Para mensaje pasaremos una cadena de caracteres e imprimiremos un pequeño saludo, lo haremos de esta manera:

Como estamos trabajando con módulos debemos dirigirnos a nuestra carpeta donde se encuentra ubicado nuestro proyecto, esto lo haremos desde la consola haciendo uso del comando cd seguidamente de la ruta a la que vamos a acceder. Ahora si podremos ver el resultado de nuestro programa, al correrlo nos fijamos que nos retorna 3 valores, 1234, nuestro mensaje y un none, esto es debido a que no estamos retornando ningún valor es normal que nos arroje este resultado al final del programa.

Bien este fue un ejemplo sencillo de la POO, ahora vamos con otro ejemplo más interesante. Nos dirijimos a nuestro sublime text y creamos un nuevo proyecto, seleccionamos de nuevo python de nuestro plain text y creamos una nueva clase... yo lo llamaré RobotUtopian

Ahora bien, vamos a definir el método init que se invoca cuando hacemos una instancia de la clase, esto nos permite crear objetos que tengan algo y no que estén vacíos como los objetos del ejemplo anterior, primero colocamos doble guion bajo seguido de la palabra init luego de nuevo doble guion bajo. Invocamos el parámetro self seguido de 2 puntos y nos encontraremos en el cuerpo del objeto. Le vamos a decir que nos imprima un mensaje.

Hemos creado unas funciones bastante interesantes para nuestro robot, de esta manera estamos dando vida a los que serán nuestros futuros robots, ahora solo queda instanciar dos objetos de la clase RobotUtopian para así acceder a sus métodos. Lo haremos de esta manera:

Al terminar el programa nos arrojará este resultado, si nos fijamos en la imagen de la consola, el programa nos esta imprimiendo por defecto nuestra función init, eso es porque aun no le hemos dado un atributo, si queremos darle un atributo podemos simular que el robot tenga una cierta categoría, a mi me gustaría que el robot se identificará como un reploid y el otro robot será un maverick así que vamos a editarlo a nuestro gusto. Añadimos el parámetro faltante de nuestro init y cambiamos el mensaje, para luego instanciar y añadir los atributos correspondientes.

Bueno amigos esto ha sido todo el primer tutorial de programación orientada a objetos con python espero que les haya gustado, si les interesa indagar un poco más del tema los dejo con la fuente de la información de este pequeño tutorial que la verdad me he divertido mucho haciéndolo y espero que ustedes también se integren más al mundo de la programación. Nos vemos en una próxima entrega de esta sección. Las dudas las estaré respondiendo en los comentarios.

Fuente

Libro: Python para todos
Autor: Raúl González Duque

Manta1animacion.gif



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

Your contribution cannot be approved because it does not follow the Utopian Rules.

Hi, there are a few problems with your tutorial

  • Contents of the contributions (post content) must be in plain English and fully understandable, yours is not,
  • The linked repository is wrong. If you are making a tutorial about Python, then you should link Python's repository.

Before you create another tutorial I recommend reading the rules.

You can contact us on Discord.
[utopian-moderator]

ok, I'll make the changes soon

Congratulations! This post has been upvoted from the communal account, @minnowsupport, by Greylml from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, theprophet0, someguy123, neoxian, followbtcnews, and netuoso. The goal is to help Steemit grow by supporting Minnows. Please find us at the Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.

If you would like to delegate to the Minnow Support Project you can do so by clicking on the following links: 50SP, 100SP, 250SP, 500SP, 1000SP, 5000SP.
Be sure to leave at least 50SP undelegated on your account.

Hola muy buen post te recomiendo este libro Introducción a la COMPUTACIÓN Y PROGRAMACIÓN CON Python. Mark J. Guzdial y Barbara Ericson es muy bueno. yo utilizo ubuntu como sistema operativo ya trae instalado python pero cada programador tiene su metodo. @andrysita

Hey gracias por esa recomendación lo tomaré en cuenta, se que me servirá de mucho para futuros tutoriales.

Congratulations @greylml! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of upvotes received

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

Excelente, un post completo para aquellos que quieren aprender de programación, un arte que es complejo, solo para grandes mentes. Un abrazo.

Coin Marketplace

STEEM 0.18
TRX 0.16
JST 0.030
BTC 65921.21
ETH 2622.37
USDT 1.00
SBD 2.69