0% encontró este documento útil (0 votos)
52 vistas

Apuntes Python

Este documento proporciona una introducción a Python, cubriendo temas como variables, tipos de datos, operadores, condicionales e iteraciones. Explica conceptos fundamentales como variables globales y locales, tipos de datos como enteros, flotantes y cadenas, y estructuras de control como if/elif/else, while y for. También describe listas y sus propiedades de ordenación e iterabilidad.

Cargado por

mm85nnpwt8
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
52 vistas

Apuntes Python

Este documento proporciona una introducción a Python, cubriendo temas como variables, tipos de datos, operadores, condicionales e iteraciones. Explica conceptos fundamentales como variables globales y locales, tipos de datos como enteros, flotantes y cadenas, y estructuras de control como if/elif/else, while y for. También describe listas y sus propiedades de ordenación e iterabilidad.

Cargado por

mm85nnpwt8
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 18

Apuntes Python | María Álvarez Álvarez

APUNTES PYTHON
Introducción a Python
VARIABLES:
Una variable me permite almacenar datos. Puedo asignar varias variables en una
única línea. Usando type() vemos que Apo de variable hemos guardado.
x, y, z = "Orange", "Banana", "Cherry"
VARIABLES GLOBALES Y LOCALES
Son las que se crean en el exterior de una función y pueden usarse tanto dentro
como fuera de las funciones. Si creas una variable en el interior de una función esta será
una variable local y solo servirá para el interior de esa función. Una variable local se
puede converAr en una global uAlizando el comando global.
def myfunc():
global x
x= "fantastic”
myfunc()
print("Python is " + x)

OPERADORES LÓGICOS:
AND: OR:

PRINT:
Output que permite extraer por pantalla cualquier formato: string, int, foat y
booleano. Para que se impriman varios argumentos estos deben de estar separados por
comas.
name = "Anna"
surname = "Anderson"
print(name, surname)

OPERADORES
• /: División normal. Obtengo el resultado en Apo float
• //: División entera, al dividir obtengo un número entero en Apo int
• %: resto al dividir, módulo

1
Apuntes Python | María Álvarez Álvarez

• <: menor que


• >: mayor que
• ==: igual
• <= menor o igual que
• >= mayor o igual que
• !=: disAnto a
• is: me dice si dos variables son el mismo objeto. Lo opuesto es is not
• in: me dice si un caracter está en un objeto. Lo opuesto es in not
OPERADORES LÓGICOS DE LOS CONJUNTOS
Los conjuntos pueden combinarse uAlizando operaciones matemáAcas:
• El operador de unión | combina dos conjuntos para formar uno nuevo que
contenga elementos en cualquiera de los dos.
• El operador de intersección & obAene elementos solo en ambos.
• El operador de diferencia - obAene elementos en el primer conjunto pero no en
el segundo.
• El operador de diferencia simétrica ^ obAene elementos en cualquiera de los
conjuntos, pero no en ambos.

INPUTS:
Hay que recordar que todos los inputs se almacenan como string. Para cambiar el
formato hay que usar:
• int(input()) para que sea número entero.
• float(input()) para que sea número decimal etc.

DATA TYPE:
Existen varios Apos de datos:
• Text Type: str
• Numeric Types: int, float, complex
• Sequence Types: list, tuple, range
• Mapping Type: dict
• Set Types: set, frozenset
• Boolean Type: bool
• Binary Types: bytes, bytearray, memoryview
• None Type: NoneType
NÚMEROS:
INTEGER
Int, números enteros posiAvos, negaAvos y sin decimales. Si queremos converAr
un float a int lo hará truncando el número.
FLOAT
Float, números posiAvos, negaAvos con decimales. También son los números de
potencias uAlizando “e” como el exponete de 10^-.

2
Apuntes Python | María Álvarez Álvarez

