Programación orientada a obxectos

Similar documents
COMO XOGAR A KAHOOT Se vas xogar por primeira vez, recomendámosche que leas este documento QUE É KAHOOT?

Acceso web ó correo Exchange (OWA)

GUÍA DE MIGRACIÓN DE CURSOS PARA PLATEGA2. Realización da copia de seguridade e restauración.

Síntesis da programación didáctica

Obradoiro sobre exelearning. Pilar Anta.

Narrador e Narradora Narrador Narradora Narrador

R/Ponzos s/n Ferrol A Coruña Telf Fax

O SOFTWARE LIBRE NAS ENTIDADES DE GALIZA

Facultade de Fisioterapia

Mailman: Manual de usuario para subscritores de listas

Name: Surname: Presto= very fast Allegro= fast Andante= at a walking pace Adagio= slow Largo= very slow

Silencio! Estase a calcular

Anexo IV: Xestionar o currículum da etapa:

CREACIÓN DE PÓSTERS CON GLOGSTER. Miguel Mourón Regueira

Carlos Cabana Lesson Transcript - Part 11

Guía para autoarquivo en Minerva. Repositorio Institucional da USC

Se (If) Rudyard Kipling. Tradución de Miguel Anxo Mouriño

Metodoloxía copyleft en educación

Manual de usuario EBIBLIO GALICIA. Xunta de Galicia

Guía para autoarquivo en Minerva Repositorio Institucional da USC. 16/04/2018 Biblioteca Universitaria da USC

2ª ETAPA. x x G A B A R I T O 1. Matemática

Polinomios. Obxectivos. Antes de empezar

1. Take today s notes 2. En silencio, sientate 3. Vamonos! In English, escribe about why time is important. Use the questions to prompt you.

Manual de usuario CENDES. Centro de descargas da Xunta de Galicia

action 8/ 8A action 15 / 15A action 12 / 12A action 118A action 218 / 218A action M12 / M12A action 215 / 215A action 18 / 18A

Manual de usuario do módulo de control horario do sistema OPAX

PARTE I. VIVALDI: Concierto en MI M. op. 3 n.12

Fondo de Acción Social. Manual do Usuario de presentación de solicitudes do FAS

Questions: Who, What, When, Where, Which, Why, How

SECUENCIAS DE YOGA (SPANISH EDITION) BY MARK STEPHENS DOWNLOAD EBOOK : SECUENCIAS DE YOGA (SPANISH EDITION) BY MARK STEPHENS PDF

Técnicas de compresión e estruturas de indexación compactas para texto en linguaxe natural e contidos dixitais: aplicacións prácticas

"Por" and "Para" Notes: 1. The written lesson is below. 2. Links to quizzes, tests, etc. are to the left.

Problema 1. A neta de Lola

(breve) Manual de estilo universitario

Blink: SIP conferencing done right Saúl Ibarra Corretgé AG Projects

Manual de inicio software libre

MUDE SEU FUTURO ATRAVES DAS ABERTURAS TEMPORAIS (PORTUGUESE EDITION) BY L Y JP GARNIER MALET

BLOGS CON BLOGGER MANUAL DE CONFIGURACIÓN E USO

Kevin s Way Programa de Inglés Multimedial Clase 06: Many questions Muchas dudas GRAMMAR BOX PAST SIMPLE LET S PRACTICE!

Rede CeMIT Cursos Gratuítos de Alfabetización Dixital NOVEMBRO Aula CeMIT de Cuntis

Home-School Connection

a) Japanese/English (difficult)... b) The weather in Africa/ the weather in the Antarctic (cold)... c) A car/ a bike (fast)

Trece sobres azules (Maeva Young) (Spanish Edition)

CADERNO Nº 9 NOME: DATA: / / Funcións e gráficas. Recoñecer se unha relación entre dúas variables é función ou non.

Na cama com Bruna Surfistinha (Portuguese Edition)

