PYTHON
- Lenguaje interpretado o de script
- Tipo Dinámico
- Fuertemente Tipado
- Multiplataforma
- Orientado a Objetos
Python Shell
Inicio -> Todos los programas -> Python 3.5 -> IDLE (Python 3.5 32-bit)
Tipos de variables
Tipos de variables
NO es necesario declarar el tipo de variable, Python reconoce automáticamente que tipo de variable es.
Obtner tipo de variable
type(nombreVariable)
Definir una variable
Las variables en Python se crean cuando se definen por primera vez, es decir,
cuando se les asigna un valor por primera vez.
Para asignar un valor a una variable se utiliza el operador de igualdad (=).
La variable se escribe siempre a la izquierda de la igualdad
Conversiones
Ej: no podemos hacer cosas como por ejemplo operar cadenas 'string' con números.
>>> numero = '45'
>>> numero+1
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
numero+1
TypeError: Can't convert 'int' object to str implicitly
Solución
>>> int(numero)+1
46
>>>
Anteponemos el tipo de dato al cual queremos convertir y la variable entre paréntesis
Operaciones
Escritura
>>> print("hola")
hola
>>>
Mostrar valores al usuario en
salida estándar → Pantalla
Lectura
Nombre = input("Dígame su nombre: ")
apellido = input("Dígame su apellido, " + nombre + ": ")
print("Me alegro de conocerte,", nombre, apellido)
Leer valores del usuario desde
entrada estándar → teclado
Lectura
SUFICIENTE TEORÍA POR HOY!
A programar!
PYTHON
Estructuras de Decisión
Algoritmo
"Secuencia de instrucciones para resolver un problema"
Utiliza sentencias
- Asignación
- Decisión
- Iteración
Recordando...
Recordando...
La variable contiene un valor luego de la ejecución
Decisión
Permite elegir el camino a seguir de acuerdo con una condición
Estructura if...else...
if condición:
aquí van las órdenes que se ejecutan si la condición es cierta
y que pueden ocupar varias líneas
else:
y aquí van las órdenes que se ejecutan si la condición es
falsa y que también pueden ocupar varias líneas
Lo contenido dentro de la condición debe ser de tipo Boolean
Estructura if...else...
Estructura if...else...
numero=int(input("ingrese un numero: "))
if numero%2 == 0:
print("el numero es par")
else:
print("el numero es impar")
Ejemplo: Verificar si un número ingresado es par o impar
Estructura if...else...
numero=int(input("ingrese un numero: "))
if (numero < 0):
numero=int(input("ingrese numero positivo: "))
if (numero%2==1):
print("valor es impar")
else:
print("valor es par")
Ejemplo: Verificar si un número ingresado es par o impar, permitiendo solo números positivos
Decisiones Encadenadas
if condición_1:
bloque 1
elif condición_2:
bloque 2
else:
bloque 3
Es equivalente a:
if condición_1:
bloque 1
else:
if condición_2:
bloque 2
else:
bloque 3
Decisiones Encadenadas
numero=int(input("ingrese un numero: "))
if (numero == 1):
print("Lunes")
elif (numero ==2):
print("Martes")
elif (numero ==3):
print("Miercoles")
...
else:
print("No válido")
Más de una salida posible
Ejemplo: Ingresar número de día del 1 al 7 y responder con el nombre
Decisiones Encadenadas
Decisiones Encadenadas
- Son excluyentes
- Sin else se verificarían todas las condiciones aunque ya se haya encontrado la verdadera
PYTHON
Estructuras de Iteración
Estructuras de Iteración
- Permite repetir sentencias mientras se cumpla una condición
- Genera un bucle en la ejecución
Estructuras de Iteración
Ejemplo: No permitir Números negativos
numero=int(input("ingrese un numero: "))
if (numero < 0):
numero=int(input("ingrese numero positivo: "))
...
Sólo verifica una vez!!
Estructuras de Iteración
Estructuras de Iteración
while condicion:
cuerpo del bucle
Lo contenido dentro del while debe ser de tipo Boolean
While
Estructuras de Iteración
x=int(input("ingrese un numero positivo: "))
while (x<0):
print(x,"no es positivo!!")
x=int(input("ingrese un numero positivo: "))
print(x, "si es un numero positivo")
Ej: No permitir el ingreso de números negativos
Estructuras de Iteración
El tipo de variable range()
- Crea una lista inmutable de números enteros en sucesión aritmética.
- Puede tener uno, dos o tres argumentos numéricos enteros.
El tipo de variable range()
- Unico argumento: range(n) crea una lista creciente de n términos enteros que empieza en 0 y acaba antes de llegar a n.
- Dos argumentos: range(m, n) crea una lista creciente de términos enteros que empieza en m y acaba antes de llegar a n (los términos aumentan de uno en uno).
- Tres argumentos: range(m, n, p) crea una lista que empieza en m y acaba antes de llegar a n, avanzando de p en p. El valor de p puede ser positivo o negativo.
Estructuras de Iteración
for
for variable in elemento iterable (lista, cadena, range, etc.):
cuerpo del bucle
- Sirve para un número fijo de iteraciones
- El cuerpo del bucle se ejecuta tantas veces como elementos tenga el elemento recorrible (elementos de una lista o de un range(), caracteres de una cadena, etc.).
Estructuras de Iteración
Ejemplo: Imprimir la tabla del 2
iteraciones=10
for i in range(iteraciones):
print("2 x",i,"=",2*i)
Estructuras de Iteración
Operadores Relacionales
Operadores Lógicos
Tablas
Break
●Corta la ejecución de un bucle
●Generalmente se incluye dentro de un condicional (decisión)
Break
contador = 0
while (contador < 5):
print ("El contador es :", contador)
contador = contador + 1
if (contador > 3):
break
print ("Fin del programa")
¿Qué mostrará este programa?
Continue
●Salta a la siguiente iteración dentro de un bucle
●Generalmente se incluye dentro de un condicional (decisión)
Continue
edad = 0
while edad < 18:
edad = edad + 1
if edad % 2 == 0:
continue
print ("Felicidades, tienes " + str(edad))
¿Qué mostrará este programa?
Ejemplo
contador = 0
while (contador < 5):
print ("El contador es :", contador)
contador = contador + 1
continue
if (contador > 3):
break
print ("Fin del programa")
¿Qué mostrará este programa?
Ejemplo
contador = 0
while (contador < 5):
print ("El contador es :", contador)
contador = contador + 1
break
if (contador > 3):
continue
print ("Fin del programa")
¿Y este otro?
Pass
No hace nada. Se puede usar cuando una sentencia es requerida por la sintáxis pero el programa no requiere ninguna acción
while True:
... pass # Espera ocupada hasta una interrupción de teclado (Ctrl+C)
...
Hoy fue demasiado...
Ahora...
A divertirse con 26 ejercicios!!
PYTHON
¿Dudas TP N°2?
Si, eran muchos ejercicios...
Ejercicio 25:
El objetivo del programa es contar cuántas veces aparece un carácter en una
cadena de texto ingresada por el usuario....
Solución propuesta:
cadena = input("ingrese una cadena ")
caracter = input("ingrese una letra ")
contador = 0
for letra in cadena:
if letra == caracter:
contador = contador +1
print("la letra",caracter,"aparece",contador,"veces")
Solución rápida:
cadena = input("ingrese una cadena ")
caracter = input("ingrese una letra ")
print("la letra",caracter,"aparece",cadena.count(caracter),"veces")
count("subcadena" [,posicion_inicio,posicion_fin])
count es una función predefinida en Python que retorna un entero representando la cantidad de apariciones de subcadena dentro de cadena.
Ahora si...continuemos
Nadaremos... =D
PYTHON
Estructuras de Datos
Problema
Ingresar 2 valores enteros
numero1=int(input("ingrese un numero: "))
numero2=int(input("ingrese otro numero: "))
Problema
Ingresar 5 valores enteros
numero1=int(input("ingrese un numero: "))
numero2=int(input("ingrese otro numero: "))
numero3=int(input("ingrese otro numero: "))
numero4=int(input("ingrese otro numero: "))
numero5=int(input("ingrese otro numero: "))
Problema
Ingresar N valores enteros
numero1=int(input("ingrese un numero: "))
numero2=int(input("ingrese otro numero: "))
numero3=int(input("ingrese otro numero: "))
numero4=int(input("ingrese otro numero: "))
numero5=int(input("ingrese otro numero: "))
...
...
Estructuras de Datos
Cuando trabajamos con múltiples datos necesitamos formas de almacenarlos en una variable, así podemos manipularlos
Listas
Las listas son conjuntos ordenados de elementos (números, cadenas, listas, etc).
Listas
Declaración:
Las listas se delimitan por corchetes "[ ]" y los elementos se separan por comas.
Ejemplo:
Simpson=['Marge','Homero','Lisa','Bart','Maggie']
Listas
¡Son miles!
Y peor aún: No se todos los nombres!!!
Listas
Índices:
Las listas pueden ser numéricas, booleanas, de cadenas de caracteres,etc...
Listas
Concatenar listas:
El operador suma (+) necesita que los dos operandos sean listas:
>>> vocales = ["A","E", "I", "O"]
>>> vocales = vocales + ["U"]
['A','E', 'I', 'O', 'U']
Salida:
Listas
Recorrer listas:
Imprimir el listado sería tan sencillo como hacer:
>>> vocales = ["A","E", "I", "O","U"]
print(vocales[0])
print(vocales[1])
print(vocales[2])
print(vocales[3])
print(vocales[4])
Recordar: El primer índice es 0!
Pero, ¿Si tuviera 1000 elementos?
Listas
Recorrer listas:
El bucle for nos permite solucionar esto de un modo elegante.
>>> vocales = ["A","E", "I", "O","U"]
for indice in vocales:
print(indice)
La variable indice, definida ad hoc en el propio bucle, va a tomar, uno a uno, todos los elementos de la lista vocales, comenzando por ‘A’ y terminando en 'U'.
Listas
Asignar valores:
>>> vocales = []
vocales[0]='A'
vocales[1]='E'
vocales[2]='I'
vocales[3]='O'
vocales[4]='U'
Listas
Asignar valores:
>>> vocales = []
vocales.append("A")
vocales.append("E")
vocales.append("I")
vocales.append("O")
vocales.append("U")
Listas
Sublistas:
>>> dias = ["Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo"]
>>> dias[1:4] # Se extrae una lista con los valores 1, 2 y 3
Salida:
['Martes', 'Miércoles', 'Jueves']
Se pueden extraer sublistas, utilizando la notación nombreDeLista[inicio:límite]
Ejemplo:
Listas
Eliminar elementos:
>>> letras = ["A", "B", "C", "D", "E", "F", "G", "H"]
>>> del letras[4] # Elimina la sublista ['E']
print(letras)
Salida:
['A', 'B', 'C', 'D', 'F', 'G', 'H']
La palabra reservada del permite eliminar un elemento o varios elementos a la vez de una lista, e incluso la misma lista.
Ejemplo:
Listas
Saber si un valor está o no en una lista
>>> letras = ["A", "B", "C", "D", "E", "F", "G", "H"]
>>> 'A' in letras
Salida:
True
Devuelve un valor lógico: True si el elemento está en la lista, False si el elemento no está en la lista.
Ejemplo:
elemento in lista
Listas
Operaciones:
simpson=[]
cantidad=int(input("ingrese la cantidad de personajes que reconozcas: "))
for i in range(cantidad):
personaje=input("ingrese el nombre del personaje que reconozca: ")
simpson.append(personaje)
print("Los personajes reconocidos son:", simpson)
Solución a los Simpson:
Salida:
ingrese la cantidad de personajes que reconozcas: 5
ingrese el nombre del personaje que reconozca: smithers
ingrese el nombre del personaje que reconozca: Bob Patiño
ingrese el nombre del personaje que reconozca: carl
ingrese el nombre del personaje que reconozca: Sr. Burns
ingrese el nombre del personaje que reconozca: Ned Flanders
Los personajes reconocidos son: ['smithers', 'Bob Patiño', 'carl', 'Sr. Burns',
'Ned Flanders']
>>>
Tuplas
Conjunto ordenado e inmutable de elementos del mismo o diferente tipo.
Tuplas
Las tuplas se representan escribiendo los elementos entre paréntesis y separados por comas.
Declaración:
Ejemplo:
bouvier=('Patty','Selma')
Tuplas
Acceso a Elementos:
bouvier='Patty','Selma'
print(bouvier[1])
Salida:
Selma
Tuplas
Obtener índice:
bouvier='Patty','Selma'
bouvier.count('Selma')
Salida:
1
Contar cantidades:
bouvier.index('Patty')
Salida:
0
Diccionarios
Tipo de estructuras de datos que permite guardar un conjunto no ordenado de pares clave-valor, siendo las claves únicas dentro de un mismo diccionario (es decir que no pueden existir dos elementos con una misma clave).
Diccionarios
Declaración:
Ejemplo:
mini_padron = { '34586': 'Brest Federico', '38507': 'Boglioli Alan',
'37463': 'Casas Malena', '33157': 'Medina Coca Luis' }
print (mini_padron['34586'])
Salida:
Brest Federico
padron=dict()
Diccionarios
Recorrer diccionario:
34586 Brest Federico
33157 Medina Coca Luis
37463 Casas Malena
38507 Boglioli Alan
for k, v in mini_padron.items():
print(k, v)
Eliminar elemento:
del mini_padron['34586']
Salida:
{'37463': 'Casas Malena', '38507': 'Boglioli Alan', '33157': 'Medina Coca Luis'}
Algunas funciones:
# Declaración de un diccionario
diccionario = dict()
# Devuelve el numero de elementos que tiene el diccionario
len(dict)
# Compara el número de elementos distintos que tienen los dos
cmp (dict1,dict2)
# Devuelve una lista con las claves del diccionario
dict.keys()
# Devuelve una lista con los valores del diccionario
dict.values()
# Devuelve el valor del elemento con clave key. Sino devuelve default
dict.get(key, default=None)
# Inserta un elemento en el diccionario clave:valor. Si la clave existe no lo inserta
dict.setdefault(key, default=None)
# Insertamos un elemento en el diccionario con su clave:valor
dict['key'] = 'value'
# Eliminamos el elemento del diccionario con clave key
dict.pop('key',None)
Diccionarios
Algunas funciones:
# Devuleve la copia de un diccionario dict2 = dict.copy()
dict.copy()
# Elimina todos los elementos de un diccionario
dict.clear()
# Crea un nuevo diccionario poniendo como claves las que hay en la lista
#y los valores por defecto si se les pasa
dict.fromkeys(list, defaultValue)
# Devuelve true si existe la clave. Sino devuelve false
dict.has_key(key)
# devuelve un lista de tuplas formadas por los pares clave:valor
dict.items()
# Añade los elementos de un diccionario a otro
dict.update(dict2)
Diccionarios
Conjuntos
Un conjunto es una colección no ordenada y sin elementos repetidos. Los usos básicos de éstos incluyen verificación de pertenencia y eliminación de entradas duplicadas. Los conjuntos también soportan operaciones matemáticas como la unión, intersección, diferencia, y diferencia simétrica
Conjuntos
Las llaves o la función set() pueden usarse para crear conjuntos
Conjuntos
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a # letras únicas en a
{a', 'r', 'b', 'c', 'd'}
>>> a - b # letras en a pero no en b
{'r', 'b', 'd'}
>>> a | b # letras en a o en b
{'a', 'c', 'b', 'd', 'm', 'l', 'r', 'z'}
>>> a & b # letras en a y en b
{'a', 'c'}
>>> a ^ b # letras en a o b pero no en ambos
{'b', 'd', 'm', 'l', 'r', 'z'}
Ejemplo:
Ustedes ya saben que significa esto...
¡A trabajar!
PYTHON
Funciones
Problema
Contar la cantidad de A de una cadena
palabra=input("ingrese una palabra: ")
contador=0
for i in range(len(palabra)):
if palabra[i]=="A" or palabra[i]=="a":
contador=contador+1
print("la letra A aparece:",contador,"veces")
Problema
Contar la cantidad de A de dos cadenas
palabra=input("ingrese una palabra: ")
contador=0
for i in range(len(palabra)):
if palabra[i]=="A" or palabra[i]=="a":
contador=contador+1
print("la letra A aparece:",contador,"veces")
palabra2=input("ingrese otra palabra: ")
contador2=0
for i in range(len(palabra)):
if palabra[i]=="A" or palabra[i]=="a":
contador=contador+1
print("la letra A aparece:",contador2,"veces")
Problema
Contar la cantidad de A de dos cadenas
palabra=input("ingrese una palabra: ")
contador=0
for i in range(len(palabra)):
if palabra[i]=="A" or palabra[i]=="a":
contador=contador+1
print("la letra A aparece:",contador,"veces")
palabra2=input("ingrese otra palabra: ")
contador2=0
for i in range(len(palabra)):
if palabra[i]=="A" or palabra[i]=="a":
contador=contador+1
print("la letra A aparece:",contador2,"veces")
Función
Función
Porción o bloque de código reutilizable que se encarga de realizar una determinada tarea
Función
-
Se declaran con la palabra reservada def
-
Retorna 1 valor
-
Tiene parámetros de entrada para recibir valores
Invocación
-
Cuando se necesita de un procedimiento o función, se invoca utilizando su nombre
-
La invocación incluye valores para los parámetros de entrada
Problema
Contar la cantidad de A de una cadena
def contarA(palabra):
contador=0
for i in range(len(palabra)):
if palabra[i]=="A" or palabra[i]=="a":
contador=contador+1
return contador
palabra=input("ingrese una palabra: ")
cantidad=contarA(palabra)
print("la letra A aparece:",cantidad,"veces")
Sintaxis Python
Declaración:
def NOMBRE( LISTA DE PARAMETROS ):
SENTENCIAS
Variables
-
Las variables de un método son los parámetros que recibe y las variables declaradas dentro del cuerpo
-
Las variables no se comparten
-
Pueden tener nombres iguales porque cada uno tiene su copia
-
Se denominan variables locales
Por valor o por Referencia
Cuando trabajamos con parámetros por valor, se copia el contenido de la variable que llama a la función (argumento) a la variable que es recibida por la función (parámetro)
Por valor o por Referencia
Las variables: “variable1” y “variable2” tienen el mismo valor (2) pero, son variables diferentes, es decir, cualquier alteración de la variable dentro de la función no se verán fuera de esta, se utiliza normalmente al retornar el valor de la variable y ya se puede usar fuera de esta.
Función(variable2)
-inicio función-
procedimiento...
-fin función-
entero variable1 = 2
LlamadaAfunción(variable1)
Por valor o por Referencia
En los parámetros por referencia, lo que se pasa a la función es la dirección (o puntero) de la variable para hacer referencia a esta, es decir se trabaja sobre la misma variable que se pasa como Argumento, cualquier alteración de dicha variable dentro de la función se verá reflejada fuera de esta.
Por valor o por Referencia
Python pasa por valor todas las variables que sean del tipo inmutable (como las Tuplas) y pasa por referencia todas las variables que sean del tipo mutable (como las Listas).
Recursión
Se denomina llamada recursiva (o recursividad), a aquellas funciones que en su algoritmo, hacen referencia sí misma.
Recursión
Las llamadas recursivas suelen ser muy útiles en casos muy puntuales, pero debido a su gran factibilidad de caer en iteraciones infinitas, deben extremarse las medidas preventivas adecuadas y, solo utilizarse cuando sea estrictamente necesario y no exista una forma alternativa viable, que resuelva el problema evitando la recursividad.
Recursión
def jugar(intento=1):
respuesta = input("¿De qué color es una naranja? ")
if respuesta != "naranja":
if intento < 3:
print ("\nFallaste! Inténtalo de nuevo" )
intento += 1
jugar(intento) # Llamada recursiva
else:
print ("\nPerdiste!" )
else:
print ("\nGanaste!")
print("Bienvenido al juego de la Naranja")
jugar()
Ejemplo:
Recursión
Últimos 2 TP...
PYTHON
Orientación a Objetos
Orientación a Objetos
Por fin llegamos a la verdad de la milanga..!
Orientación a Objetos
Un Programa Orientado a Objetos (POO) se basa en una agrupación de objetos de distintas clases que interactúan entre sí y que, en conjunto, consiguen que un programa cumpla su propósito.
Clases
Las clases en este contexto permiten definir los atributos y el comportamiento, mediante métodos, de los objetos de un programa. Una clase es una especie de plantilla o prototipo que se utiliza para crear instancias individuales del mismo tipo de objeto.
Atributos
Los atributos definen las características propias del objeto y modifican su estado. Son datos asociados a las clases y a los objetos creados a partir de ellas.
Acceso
Tanto para acceder a los atributos como para llamar a los métodos se utiliza el método denominado de notación de punto que se basa en escribir el nombre del objeto o de la clase seguido de un punto y el nombre del atributo o del método con los argumentos que procedan: clase.atributo, objeto.atributo, objeto.método([argumentos]).
Características Principales
Se refiere a que un elemento pueda aislarse del resto de elementos y de su contexto para centrar el interés en lo qué hace y no en cómo lo hace (caja negra).
Abstracción:
Características Principales
Es la capacidad de dividir una aplicación en partes más pequeñas independientes y reutilizables llamadas módulos.
Modularidad:
Características Principales
Consiste en reunir todos los elementos posibles de una entidad al mismo nivel de abstracción para aumentar la cohesión, contando con la posibilidad de ocultar los atributos de un objeto (en Python, sólo se ocultan en apariencia).
Encapsulación:
Características Principales
Se refiere a que una clase pueda heredar las características de una clase superior para obtener objetos similares. Se heredan tanto los atributos como los métodos. Éstos últimos pueden sobrescribirse para adaptarlos a las necesidades de la nueva clase. A la posibilidad de heredar atributos y métodos de varias clases se denomina Herencia Múltiple.
Herencia:
Características Principales
class Padre():
def __init__(self):
self.x = 5;
print("Este es el constructor de la clase padre")
def metodo(self):
print("Ejecutando método de clase padre")
class Hija(Padre):
def metodoHija(self):
print("Método clase hija")
>>> h = Hija()
Este es el constructor de la clase padre
>>> h.metodo()
Ejecutando método desde clase padre
Características Principales
A partir de una clase Persona (que contenga como atributos identificacion, nombre, apellido) podemos construir la clase AlumnoUTN que extiende a Persona y agrega como atributo el legajo.
Para indicar el nombre de la clase padre, se la pone entre paréntesis a continuación del nombre de la clase
Ejemplo de Herencia:
Características Principales
Ejemplo de Herencia:
class Persona(object):
"Clase que representa una persona."
def __init__(self, identificacion, nombre, apellido):
"Constructor de Persona"
self.identificacion = identificacion
self.nombre = nombre
self.apellido = apellido
def __str__(self):
return " %s: %s, %s" %
(str(self.identificacion), self.apellido, self.nombre)
class AlumnoUTN(Persona):
"Clase que representa a un alumno de UTN."
def __init__(self, identificacion, nombre, apellido, padron):
"Constructor de AlumnoUTN"
# llamamos al constructor de Persona
Persona.__init__(self, identificacion, nombre, apellido)
# agregamos el nuevo atributo
self.legajo= legajo
Propiedades
Son las características intrínsecas del objeto. Éstas, se representan a modo de variables, solo que técnicamente, pasan a denominarse propiedades:
Ejemplo:
class Pelo():
color = ""
textura = ""
class Ojo():
forma = ""
color = ""
tamanio = ""
Métodos
Los métodos son funciones, solo que técnicamente se denominan métodos, y representan acciones propias que puede realizar el objeto (y no otro):
Ejemplo:
class Objeto():
color = "verde"
tamanio = "grande"
aspecto = "feo"
antenas = Antena()
ojos = Ojo()
pelos = Pelo()
def flotar(self):
pass
Crear una Clase
Una clase consta de dos partes: un encabezado que comienza con el término class seguido del nombre de la clase (en singular) y dos puntos (:) y un cuerpo donde se declaran los atributos y los métodos:
Crear una Clase
class NombreClase:
'Texto para documentar la clase (opcional)'
varclase1 = "variable de clase1"
def nombremetodo1(self, var1):
self.var1 = var1
def nombremetodo2(self):
self.var1 += 1
Método constructor
El método __init__() es especial porque se ejecuta automáticamente cada vez que se crea una nuevo objeto. Este método, que es opcional, se llama constructor y se suele utilizar para inicializar las variables de las instancias
Crear instancias de una Clase
Para crear instancias de una clase se llama a la clase por su propio nombre pasando los argumentos que requiera el método constructor
Ejemplo:
alumno1 = Alumno("Maria", 8)
alumno2 = Alumno("Carlos", 6)
Acceder a variable
Para acceder a la variable de un objeto se indica el nombre del objeto, seguido de un punto y el nombre de la variable:
Ejemplo:
print(alumno1.nombre)
print(alumno1.nota)
Modificar una variable
Para modificar la variable de un objeto se utiliza la misma notación para referirse al atributo y después del signo igual (=) se indica la nueva asignación:
Ejemplo:
alumno1.nombre = "Carmela"
Acceder a variable
Para llamar a un método se indica el nombre de objeto, seguido de un punto y el nombre del método. Si se requieren varios argumentos se pasan escribiéndolos entre paréntesis, separados por comas (","). Si no es necesario pasar argumentos se añaden los paréntesis vacíos "()" al nombre del método.
Ejemplo:
print(alumno1.mostrarNombreNota()) # ('Carmen', 8)
print(alumno2.mostrarNombreNota()) # ('Carlos', 6)
objeto = MiClase()
print objeto.propiedad
objeto.otra_propiedad = "Nuevo valor"
variable = objeto.metodo()
print variable
print objeto.otro_metodo()
Suprimir un atributo
Ejemplo:
del alumno1.nombre
Funciones
Ejemplo completo
class Alumno:
'Clase para alumnos'
numalumnos = 0
sumanotas = 0
def __init__(self, nombre, nota):
self.nombre = nombre
self.nota = nota
Alumno.numalumnos += 1
Alumno.sumanotas += nota
def mostrarNombreNota(self):
return(self.nombre, self.nota)
def mostrarNumAlumnos(self):
return(Alumno.numalumnos)
def mostrarSumaNotas(self):
return(Alumno.sumanotas)
def mostrarNotaMedia(self):
if Alumno.numalumnos > 0:
return(Alumno.sumanotas/Alumno.numalumnos)
else:
return("Sin alumnos")
Curso Python
By Fede Brest
Curso Python
Apuntes del curso de "Aprendiendo a Programar con Python"
- 1,380