COMPLEJOS
Complex: números complejos que uAlizan la “j” como la parte imaginaria.
ALEATORIO
Random: me permite generar un número aleatorio.
import random
print(random.randrange(1, 10))
STRINGS:
Se escriben entre comillas. Pueden estar indexados. Esto quiere decir que
ponemos imprimir un carácter del string o su longitud.
a= "Hello,World!"
print(a[1:5])
print(len(a))
Para imprimir cada carácter de un string lo podemos hacer con:
for x in "banana":
print(x)
También podemos comprobar si un carácter está o no en el string con las
funciones if in o if not in.
txt = "The best things in life are free!"
if "free" in txt:
print("Yes, free' is present.")
if "expensive" not in txt:
print("No, 'expensive' is NOT present.")
CONCATENACIÓN
Permite unir dos argumentos.
x = "air"
y = "plane"
print(x + y)
INSERCIÓN DE CARACTERES ILEGALES:
• \' Single Quote #añade comillas simples
• \\ Backslash #añade la barra \
• \n New Line #salto de linea
• \r Carriage Return #Equivalente a dar al intro print(“Hello\rWorld”)
• \t Tab #añade una tabulación print(“Hello\tWorld”)->Hello World
• \b Backspace #quita un espacio print(“Hello \bWorld!”)->HelloWorld!
BOOLEANS:
En Python muchas veces es necesario saber si un argumento es verdadero o falso.
Se pueden aplicar booleanos en: strings, todas serán True salvo las vacías; números,
todos true salvo el 0; listas, tuplas y diccionarios, todos True salvo las vacías.

3
Apuntes Python | María Álvarez Álvarez

CONDICIONALES:
IF:
El if se uAliza para tomar decisiones basadas en condiciones, permiAendo que el
código ejecute diferentes bloques de instrucciones dependiendo de si una condición es
verdadera o falsa.
a, b = 33, 200
if b > a:
print("b is greater than a")
Si el if solo Aene una línea se puede poner junto.
a, b = 33, 200
if b > a: print("b is greater than a")
Si un if está vacío se puede poner “pass” para evitar el error.
a, b = 33, 200
if b > a:
pass
ELIF:
El elif es equivalente a decir: “si la condición anterior es falsa, prueba con esta”.
a, b = 33, 200
if b > a:
print("b is greater than a")
elif a == b:
print("a and b are equal")

ELSE:
La condición else realiza su argumento si ninguno de las anteriores se cumple.
a, b = 33, 200
if b > a:
print("b is greater than a")
elif a == b:
print("a and b are equal")
else:
print("a is greater than b")

BUCLES:
WHILE
El bucle while ejecuta declaraciones mientras sean verdad. Con el bucle while no
sabes cuantas veces se va a repe<r una tarea. Por ejemplo un while hasta que la
contraseña sea correcta.

4
Apuntes Python | María Álvarez Álvarez

seats = 5
while seats > 0:
print("Sell ticket")
seats = seats – 1

El bucle while requiere que las variables relevantes estén listas; en este ejemplo
necesitamos definir una variable de indexación, i, que configuramos en 1. Hay que
incrementar i, de lo contrario el ciclo conAnuará para siempre.
i = 1
while i < 6:
print(i)
i += 1
Para detener el bucle lo hacemos con break. Se deAene aunque las condiciones
sean ciertas.
i = 1
while i < 6:
print(i)
if i == 3:
break
i += 1
Con la instrucción conAnue podemos detener la iteración actual y conAnuar con
la siguiente:
i = 0
while i < 6:
i += 1
if i == 3:

5
Apuntes Python | María Álvarez Álvarez

continue
print(i)# Note that number 3 is missing in the result
Se puede usar else cuando la condición del while ya no se cumpla.
i = 1
while i < 6:
print(i)
i += 1
else:
print("i is no longer less than 6")
FOR:
Un bucle for se uAliza para iterar sobre una secuencia (es decir, una lista, una
tupla, un diccionario, un conjunto o una cadena). Los bucles for se usan cuando sabes
cuantas veces se va a repe<r una instrucción.
LOOP CON EL FOR:
Me permite pasar por todas las letras de una palabra.
for x in "banana":
print(x)
Al usar for para hacer un loop por una variable no es necesario definir esa
variable antes.
Puedo terminar un bucle uAlizando break y saltarlo con conAnue al igual que el
los while.
FUNCIÓN RANGE:
Para hacer un bucle a través de un código un número determinado de veces se
puede uAlizar la función range(). Esta devuelve una secuencia de números empezando
por el cero con incrementos de uno en uno si no se le indica otro caso. En el siguiente
ejemplo los valores van de 2 a 29 con saltos de 3 en 3.
for x in range(2, 30, 3):
print(x)
ELSE:
El else después de un for se ejecuta cuando termine el for anterior, pero no se
ejecutará si el for termina por un break.
PASS:
Si se quiere evitar un erro por que un for está vacío hay que poner pass para que
salte ese bucle.