CONTROL DE VERSIÓNS E DISTRIBUCIÓN

Will. Will. Will. Will. Will 09/12/2012. estructura. estructura. uso 2. para hacer predicciones de futuro. uso 1. para simplemente hablar del futuro.

ESTUDOS OBSERVACIONAIS

INICIACIÓN A APPINVENTOR ( OLLO: necesitas ter unha conta en GMAIL e tamén sería útil en DRIVE para

ANEXO II NORMAS DE CREACIÓN E PUBLICACIÓN DE PÁXINAS WEB DA USC

PRIME NUMBERS AS POTENTIAL PSEUDO-RANDOM CODE FOR GPS SIGNALS

Ámbito da comunicación: lingua inglesa

Percept and perceptual judgment in Peirce s phenomenology. Maria Luisi Università degli Studi di Milano - Italy.

Paper Reference. Paper Reference(s) 4440/01 London Examinations IGCSE Spanish Paper 1: Listening

ESCOLA ESTADUAL DR. JOSÉ MARQUES DE OLIVEIRA - ANO 2016 TRABALHO DE ESTUDOS INDEPENDENTES

Second Language Anxiety and Task Complexity

Recursos para a lingua

ÁMBITO DE COMUNICACIÓN Lengua extranjera: Inglés

DSpace da Universidade de Santiago de Compostela

Inferencia estatística

VIGOSÓNICO V C O N C U R S O V I D E O C L I P S Calquera proposta estética para o vídeo: cine, animación, cor, branco e negro,...

Configuración dun cliente Mozilla Thunderbird

Carlos Servando MEMORIAL SALVAMENTO DEPORTIVO. 10 de outubro as 16:00. Piscina Carballo Calero Carballo. Organiza

MANUAL DE USUARIO DA APLICACIÓN DE XESTIÓN DE AVISOS DE VESPA VELUTINA

Feng Shui Para La Casa (Spanish Feng Shui Series) (Spanish Edition) By Richard Webster

PROCESOS INFERENCIAIS E RESOLUCIÓN DE ENUNCIADOS MATEMÁTICOS. Ricardo Pereira Villar y Pilar Vieiro Iglesias Universidade da Coruña

Make No Mistake. Robin Walker

a) Mr. Holmes is short and fat. He has got white hair and a big nose. He is unhappy.

INGLÉS / MÓDULO 3 -ESPAD-

DÍA DA CIENCIA EN GALEGO CEIP DE CERVO 2014/15 PUCA QUERE SABER SOBRE

Guia de Nutrição Clínica no Adulto (Guias de Medicina Ambulatorial e Hospitalar da Unifesp- EPM) (Portuguese Edition)

Gödel, Escher, Bach By Hofstadter Second semester

As variantes gran e grande dentro da frase nominal

27 Técnicas de persuasión: Estrategias para convencer y ganar aliados (Spanish Edition)

A ACCESIBILIDADE RESIDENCIAL. UNHA REVISIÓN DA LITERATURA

Segunda lingua estranxeira: inglés

ELABORACIÓN DUN TEST PARA ESTIMA-LO TAMAÑO DO VOCABULARIO COÑECIDO EN LINGUA GALEGA

Niveis de Referencia 4º Primaria 2º 3º 4º. Orientacións para o Estudo e a mellora da lectura

A cultura do código. Retos para a identidade galega na época dos algoritmos

Compare Fractions with the Same Numerator. Since the numerators are the same, look at the denominators, 8 and 6.

Evaluación final 4.º ESO CUADERNILLO. Competencia lingüística en inglés LA INFORMACIÓN DE ESTE RECUADRO DEBE SER CUMPLIMENTADA POR EL CENTRO

Emprender: Ti podes! Módulo 1

DESFOCADOS. a distração programada da internet em N. Carr. Joana Rocha. Congresso de Cibercultura Universidade do Minho

O uso de construcións con verbos soporte en aprendices de español como lingua estranxeira e en falantes nativos

