Black Tibia

Comunidad de Open Tibia Servers


No estás conectado. Conéctate o registrate

 » Otros Lenguajes » 

Introducción a Python - Parte 2

Introducción a Python - Parte 2

#1 Introducción a Python - Parte 2 el Mar Abr 21, 2015 8:01 pm

Santi

avatar

Scripter
INTRODUCCIÓN A PYTHON - PARTE 2

Ahora que ya entendimos algunos conceptos del lenguaje, y podemos probar la consola para hacer varias cosas,
Les recomiendo esta página, que indica la visualización de cada proceso que se ejecuta en nuestro programa.
http://pythontutor.com/visualize.html#mode=edit
Muy recomendable para comenzar a entender loops de todo tipo, y la asignación de variables en la memoria.

------------------------------------------------------------------------------------------------------------------

Type STR

El type STR (string literal) es una secuencia de caracteres.
En Python un STR puede comenzar con (') o con (")
Por ejemplo:
Código:

>>'Hola'
>> Hola
>>"Hola"
>> Hola
Si un str comienza con (') debe terminar con ('), lo mismo se aplica para las double-quotes (")
En el caso de incluir un apostrofe (') dentro de nuestra secuencia, mientras usamos quotes para el str, tendremos un problema:

Claro, el programa entiende que el str termina en el primer apostrofe, y lo demás es basura.
Existen dos maneras de prevenir esto, una es usar el tipo double-quote, así:
Código:

"Llamo a la gente 'rica' cuando son capaces de satisfacer las necesidades de su imaginacion"
'Llamo a la gente "rica" caundo son capaces de satisfacer las necesidades de su imaginacion'
Pero que pasa si nosotros queremos o necesitamos debido a nuestro programa, que todo sea de una misma manera?
Lo que nos interesa es la secuencia ESCAPE.
ESCAPE =  \
Usaremos la barra invertida DETRÁS del apostrofe al que queremos "escapear", así Python no lo tomara en cuenta como el final de nuestro str, sino como un apostrofe más:

------------------------------------------------------------------------------------------------------------------

Operadores del tipo STR

Los operadores del tipo STR son los siguientes:
El primer es la concatenación, es decir la unión de dos str:
Código:

>> "Hola" + "Mundo"
>> HolaMundo
>> "Hola " + "Mundo"
>> Hola Mundo
>> "abc" + 'abc' + "ab\"c\""
>> abcabcab"c"
Entonces: str1 + str2 => Concadena las dos secuencias de cadena.

El segundo es la multiplicación con un tipo de datos INT (SIEMPRE INT!!)
Que también es una concatenación, pero lo que hace es multiplicar a la cadena de secuencias por el número entero que nosotros le proporcionemos.

Es decir multiplicara esa secuencia de caracteres tantas veces como sea el entero que le proporcionamos.

------------------------------------------------------------------------------------------------------------------

INPUT/OUTPUT

Comenzaremos hablando de la función print y del return.
Como bien sabemos (o no), la funcion print, es una funcion "built-in" (es decir viene con Python) e imprimirá los argumentos que se le son pasados.
La función admite 1 o más parámetros, además de admitir operaciones:

Veamos entonces cuál es la diferencia al usar print y return al crear una función.
Creamos un nuevo archivo en el cual definiremos dos funciones:

Veamos entonces como se comportan estas funciones:
Código:

>> print_cuadrado(2)
>> El cuadrado de ese numero es:  4
>> print_cuadrado(4)
>> El cuadrado de ese numero es:  16
>> return_cuadrado(2)
>> 4
>> return_cuadrado(4)
>> 16
Bien, hasta acá parecen comportarse de la misma manera, con la diferencia de que una devuelve un str y la otra un int.
Veamos que pasa cuando queremos almacenar estas funciones en otras variables.

¿Por qué sucede esto?
Bien, esto tiene que ver principalmente con las direcciones de memoria, y que significa realmente devolver algo en una función.
Lo principal es entender que al asignar una variable, lo que estamos haciendo es asignar a esa variable un dato que se encuentra en una dirección de memoria. Piensenlo como si fuera una caja, dentro de la misma vive el dato y nosotros podemos hacer referencia a ese dato porque sabemos que la variable refiere a la caja donde vive el dato (JÁ), es decir, si le asignamos un dato a una variable, estaremos diciendo que ese dato VIVE EN una dirección de memoria (no importa cuál) y que la variable REFIERE a ese dato.
Por ejemplo:
Código:

>> x = 3
El entero 3, se guardara en una dirección de memoria (no importa cuál!), y podremos acceder a su contenido mediante el llamado a la variable x:
Código:

>> x
>> 3
Para ser más claros, si llamo a la función 'return_cuadrado(4)', el valor en la dirección de memoria será 16, y la variable referirá a la dirección de memoria donde se encuentra el entero 16.
En el caso contrario, si llamo a la función 'print_cuadrado(4)', el valor de la dirección de memoria será 'None' (La caja esta vacía ya que la función no tiene return!), y la variable referirá a la dirección de memoria donde se encuentra el NoneType 'None'.
Entonces, durante la ejecución del llamado a una funcion, si al final de esta no hay un return que devuelva algo, el llamado a la función devolverá el valor 'None'.

Ahora que vimos el print/return, es decir el OUTPUT.. Veamos el INPUT, es decir la interacción con el 'usuario'.
Para esto usaremos la función 'built-in' llamada: input.
Esta función esperara a que el 'usuario' escriba algo, y devolverá lo que el usuario escribió (SIEMPRE COMO TIPO STR)
Por ejemplo:

Bien, eso no es de mucha utilidad.. Claro, pero si le asignamos una variable a ese llamado de función, como esta función si tiene un return (lo que ponga el usuario!), podremos luego utilizar la variable para acceder a lo que el usuario escribio:

Y ahora podemos ver la utilidad de la interacción con el usuario.

Por último hare una lista de los ESCAPE CHARACTERS, que como vimos anteriormente servían para decirle al programa que estos eran caracteres especiales.
Código:

\n -> newline (ASCII linefeed)
\t -> tab (ASCII horizontal tab)
\\ -> barra invertida
\' -> single quote
\" -> double qoute
Ejemplos de cada una de ellas:

------------------------------------------------------------------------------------------------------------------


DOCSTRING y la función HELP
Bien, como mencione anteriormente, la función help, ayuda a que quien usa el lenguaje pueda saber que hace cada función.
Su uso es
Código:
help(funcion)
Lo que aprenderemos ahora será a hacer el DOCSTRING, que será justamente lo que indica el comando help sobre cualquier función.
Al momento de crear nuestra función, escribiremos el DOCSTRING en el cuerpo de la función entre triple comilla (''').
Por ejemplo:

Esto no solo es conveniente sino absolutamente necesario, es una fundamental en la programación que los developers hagan docstrings. Esto se aplica a cualquier lenguaje y a toda la comunidad, es MUY común que no se usen docstrings y que nadie más que ustedes puedan entender su código.

------------------------------------------------------------------------------------------------------------------

EJERCICIOS
Spoiler:

1- Lo siguiente es el resultado de un llamado a la función print:
Código:
hello-how-are-you
Seleccionar el/los llamado(s) que dan como resultado lo anterior:

Código:

   a- print('hello' + '-' + 'how' + '-' + 'are' + '-' + 'you')
   b- print('hello-' + 'how-are-you')
   c- print('hello', 'how', 'are', 'you' + '-' * 4)
   d- print('hello' , '-', 'how', '-', 'are', '-', 'you')
   

2- Considerando el código:
Código:
def ubicacion(country):
      #Cuerpo de la funcion

   >>>santi_ubicacion = ubicacion('Argentina')
   >>>Argentina
   >>>print(ubicacion)
   >>>Argentina
¿Cual debiera ser el cuerpo de la función?

Código:

   a- return country
      print(country)
     
   b- return country
   
   c- print(country)
   
   d- print(country)
      return country
   

3- Suponga una función count_vowels que tiene un parámetro, y devuelve la cantidad de vocales en la palabra.
  Suponga otra funcion count_consonants que tiene un parámetro, y devuelve la cantidad de consonantes en la palabra.
  Considerando la función mostrada a continuación, cual sería el cuerpo de la misma (MÁX 1 RENGLON):
 
Código:

   count_palabra(word):
   #Cuerpo de la función
  

4- ¿Que devuelve el siguiente llamado a la función 'max'?

Código:
 max(3.3, 5.12, -3, 6.43)


Código:

   a- 5.12
   b- -3
   c- 6.43
   d- None
   


RESULTADOS
Spoiler:

1- a y b
-> caso C y D están separados por espacios.

2- d
-> Ya que devuelve algo al ser asignado a una variable, y además hace un print a la hora de asignar la variable.

3- return count_vowels(word) + count_consonants(word)
-> Ya que los dos devuelven un numero entero, y luego los sumo.

4- c
-> max devuelve el máximo número de todo el conjunto

#2 Re: Introducción a Python - Parte 2 el Vie Ene 22, 2016 9:34 pm

Gm Adrian


Aprendiz
Disculpa acabo de empezar esta guía en cuanto al problema 2 , Introduzco este codigo no se si este bien

def ubicacion(country):
print(country)
return country

luego
empiezo a hacer el codigo
>>>santi_ubicacion = ubicacion('Argentina')
>>>Argentina
>>>print(ubicacion)
>>> <<<<<<<<<<<<<< no se a que se deba si me puede ayudar en esto le agredeceria mucho.

#3 Re: Introducción a Python - Parte 2 el Mar Feb 23, 2016 2:18 pm

Santi

avatar

Scripter
Gm Adrian escribió:Disculpa acabo de empezar esta guía en cuanto al problema 2 , Introduzco este codigo no se si este bien

def ubicacion(country):
print(country)
     return country

luego
empiezo a hacer el codigo
>>>santi_ubicacion = ubicacion('Argentina')
  >>>Argentina
  >>>print(ubicacion)
  >>>                                      <<<<<<<<<<<<<< no se a que se deba si me puede ayudar en esto le agredeceria mucho.

ubicacion es el nombre de la función. Pero 'Argentina' esta "guardado" en la variable santi_ubicacion
print(santi_ubicacion) te dara un resultado distinto.

Saludos.

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.

 

¿Quién está en línea?

En total hay 0 usuarios en línea: 0 Registrados, 0 Ocultos y 0 Invitado

Usuarios navegando en este foro: Ninguno

Forum Statistics

Nuestros miembros han públicado un total de posts en temas.
Actualmente hay miembros registrados.
Démosle la bienvenida al miembro más reciente,
La mayor cantidad de usuarios en línea ha sido de .