LISTAS:
Las listas permiten almacenar una colección de varios valores en una única
variable. Hay que poner corchetes [ ] entre sus valores y separarlos por comas. Puede
almacenar cualquier Apo de valores y de varios Apos. Las listas son: ordenadas, iterables
y me permiten duplicar valores.
ORDENAS: Quiere decir que los ítems se han definido en un orden, y ese orden
no se puede cambiar. Si añades un nuevo elemento este se sitúa al final.

6
Apuntes Python | María Álvarez Álvarez

ITERABLE: Quiere decir que se pueden quitar, añadir y cambiar los elementos
después de que se haya creado.
Al estar indexadas me permite que los valores puedan estar repeAdos.
cart=[”milk”, “tea”, “jam”]
ÍNDICES
Las listas son uno Apo de colecciones, y te permiten almacenar valores
indexados. Cada elemento de una lista Aene un índice, que se establece
automáAcamente. Para acceder a un elemento de la lista podemos hacerlo mediante la
posición que ocupa en la lista, siendo la primera el 0.

animals = ["cat", "dog", "bird"]


print(animals[2])
Se puede remplazar elementos. En el ejemplo de debajo imprimirá por pantalla
[1, 6, 19].
nums = [8, 6, 19]
nums[0] = 1
print(nums)
Podemos imprimir en los strings letras o números de una variable uAlizando los
índices. El siguiente código imprime por pantalla la palabra led.
x=”dialogue”
print(x[3]+x[7]+x[0])
El concepto de índice también se puede aplicar en strings.

animal = "Dog" print(animal[0])

SLICING
Para elegir imprimir los elementos de una lista de la posición x a la y se emplea:

animals =['cat', 'dog', 'bird', 'cow']

7
Apuntes Python | María Álvarez Álvarez

print(animals[2:4])
Los índices también pueden empezar por el final de una lista.

El corchete [0:2] se puede omiAr el 0 y poner [:2]. Siempre contará desde el


primer elemento. Análogamente se puede omiAr el úlAmo elemento [2:].
CAMBIAR ELEMENTOS DE UNA LISTA:
fruits = ["apple", "banana", "cherry"]
fruits[0]=”kiwi”
AÑADIR ITEMS A UNA LISTA:
Para cambiar un valor específico lo podemos hacer refiriéndonos al carácter a
cambiar con un índice:
thislist=["apple", "banana", "cherry", "orange", "kiwi"]
thislist[1:3]=["blackcurrant", "watermelon"]
La función instert() permite añadir un elemento a una lista en una posición
específica. La función pide dos argumentos el primero la posición nueva y el segundo el
elemento a añadir.

UNIR DOS LISTAS:


Para unir dos listas lo podemos hacer mediante la función extend.
thislist=["apple", "banana", "cherry"]
tropical=["mango", "pineapple", "papaya"]
thislist.extend(tropical)
Imprime: ['apple', 'banana', 'cherry', 'mango', 'pineapple', 'papaya']
Tambien se puede hacer concatenando listas:
list1 = ["a", "b", "c"]
list2 = [1, 2, 3]
list3 = list1 + list2

COPIAR UNA LISTA


Para copiar una lista no basta con l1=l2. Podemos usar el formato copy o hacer lo
siguiente:
thislist = ["apple", "banana", "cherry"]
mylist = list(thislist)
INVERTIR UNA LISTA:
Me permite inverAr el orden de una lista uAlizando el comando reverse().
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.reverse()

8
Apuntes Python | María Álvarez Álvarez

ELIMINAR ELEMENTOS DE UNA LISTA:


ELIMINAR UN ELEMENTO ESPECÍFICO:
UAlizando el elemento remove() y le indicamos el elemento a eliminar. Si hay dos
elementos iguales eliminará solo el primero.
thislist=["apple", "banana", "cherry"]
thislist.remove("banana")
print(thislist)
ELIMINAR UN ELEMENTO INDEXADO O UNA LISTA:
UAlizando el comando pop() podemos eliminar un elemento indexado. Si no se
incluye índice elimina el ulAmo.
thislist=["apple", "banana", "cherry"]
thislist.pop(1)
También se puede usar el comando del, para eliminar un índice específico si
ponemos un indice o borrar la lista al completo si no ponemos el índice
thislist=["apple", "banana", "cherry"]
del thislist[0] #Elimina el valor con índice 0
del thislist #Elimina la lista al completo
Para vaciar la lista podemos uAlizar el comando clear.
thislist = ["apple", "banana", "cherry"]
thislist.clear()

AÑADIR ITEMS DE UNA LISTA


La función append() añade un nuevo elemento al final de una lista. El ínide indica
la posición en la que se sitúa.
songs = ["Yesterday", "Hello", "Believer"]
songs.append(1, "Imagine")

LIST COMPRENHENSION
Es una manera úAl de crear rápidamente listas cuyos contenidos sigan una regla.
cubes = [i**3 for i in range(5)]
print(cubes) #contiene los cubos del 0 al 4

SORT
Me permite ordenar los elementos de una lista. Bien sea alfabéAca o
numéricamente.
De mayor a menor:
numeros=[2,5,7,3,1]
numeros.sort(reverse=True)
De menor a mayor:
numeros=[2,5,7,3,1]
numeros.sort()
Es importante tener en cuenta que el método sort() modifica la lista original. Si
prefieres mantener la lista original intacta y obtener una nueva lista ordenada, puedes
uAlizar la función sorted() en su lugar.
lista_ordenada = sorted(lista) # menor a mayor

9
Apuntes Python | María Álvarez Álvarez

lista_ordenada_desc = sorted(lista, reverse=True) #mayor a


menor

TUPLAS:
Al igual que las listas, las tuplas nos permiten almacenar varios elementos en una
misma variable. Se escriben entre paréntesis () y son colecciones de datos ordenadas,
invariantes (no podemos ni añadir ni eliminar datos) y permiten datos duplicados.
Se se puede acceder a sus elementos mediante índices y se puede comprobar si
un elemento está en la tupla de la misma forma que si está en una lista.
thistuple = ("apple", "banana", "cherry")
print(thistuple[-1])
if "apple" in thistuple:
print("Yes, 'apple' is in the fruits tuple
VARIAR TUPLAS:
Las tuplas son inmutables, esto quiere decir que no podemos añadir ni eliminar
elementos. Si quisiésemos variarlas tendríamos que converArlos en listas, hacer los
cambios que deseemos y volverlos a converAr en tuplas.
thistuple = ("apple", "banana", "cherry")
y = list(thistuple)
y.append("orange")
thistuple = tuple(y)
EXTRAER VALORES DE TUPLAS:
Una vez creada una tupla podemos asignarle a cada elemento una variable y
extraer sus valores como variables.
fruits = ("apple", "banana", "cherry")
(green, yellow, red) = fruits
print(green) #imprime apple
print(yellow) #imprime banana
print(red) #imprime red
Si el número de variables es menor que el número de valores, se puede agregar
un * al nombre de la variable y los valores se asignarán a la variable como una lista. Si el
asterisco se agrega a otro nombre de variable que no sea el úlAmo, Python asignará
valores a la variable hasta que el número de valores restantes coincida con el número de
variables restantes:
fruits =
("apple", "banana", "cherry", "strawberry", "raspberry")
(green, yellow, *red) = fruits
print(green)#imprime apple
print(yellow)#imprime banana
print(red)#imprime ["cherry", "strawberry", "raspberry"]
(green, *tropic, red) = fruits
print(green)#imprime apple
print(tropic)#imprime["banana", "cherry", "strawberry"]
print(red)#imprime raspberry
LOOP DE TUPLAS:
Se puede iterar en tuplas usando un bucle for o un while:
thistuple = ("apple", "banana", "cherry")
for x in thistuple:
print(x)

10
Apuntes Python | María Álvarez Álvarez

i = 0
while i < len(thistuple):
print(thistuple[i])
i = i + 1
UNIR TUPLAS:
Se pueden sumar tuplas uAlizando el operador +.
tuple1 = ("a", "b" , "c")
tuple2 = (1, 2, 3)
tuple3 = tuple1 + tuple2 #('a', 'b', 'c', 1, 2, 3)
También se pueden mulAplicar las tuplas.
fruits = ("apple", "banana", "cherry")
mytuple = fruits * 2 #('apple', 'banana', 'cherry', 'apple', 'banana',
'cherry')
En ambos casos siguen siendo formato tuplas.