Estudo das colocacións a través da análise de corpus

NAVEGA CON RUMBO.

Como sobreviver ao Apocalipse Zumbi (Portuguese Edition)

Alba Lago Martínez Universidade da Coruña Recibido o 14/11/2013. Aceptado o 27/03/2014

School Year nd Partial 2nd Term. Click on Google Chrome and open CODE.ORG. Identify the left and the right to catch the character

Creando Software Libre

EL SHOCK SENTIMENTAL. COMO SUPERARLO Y RECUPERAR LA CAPACIDAD DE AMAR (SPANISH EDITION) BY STEPHEN GULLO /CONNIE CHURCH

700 MHz band LTE and Digital/Analog TV mutual interference.

Manual De Hebreo Biblico: Volumen 1 / Manual Of Biblical Hebrew (Spanish Edition) By William Sanford Lasor

EL SHOCK SENTIMENTAL. COMO SUPERARLO Y RECUPERAR LA CAPACIDAD DE AMAR (SPANISH EDITION) BY STEPHEN GULLO /CONNIE CHURCH

6. O proceso técnico. 1. Introducción. 2. Introdución ás fases da cadea documental ISABEL PEMÁN PÉREZ

Free cd bruno e marrone acustico. Free cd bruno e marrone acustico.zip

Disciplinas espirituales para la vida cristiana (Spanish Edition)

Welcome to Greenman and the Magic forest

INSTITUCIÓN EDUCATIVA TÉCNICA SAGRADO CORAZÓN Aprobada según Resolución No NIT DANE SOLEDAD ATLÁNTICO.

Lista de exercícios Aluno (a):

Transcription:

Programación orientada a obxectos O paradigma da programación orientada a obxectos fusiona os datos e as funcións que operan sobre eses datos dentro dun novo tipo de dato chamado CLASE. A cada variable dunha clase chámaselle OBXECTO. Propiedades do paradigma orientado a obxectos: encapsulación, herdanza e polimorfismo. 1

Clases e obxectos As clases son modelos de cousas que serven para crear obxectos concretos. Unha clase contén propiedades (atributos) e métodos: As propiedades son características intrínsecas do obxecto e represéntanse con variables. Os métodos son accións que pode realizar o obxecto e represéntanse con funcións. O proceso de crear un obxecto chámaselle instanciar unha clase na que se lle da un valor concreto ás súas propiedades. 2

Clases e obxectos Definición dunha clase: class nome_clase: # especificar propiedades (variable) declaración_propiedade1 declaración_propiedade2 # especificar métodos (funcións) def nome_metodo1(self, [parametros]): # definicion do método def nome_metodo2(self, [parametros]): Instanciación dunha clase (creación dun obxeto): nome_obxeto=nome_clase() Acceder os atributos e métodos dun obxeto: nome_obxeto.nome_propiedade 3

Clases e obxectos Onde self: Exemplo: É o primeiro argumento de calquera método. Fai referencia á propia clase e ao seu contido. É un método implícito e nunca se pasa como parámetro cando se chama un método. 4

Clases e obxectos Na práctica o exemplo anterior e pouco útil porque non permite inicializar os atributos na creación do obxecto. O paso de argumentos na creación de obxectos realízase definindo o método implícito da clase init (): init (self, [parametros]): # asignación de argumentos a propiedades da clase init () execútase de forma automática ó crear o obxecto (outras linguaxes de programación chámanlle construtor). Na definición desta función podes crear atributos da clase e pasarlle parámetros cos que inicializar estes atributos na creación do obxecto. str (self): método chamado para obter unha cadea de texto que represente o obxeto. 5

Clases e obxectos Exemplo de creación de obxecto dunha clase dándolle valores aos seus atributos co método init (): 6

Clases e obxectos Os métodos poden utilizar os métodos da clase a través de self: 7

Algúns obxectos en Python string: cadeas de caracteres list: obxecto de tipo lista File: obxecto para traballar con arquivos dict: 8

