Registrarse

[Otros] Compilación de ejemplos 1

Estado
Cerrado para nuevas respuestas.

Jason

Moderator
Miembro del equipo
Moderador/a
Compilación de ejemplos 1

Veo que las clases se han quedado un poco cortas a la hora de dar ejemplos para explicar algunas cosas así que abriré esta nueva sección de temas donde iré compilando ejemplos emblemáticos de como funcionan algunas cosas.

Funciones y métodos de python:

Hablemos un poco de las funciones y métodos que vienen en python por defecto.

Las funciones y los métodos son un resúmen de instrucciones que podemos ejecutar con un único llamamiento (si van a la clase 11 podrán entender a qué me refiero) pero se diferencian en que las funciones son "libres" por decirlo de alguna forma, mientras que los métodos pertenecen a un tipo de dato. Los tipos de dato que hemos visto son: int, float, str, bool, list, tuple, dict y set. Cada uno tiene sus propios métodos.

Utilizando funciones y métodos:

Ambos, tanto funciones como métodos, pueden o no tener algo llamado "retorno". La diferencia está en qué valor toma una variable al asignarle el resultado de una función o método. Si no tiene retorno, la variable tomará el valor None.

Sin retorno:

Código:
funcion(elemento, argumentos)
o

Código:
elemento.metodo(argumentos)
Con retorno:

Código:
variable = funcion(elemento, argumentos)
o

Código:
variable = elemento.metodo(argumentos)
Métodos que hemos visto (se los dejé de tarea):

Uso:
Código:
variable_tipo_string.nombre_metodo(argumentos)

str.replace(old, new) -> str
Código:
aux = "holaa"
bux = "holaa".replace("h", "")
cux = aux.replace('h', '')
#recuerden que da lo mismo usar comillas simples o dobles,
#pero hay que ser consistentes, es 'hola' u "hola".
print(bux, cux, bux == cux)

str.index(cadena) -> int, error si cadena no está en str
Código:
aux = "hola"
indice = aux.index("la")
print(indice)
#nos dice donde parte la cadena que estamos buscando, 
#si se repite solo dirá la primera aparición
str.find(cadena)
aux = "hola"
indice = aux.find("la")
print(indice)
#nos dice donde parte la cadena que estamos buscando,
#si se repite solo dirá la primera aparición


str.count(cadena)
Código:
#dice el número de apariciones de string en str
aux = "jkadsfoibwefknohbfwv"
print(aux.count('w'))

str.strip(cadena) -> str
Código:
"   hola como estás\n".strip() -> "hola como estás"
#quita los espacios y otros caracteres especiales que haya a los extremos de 
#nuestros strings
El resto los buscan ustedes

str.upper() -> str
str.lower() -> str
str.capitalize() -> str
str.title() -> str

str.isnumeric() -> bool
str.isalpha() -> bool
str.isalnum() -> bool
str.isupper() -> bool
str.islower() -> bool

Más sobre strings:
Comparando: ¿cuál es mayor? ¿"a" es mayor a "A"?

Python usa un "abecedario" extendido a todos los caracteres que podemos escribir y es con ese criterio, qué caracter está primero, que decide cuál string es menor.
Notar que:

Los números en formato string (de '0' a '9') están antes que las letras.
Las letras mayúsculas están antes que las minúsculas.

Entonces:
'0' < 'Hola' y 'Hola' < 'hola', por poner ejemplos.

Funciones chr() y ord():

La función chr(int) retorna el string que corresponde al int-ésimo caracter del diccionario.

Ejemplos:

chr(33) -> '!'
chr(107) -> 'k'

La función ord(string) retorna el int del caracter que pusimos como argumento.

Ejemplos:

ord('a') -> 97
ord('A') -> 65
ord('k') -> 107

El entero que aroja la función ord es el criterio que usa python para determinar si un string es mayor a otro.

NOTA: ¿conocen los diccionarios en papel? Para strings de más de un caracter les conviene aprender a buscar palabras en el diccionario, el criterio es el mismo, ejemplos:

"hola" está antes que "holo" porque:
"h" == "h",
"o" == "o",
"l" == "l" y
"a" < "o".


Caracteres especiales:
1. Salto de línea: '\n'

El salto de línea se escribe con '\n'.
Prueben en el idle:

Código:
print('h\no\nl\na')
2. Tab: '\t'

El tab (indentación) se escribe con '\n'.
Prueben en el idle:

Código:
print('h\to\tl\ta')
Miscelaneos:
1. True > False es True
2. En un bloque if, pueden poner:

Código:
if [I]condicion[/I]:
	#instrucciones
else:
	[COLOR="DarkOrange"]pass[/COLOR]
o simplemente
Código:
if [I]condicion[/I]:
	#instrucciones
pass es una palabra reservada que le dice al computador "no hagas nada con esto, sigue tu camino".

3. Es importante que al leer las clases, metan en el editor de texto el código que les pongo en los ejemplos y lo prueben por ustedes mismos. También espero que se pregunten "qué pasa si ..." a las distintas cosas. Varios ejercicios de clase están orientados a eso, por ejemplo el último ejercicio de la clase 2 en el que preguntaba que qué pasa si hago cosas como 2/0 en python, en "cosas como ..." estaba la clave: un real dividido cero no existe, entonces qué otras cosas no existen o están indefinidas y esperaba que también las probaran: 0/0, 0//0, 0**0, por poner casos. Hay más formas indefinidas pero las otras (si mal no recuerdo) involucran infinitos, cosa que no disponemos en python.

4. Hay un ejercicio bastante fundamental que se me olvidó decirles que hicieran: tienen dos variables, var1 y var2. Deben intercambiar los valores de ambas, es decir: var1 debe pasar a tener el valor de var2 y a la vez var2 debe terminar con el valor original de var1.


5. También, por favor, hagan los ejercicios que les pongo. Son complicados porque pido que hagan tareas más grandes que la que les acabo de poner para que se enfrenten en un solo ejercicio a a varios desafíos pequeños.


Recuerden: programar no es escribir código, es pensar cómo va a ser ese código.

Lista de alumnos:

@joaquino
@WhiterMaker
@Berserker1523
@旅団.Markuzz Kaizuka
@RioulMillan
@kurugane
@David Phunir
 
Estado
Cerrado para nuevas respuestas.
Arriba