SETS:
Los sets en Python me permiten almacenar varios ítems en una variable. Se
escriben entre corchetes { }.
Son desordenados, lo que quiere decir que no Aenen un orden definido, no
pueden estar indexados y cada vez que los usas pueden aparecer en un orden disAnto.
Son invariables, lo que indica que no se pueden modificar sus ítems después de crearlas
pero sí añadir o eliminarlos. Tampoco permiten ítems duplicados. Hay que tener cuidado
porque en los sets el valor 1 y True son equivalentes, lo mismo ocurre con el 0 y el False
que son tratados como el mismo.
set1 = {"abc", 34, True, 40, "male"}
Al ser desordenado no se puede acceder a un único ítem como en listas, pero si
se puede hacer un loop usando un bucle for.
thisset = {"apple", "banana", "cherry"}
for x in thisset:
print(x)
AÑADIR ELEMENTOS A UN SET:
AÑADIR ELEMENTOS EN UN SET:
Con el comando add() se pueden añadir elementos de un set. Este comando
también se puede usar en listas.
thisset = {"apple", "banana", "cherry"}
thisset.add("orange")
print(thisset)

UNIR DOS SETS:


UAlizando el comando update(). En este caso añade los elementos de tropical en
thisset.
thisset = {"apple", "banana", "cherry"}
tropical = {"pineapple", "mango", "papaya"}
thisset.update(tropical)
print(thisset)
Con el comando unión crea un set nuevo uniendo otros.
set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}

11
Apuntes Python | María Álvarez Álvarez

set3 = set1.union(set2)
print(set3) # imprime {"a", "b" , "c", 1, 2, 3}
ELIMINAR UN ÍTEM DE UN SET:
Se puede usar el comando remove() igual que en las listas.
También se usa el comando discard(). Si elemento a descartar no existe dará un
error.
thisset = {"apple", "banana", "cherry"}
thisset.discard("banana")
Para eliminar un set por complete se usa del, al igual que en las listas.
VACIAR UN SET:
UAlizando el comando clear() al igual que en las listas.

DICCIONARIOS:
Los diccionarios son otro Apo de colección que te permiten asignar claves
arbitrarias a valores. Sus valores se escriben entre llaves { }. Están compuestos por una
clave, key y un valor. Esto me permite acceder a un valor de una lista que en vez de
acceder con el índice se accede con la clave entre corchetes [ ]. Los diccionarios son
ordenados, variables y no permiten duplicados. Puede tener elementos de cualquier
Apo.
Que sean variables quiere decir que podemos añadir, eliminar o modificar
elementos de este. No permiten tener dos ítems con el mismo “key”.
ages = {"Dave": 24, "Mary": 42, "John": 58 }
ACCEDER A LOS DATOS DE UN DICCIONARIO:
Para acceder al valor de un diccionario nos tenemos que referir a el por key.
Podemos hacerlo uAlizando los corchetes como en los índices o con el método get().
dict = {"brand":"Ford","model":"Mustang","year": 1964}
print (thisdict["model"])
print(thisdict.get("model"))
Para determinar si una key está en un diccionario uAlizamos in o not in, como si
de una lista se tratara.
nums = { 1: "one", 2: "two", 3: "three", }
print(1 in nums)
También se puede usar el commando get().
pairs = {1: "apple", "orange": [2, 3, 4],True: False, 12:
"True",}
print(pairs.get("orange")) #imprime orange que ya está en
el diccionario
print(pairs.get(7, 42)) #anañade key: 7 y value: 42 al diccio
e imprime 42