Métodos do obxecto string Máis información en: http://librosweb.es/libro/python/capitulo_6.html e https://docs.python.org/2/library/stdtypes.html#string-methods De formato (todos os métodos devolven unha copia da cadea): capitalize(): coa primeira letra en maiúscula. lower(): a cadea en minúsculas. upper(): a cadea en maiúsculas. center(lonxitude[, "caracter de recheo"]): a cadea centrada. ljust(lonxitude[, "caracter de recheo"]): a cadea aliñada a esquerda. rjust(lonxitude[, "caracter de recheo"]): igual a anterior para a dereita. zfill(lonxitude): a cadea con ceros a esquerda ate completar lonxitude. De procura (todos os métodos devolven un enteiro): count("subcadea" [, posicion_inicio, posicion_fin]): número de veces que aparece a subcadea na cadea. find("subcadea" [, posicion_inicio, posicion_fin]): primeira posición que aparece a subcadea na cadea. Se non se atopa devolve -1. 9

Métodos do obxecto string Máis información en: http://librosweb.es/libro/python/capitulo_6.html e https://docs.python.org/2/library/stdtypes.html#string-methods De formato (todos os métodos devolven unha copia da cadea): capitalize(): coa primeira letra en maiúscula. lower(): a cadea en minúsculas. upper(): a cadea en maiúsculas. center(lonxitude[, "caracter de recheo"]): a cadea centrada. ljust(lonxitude[, "caracter de recheo"]): a cadea aliñada a esquerda. rjust(lonxitude[, "caracter de recheo"]): igual a anterior para a dereita. zfill(lonxitude): a cadea con ceros a esquerda ate completar lonxitude. De procura (todos os métodos devolven un enteiro): count("subcadea" [, posicion_inicio, posicion_fin]): número de veces que aparece a subcadea na cadea. find("subcadea" [, posicion_inicio, posicion_fin]): primeira posición que aparece a subcadea na cadea. Se non se atopa devolve -1. 10

Métodos do obxecto string De validación (todos os métodos devolven True ou False): startswith("subcadea" [, posicion_inicio, posicion_fin]): true se a cadea comeza pola subcadea dada. endswith("subcadea" [, posicion_inicio, posicion_fin]): igual a anterior para final de cadea. isalnum(): true se a cadea é alfanumérica. isalpha(): true se a cadea é alfabética. isdigit(): true se a cadea é numérica. islower(): true se unha cadea contén só minúsculas. isupper(): true se unha cadea contén so maiúsculas. isspace(): true se unha cadea só contén espacios en branco. De substitución (devolven unha cadea de caracteres): replace("subcadea a buscar", "subcadea para reemplazar"): a cadea co texto reemplazado. strip(["caracter"]): elimina caracteres a esquerda e dereita da cadea. lstrip(["caracter"]): elimina caracteres a esquerda da cadea. 11 rstrip(["caracter"]): elimina caracteres a dereita da cadea.

Métodos do obxecto string De unión e división: join(iterable): une a cadea a todos os elementos do iterable. partition("separador"): parte unha cadea en tres partes utilizando un separador. Devolve unha tupla cos tres elemento (antes separador, separador, despois separador). split("separador"): parte unha cadea en partes utilizando un separador. Devolve unha lista cos elementos separados por separador. rsplit([sep[, maxsplit]]): devolve unha lista de palabras na cadea, usando sep como delimitador. Se non se especifica sep, o separador son espazos en branco. 12

Métodos do obxecto list append( novo_elemento ): engade un elemento o final da lista. extend(outra_lista): engade outra_lista ó final da lista. insert(posicion, novo_elemento ): engade un elemento en posicion. pop(): elimina o último elemento da lista. pop(indice): elimina o elemento na posición índice na lista. remove( valor ): elimina os elementos na lista con valor. reverse(): invertir a orde nunha lista. sort(): ordear a lista en orde ascendente. sort(reverse=true): ordear a lista de forma descendente. count(elemento): contar o número de veces que a lista contén elemento. index(elemento[, indice_inicio, indice_fin]): devolve o número de índice de elemento. 13

Métodos do obxecto File f=open(ruta do arquivo, modo de apertura): abre o arquivo especifica e devolve un obxeto de tipo File (f). Modo de apertura pode ser: r : lectura w : escritura a : engadir ó final do arquivo Rb, wb e ab: igual que as antereriores pero para ler e escribir en modo binario. r+, w+ e a+ : abrir para lectura e escritura 14

Métodos do obxecto File Máis información en: https://docs.python.org/2/library/stdtypes.html#file-objects seek(byte[, whence]): move o punteiro ó byte indicado (por defecto, desde o inicio do arquivo). O argumento whence é opcional e pode ser: Exemplos: os.seek_set ou 0 (desde o inicio) os.seek_cur ou 1 (desde a posición actual) os.seek_end ou 2 (desde o final do arquivo). f.seek(2, os.seek_cur) avanza dous desde a posición actual. f.seek(-3, os.seek_end) a tres bytes do final do arquivo. 15

Métodos do obxecto File Máis información en: https://docs.python.org/2/library/stdtypes.html#file-objects read([byte]): le o contido do arquivo. Se se lle pasa un tamaño, le só os bytes indicados. readline(): le unha liña do arquivo. readlines(): le todas as liñas do arquivo. tell(): devolve a posición actual do punteiro. write(cadea): escribe cadea dentro do arquivo. writelines(secuencia): secuencia será calquer iterable (lista, tupla, dict) cuxos elementos escribiranse cada un nunha liña. 16

Métodos do obxectos File f.close(): pecha o arquivo f. Propiedades do obxecto File: closed: devolve True se o arquivo se pechou correctamente e se non devolve False. mode: devolve o modo de apertura. name: devolve o nome do arquivo. encoding: devolve a codificación do arquivo de texto. 17

Excepcións As excepcións son erros detectados por Python durante a execución dun programa. Cando o programa atopa unha situación anómala xera ou lanza un evento (obxeto chamado excepción) informando ó usuario que hai un problema. Posibles excepcións son: división por cero, arquivo que non existe, etc. Se a excepción non se captura, interrómpese o fluxo de control e o programa aborta. Python utiliza a construcción try/except para capturar e tratar as excepcións. O bloque try (intentar) define o fragmento de código no que cremos que se produce unha excepción. O bloque except (excepción) permite indicar o que se fará se se produce dita excepción. Outras formas de manexar excepcións: raise: dispara unha excepción manualmente no código. assert: dispara unha excepción condicionalmente no código. 18

Excepcións incorporadas en Python Todas as excepcións en: https://docs.python.org/2/library/exceptions.html Exceptions: clase raiz para todas as excepcións. AttributeError: dispárase cando falla unha referencia a atributo ou unha asignación. IOError: ocorre cando se intenta abrir un arquivo que non existe (entre outras cousas). IndexError: ocorre cando non existe un índice sobre unha secuencia. KeyError: disparada cando non existe unha chave sobre un mapping (diccionarios). NameError: disparado cando un nome ou variable non existe. SyntaxError: disparado cando o código esta mal formado. TypeError: dispárase cando unha operación ou función se aplica a un obxecto de tipo equivocado. ValueError: disparada cando unha operación ou función se aplica a un obxecto correcto pero con un valor inapropiado. ZeroDivisionError: disparado cando o segundo argumento dunha división ou operación de módulo é cero. NotImplementedError: Na definición de clases base, os métodos abstractos deberían lanzar esta excepción cando as clases derivadas teñan que redefinir ou sobrecargar o método. 19

Exemplos de manexo de excepcións Comprobar que un arquivo non existe cando se quere ler: División por cero ou tipo de entrada incorrecto: 20