OBTENER LISTA DE LOS VALORES O KEYS:


Si deseamos obtener una lista de todos los keys de un diccionario lo podemos
hacer con el comando key(). Si queremos obtener los valores lo hacemos con el comando
values(). Con el comando ítems() obtenemos los dos a la vez.

12
Apuntes Python | María Álvarez Álvarez

print(thisdict.values())
print(thisdict.keys())
print(thisdict.items())
EDITAR LISTAS:
CAMBIAR UN VALOR Y AÑADIR ELEMENTOS:
Para cambiar un valor tenemos que hacerlo refiriéndonos al key como un índice.
dict= {"brand": "Ford", "model": "Mustang","year":1964}
dict["year"] = 2018
También se puede usar el método update().
dict = {"brand": "Ford","model": "Mustang","year": 1964}
dict.update({"year": 2020})
Con ambos métodos, si la key está en el diccionario, actualiza su valor. En caso
contrario añade un key y un valor nuevo.
ELIMINAR UN ITEM:
Se puede hacer con el comando pop() o pop.item(), la diferencia es que
popitem() elimina el úlAmo añadido, mientras que pop() elimina el que indiquemos.
dict = {"brand": "Ford","model": "Mustang","year": 1964}
dict.pop("model")
dict.popitem()
Al igual que en las listas, podemos vaciar un diccionario con clear() y eliminarlo
con del().
LOOP EN UN DICCIONARIO:
Se puede hacer con el comando for:
Obtener key una por una:
for x in thisdict:
print(x)
for x in thisdict.keys():
print(x)
Obtener valores una por una:
for x in thisdict:
print(thisdict[x])
for x in thisdict.values():
print(x)
Obtener key y valores:
for x in thisdict.keys():
print(x)
for x, y in thisdict.items():
print(x, y)
COPIAR DICCIONARIOS:
Para copiar diccionarios no basta con hacer dic1=dic2. Podemos usar el comando
copy().
dict = {"brand": "Ford","model": "Mustang","year": 1964}
mydict = dict.copy()
print(mydict)
También se puede hacer algo similar a un cambio de variable.

dict = {"brand": "Ford","model": "Mustang","year": 1964}

13
Apuntes Python | María Álvarez Álvarez

mydict = dict(dict)
print(mydict)
DICCIONARIOS ANIDADOS:
Un diccionario puede contener otros diccionarios, a esto se le conoce como
diccionario anidado.
Podemos hacer un diccionario que conAene otros tres:
myfamily = {"child1" : {"name" : "Emil","year" : 2004},
"child2" : {"name" : "Tobias","year" : 2007},
"child3" : {"name" : "Linus","year" : 2011}}
Si queremos añadir tres diccionarios a uno ya creado lo podemos hacer creando
primero esos tres diccionarios y luego creando uno que contenga a los otros tres.
myfamily = {"child1" : {"name" : "Emil","year" : 2004},
"child2" : {"name" : "Tobias","year" : 2007},
"child3" : {"name" : "Linus","year" : 2011}}
myfamily = {"child1" : child1,
"child2" : child2,
"child3" : child3}
Para acceder a un ítem en un diccionario anidado se hace refiriéndonos a
las dos llaves
print(myfamily["child2"]["name"])

FUNCIONES VARIAS:
REPLACE
Permite remplazar una string con otra.
a= "Hello,World!"
print(a.replace("H", "J"))#imprime Jello, World!
SPLIT
Me permite dividir un cadena string según el Apo de separador que se desee. Si
dentro del paréntesis no hay nada, se enAende que el separador es un espacio en blanco.
Los caracteres los devuelve en una lista
herramientas = "Matillo,Sierra,Destronillador"
herramientas.split(',')

ROUND
Permite redondear un número cuando pasas de valor int a float.
n_decimal=3.3
n_redondeado=round(n_decimal)
UPPER Y LOWER
Solo se pueden uAlizar en strings. Este Apo de funciones que solo trabajan con un
<po de argumento se llaman u<lizando la notación punto. Para que estos cambios se
guarden hay que definirlo como nueva variable.
Ejemplo: Para poner en mayúscula Ikea
brand=Ikea
print(Brand.upper())#IKEA

14
Apuntes Python | María Álvarez Álvarez

CAPITALIZE
La función capitalize() permite ahorrar Aempo cuando haya que poner la inicial
de un string en mayúscula.
brand=ikea
print(Brand.upper())#Ikea
FIND
La función find() verifica si un carácter (o un patrón de caracteres) está presente
en una cadena. La función devuelve el índice (posición) del valor dado. Si el valor dado
está presente varias veces, la función devolverá la primera aparición. Hay que incluir un
argumento en su paréntesis.
"robot".find("o")
Si devuelve el valor -1 significa que no se encuentra en la cadena.
LEN
Indica la longitud de una lista, devuelve el número de elementos de la lista,
también acepta cualquier secuencia de texto
movies = ["Avatar", "Titanic", "Avengers"]
len(movies)

FUNCIONES:
Una función es un bloque de código que solo se ejecuta cuando se le llama. Se
pasan parámetros o argumentos1 que ejecutan la función. Para definir funciones en
Python se uAliza def seguido del nombre de la función y los paréntesis con los
argumentos en su interior. El cuerpo de la función debe de estar tabulado.
def my_function():
print("Hello from a function")
Para llamar a una función se usa el nombre de la función seguido por paréntesis.
def my_function():
print("Hello from a function")
my_function()
El cuerpo de una función no puede estar vacío. En el caso de que lo esté se puede
uAlizar pass para evitar obtener un error.
ARGUMENTOS:
La información se pasa a las funciones mediante argumentos o args. Se
especifican después del nombre de la función, dentro de los paréntesis. Se pueden
añadir tantos como se deseen separándolos por comas.
def my_function(name):
print(name + " Refsnes")
my_function("Emil")

1
Se llama parámetro a la variable en el interior de la función, cuando se define. El argumento es el valor
cuando se llama a la función.

15
Apuntes Python | María Álvarez Álvarez

La anterior función Aene un único argumento (name). Cuando se llama a la


función, siempre que tenga un argumento, hay que indicar el valor de dicho argumento
para poder llamar a la función de forma correcta. Si se escribe un argumento seguido de
un igual quiere decir que ese será el argumento por omisión si no se introduce otro.
def wellcome(name=”Guess”):
print(name + "you are welcome in!")
welcome()
Por defecto a una función hay que llamarla con el mismo número de parámetros
que de argumentos, en caso contrario obtendremos un error.
def my_function(fname, lname):
print(fname + " " + lname)
my_function("Emil", "Refsnes")
ARGUMETOS ARBITRARIOS:
Se emplean los argumentos arbitrarios *args cuando no se sabe la canAdad de
argumentos que se pasarán a la función. Basta con añadir * antes del nombre del
parámetro en la definición de la función. De esta forma la función recibirá una tupla de
argumentos puede acceder a los elementos en consecuencia.
def my_function(*kids):
print("The youngest child is " + kids[2])
my_function("Emil", "Tobias", "Linus")
ARGUMENTOS CON PALABRAS CLAVE
Se pueden mandar argumentos con la clave = valor de sintaxis, de esta forma el
orden de los argumentos no importa. Se sueve abreviar a kwargs.
def function(child3, child2, child1):
print("The youngest child is " + child3)
function(child1="Emil", child2="Tobias", child3 = "Linus")
ARGUMENTOS CON PALABRA CLAVE ARBITRARIOS
En el caso de no saber cuántos argumentos con palabras clave se enviarán a la
función, se añade ** antes del parámetro en el nombre de la función, se suele abreviar
como **kwargs. De esta forma recibe un diccionario de argumentos del que puede
acceder a los ítems.
def my_function(**kid):
print("His last name is " + kid["lname"])
my_function(fname = "Tobias", lname = "Refsnes")
LISTAS COMO ARGUMENTOS:
Puede enviar cualquier Apo de argumento de datos a una función (cadena,
número, lista, diccionario, etc.) y será tratado como el mismo Apo de datos dentro de la
función. Si envía una lista como argumento, seguirá siendo una lista cuando llegue a la
función:
def my_function(food):
for x in food:
print(x)
fruits = ["apple", "banana", "cherry"]
my_function(fruits)

16
Apuntes Python | María Álvarez Álvarez

ARGUMENTOS ÚNICAMENTE DE POSICIÓN


Se puede especificar a una función que tenga únicamente argumentos
posicionales o únicamente argumentos con palabras clave.
Para especificar que la función solo puede tener argumentos posicionales se
añade ,/ después del argumento.
def my_function(x, /):
print(x)
my_function(3)
Si no se incluye ,/ se permite usar un argumento con palabra clave incluso si
únicamente pide uno posicional.
def my_function(x):
print(x)
my_function(x = 3)
Al haber puesto ,/ en el siguiente código obtendré un error.
def my_function(x, /):
print(x)
my_function(x = 3)
ARGUMENTOS ÚNICAMENTE DE PALABRAS CLAVE
Para especificar que una función solo puede tener argumentos con palabras clave
se pone *, antes del argumento. Si habiendo uAlizado esos caracteres introduzco un
argumento de posición obtendré un error. El razonamiento es análogo a argumentos
únicamente de posición.
def my_function(*, x):
print(x)
my_function(x = 3)
Se puede combinar los dos Apos de argumentos en una misma función: todos
los anteriores a /, son únicamente posicionales y todo argumento después de *, es
únicamente de palabras clave.
def my_function(a, b, /, *, c, d):
print(a + b + c + d)
my_function(5, 6, c = 7, d = 8)
OBTENER VALORES
Para permiAr a una función devolver un valor se emplea return.
def my_function(x):
return 5 * x
print(my_function(3))
print(my_function(5))
print(my_function(9))
FUNCIONES RECURSIVAS:
Python permite funciones recursivas, esto quiere decir que una función puede
llamarse a ella misma. Esto es una ventaja, pues permite hacer un bucle a través de datos
para llegar a un resultado. Este Apo de funciones son complejas pues se puede crear un
bucle infinito o se puede emplear una canAdad de memoria del procesador
considerable.
En el siguiente ejemplo tri_recursion() es la función que se ha definido para
llamarse a si misma (“recurse”). UAlizamos la variable k como dato que decrece -1 cada
vez que se recurre. El proceso termina cuando la condición es menor que 0.

17
Apuntes Python | María Álvarez Álvarez

def tri_recursion(k):
if(k > 0):
result = k + tri_recursion(k - 1)
print(result)
else:
result = 0
return result

print("Recursion Example Results")


tri_recursion(6)

FUNCIONES LAMBDAS:
Para crear una función normalmente usamos def que la asigna automáAcamente
a una variable con su nombre.
Las funciones lambda Aenen una sintaxis más sencilla (lambda argumento:
expresión) que la funciones def, pero no permite el uso de bucles, únicamente el de
cálculos. Solo pueden hacer cosas que equivalen a una única expresión, una línea de
código, pero puede haber cualquier número de argumentos.
Funcion def:
def area_triangulo(base, altura):
return (base*altura)/2
Funcion lambda:
area_triangulo=lambda base, altura: (base*altura)/2
x = lambda a : a + 10
print(x(5))
Vemos las diferencias:
• Eliminamos el término def y nombramos la función
• Los paréntesis se omiten en las variables
• Los dos puntos simbolizan el return
print((lambda x: x**2 + 5*x + 4) (-4))
La función anterior me devuelve el resultado de la ecuación x2+5x+4 para x=-4.
MAP
Recibe dos argumentos: la función que queremos aplicar y dónde la queremos aplicar.
nums = [11, 22, 33, 44, 55]
result = list(map(lambda x: x+5, nums))
print(result)
La función map() lo que hace es aplica la función lambda a la lista nums, es decir
suma 5 a todos los elementos de la lista. Map trata a los elementos como objetos, por
eso hay que poner list. Para que nos imprima una lista.
FILTER
En una lista, filter(), deja los elementos que cumplen con una condición. Funciona
de forma similar a map. Recibe dos argumentos: la función que queremos aplicar y
dónde la queremos aplicar.
nums = [11, 22, 33, 44, 55]
res = list(filter(lambda x: x%2==0, nums))

18

También podría gustarte