Primer cuestionario FP2
|
|
Título del Test:
![]() Primer cuestionario FP2 Descripción: Para estudiar FP2 |



| Comentarios |
|---|
NO HAY REGISTROS |
|
Cual es la correcta para tratar la excepción ValueError. while True: Try: x = int(input('next number: ')) print(x**2) Except ValueError: print('Good bye!') break. while True: Except ValueError: print('Good bye!') break Try: x = int(input('next number: ')) print(x**2). Analice la lógica del tratamiento de excepciones en el siguiente trozo de código: try: # some code to execute except Exception1: print('A', end='') except Exception2: print('B', end='') except (Exception3, Exception4): print('C', end='') except: print('D', end='') print('E') Seleccione una o más de una: Si se lanza Exception4, la salida es CE. Si se lanza Exception5, la salida es DE. Si se lanza Exception1, la salida es A. Las excepciones de tipo Exception3 y Exception4 siempre se lanzan juntas. Empareje cada ejemplo de código con el mensaje que describe la excepción producida por ese código. open('data.txt'). 123[0]. fun(). 'abcdef'.index('x'). 123 + 'x'. 'hallo'[10]. 5 / 0. def fun(): x += 1 fun(). EJEMPLO 1 try: x = 5 y = 'x' print(x + y) except err as TypeError: print(err) EJEMPLO 2 try: x = 5 y = 'x' print(x + y) except TypeError as err: print(err) En ambos se produciría una excepción de tipo TypeError cuando se intentase aplicar el operador + a los operandos x e y. ¿Cuál de los dos bloques except es correcto?. El del EJEMPLO 1. El del EJEMPLO 2. Une con flechas. try. else. finally. except. El código incluido en un bloque try puede contener más de una sentencia raise. Verdadero. Falso. Estudie el siguiente programa: def fun1(x=None): if x is None: raise TypeError try: y = int(x) + 1 print(y) except ValueError: print('ValueError') print('Goodbye from fun1()') def fun2(): try: fun1() except: raise print('Goodbye from fun2()') fun2() Elija las explicaciones correctas de lo que ocurre al ejecutarlo. La función fun1() se llama sin parámetros, por lo que se lanza TypeError. Este error no es controlado por la función fun2(). La excepción ValueError podría ser lanzada por la función int() en caso de que no se lance TypeError. Esta ocurrencia de ValueError es controlada por la función fun1(). La función fun1() se llama sin parámetros, por lo que se lanza TypeError. Este error es controlado por la función fun2(). La excepción ValueError podría ser lanzada por la función int() en caso de que no se lance TypeError. Esta ocurrencia de ValueError no es controlada por la función fun1(). ¿Qué afirmación es correcta?. Los asertos lanzan una excepción cuando no se cumple su condición. Los asertos detienen la ejecución del programa cuando no se cumple su condición. Los asertos detienen la ejecución del programa cuando se lanza una excepción. Ordene la frase correctamente: Las-clases-representan entidades instancias o-conceptos,mientras-que-los-objetos-son de-esos-conceptos. En Python, suponiendo que existe una clase llamada Square. ¿Cómo podemos crear un nuevo objeto de la clase Square?. x = new Square(). x = Square(). x = new Object(Square). Estudie la clase Square: class Square: """a square is a regular quadrilateral (4 equal sides & 4 90º angles)""" def __init__(self, side_length): self.side_length = side_length ¿Cómo creamos un objeto de la clase Square?. my_square = Square(10). my_square = new Square(10). my_square = __init__(Square, 10). las 1. definen nuevos tipos de objetos, representados por un conjunto de 2. (variables), y que muestran un comportamiento que viene dado por un conjunto de funciones que manipulan esas variables. Las funciones que son atributos de un objeto son conocidas como 3. 1. Clases. 1. Atributos de clase. 1. Métodos. 2. Clases. 2. Atributos de clase. 2. Métodos. 3. Clases. 3. Atributos de clase. 3. Métodos. El método __init__ ... Inicializa una clase para su uso. Inicializa a cero todos los atributos de datos. Se ejecuta cuando se crea un objeto. ¿Cuál es cierto?. Cuando creamos un nuevo objeto, debemos pasar parámetros para el método __init__ en la expresión constructora. Cuando creamos un nuevo objeto, debemos llamar explícitamente al método __init__ para inicializarlo. ¿Cuál es cierta?. Los métodos son inicializadores de las clases. Los métodos se declaran como instancias de una clase. Los métodos se declaran en el cuerpo de una clase. En el siguiente método: def my_method(self, param1, param2): pass. self representa la clase en la que se declara el método. self representa el propio método. self representa el objeto sobre el que actúa el método. ¿Cuál es cierta?. Los métodos de instancia requieren que exista un objeto de la clase que los define antes de poder llamarlos. Los métodos de instancia se llaman como funciones normales, a menos que se vinculen con un objeto. Un método de instancia se vincula mediante un punto con la clase que lo define, usando la llamada "notación de punto". ¿Cuál es cierta?. Los métodos mágicos se usan para inicializar los objetos. Los métodos mágicos se usan para añadir características especiales a una clase. Los métodos mágicos son aquellos cuyo nombre comienza con dos guiones bajos. ¿Cual es el estándar oficial de documentación de Python?. Google docstrings. reStructure Text. Epytext. NumPy/SciPy docstrings. ¿Qué información debe incluir una docstring de documentación de una clase?. Descripción de los parámetros de la expresión constructora. Lista de métodos públicos con una breve descripción. Lista de propiedades de la clase. Resumen del propósito y comportamiento de la clase. Une con flechas. """Gets and prints the spreadsheet's header columns Parameters ---------- file_loc : str The file location of the spreadsheet print_cols : bool, optional A flag used to print the columns to the console (default is False) Returns ------- list a list of strings representing the header columns """. """Gets and prints the spreadsheet's header columns :param file_loc: The file location of the spreadsheet :type file_loc: str :param print_cols: A flag used to print the columns to the console (default is False) :type print_cols: bool :returns: a list of strings representing the header columns :rtype: list """. """Gets and prints the spreadsheet's header columns Args: file_loc (str): The file location of the spreadsheet print_cols (bool): A flag used to print the columns to the console (default is False) Returns: list: a list of strings representing the header columns """. """Gets and prints the spreadsheet's header columns @type file_loc: str @param file_loc: The file location of the spreadsheet @type print_cols: bool @param print_cols: A flag used to print the columns to the console (default is False) @rtype: list @returns: a list of strings representing the header columns """. ¿Qué propiedad permite acceder a la documentación de una pieza de código en Python?. help. docstring. __help__. __doc__. ¿Cuál es el número de caracteres máximo recomendado para una línea de comentario o una línea de docstring?. ¿Cuál es el nombre de la función predefinida que se usa en Python para pedir una representación formal de un objeto como string?. print. repr. __repr__. ¿Qué método mágico debe proporcionar una representación más legible para el ser humano?. __repr__(). __str__(). Una clase es un mecanismo de encapsulamiento porque... es un modelo para crear objetos en un programa. proporciona métodos para implementar el comportamiento de los objetos. facilita el agrupamiento de los datos con los métodos que los manipulan. ¿Cuál es cierta?. Una interfaz se compone sólo de elementos públicos. El encapsulamiento es el mecanismo para interactuar con los objetos. El ocultamiento de información separa los objetos de las clases. ¿Cuál es cierta?. En Python, los nombres que empiezan, pero no acaban, con dos guiones bajos indican elementos privados. En Python, los nombres que comienzan con dos guiones bajos indican elementos privados. En Python, los nombres que acaban con dos guiones bajos indican elementos privados. Estudie el siguiente código: class Angle: def __init__(self, value): self.degrees = value ¿Cuál es el mangled name del atributo degrees?. No existe mangled name para degrees. El mangled name es _Angle__degrees. El mangled name es __Angle__degrees. ¿Cuál es cierta?. Un getter es un método que devuelve el valor de un atributo privado. Un getter es un método que altera el estado de un atributo privado. Un setter es un método que devuelve el valor de un atributo privado. Un ... es un método que se usa para controlar los cambios que se hacen a una variable privada. ¿Cuál es cierta?. Las propiedades complican el uso de getters y setters. Las propiedades simplifican el uso de getters y setters. Las propiedades reemplazan el uso de getters y setters. ¿Cuál es cierta?. Si omitimos el setter en un descriptor de propiedad, tenemos una propiedad de solo lectura. Si omitimos el setter en un descriptor de propiedad, tenemos una propiedad modificable. Si omitimos el getter en un descriptor de propiedad, tenemos una propiedad de solo lectura. ¿Cuál es cierta?. Si usamos un descriptor de propiedad, los correspondientes getter y setter deberían ocultarse. Si usamos un descriptor de propiedad, el getter correspondiente se puede ocultar, pero no el setter. Si usamos un descriptor de propiedad, no podemos ocultar los correspondiente getters y setters. ¿Cuál de los siguientes es un decorador correcto para una propiedad llamada "feature"?. @setter.feature. @feature.decorator. @feature.setter. ¿Qué afirmación es correcta?. Los atributos de clase se copian en cada objeto de la clase. Un atributo de clase define las propiedades comunes de un objeto. Un atributo de clase es compartido por todos los objetos de la clase. En Python ¿Qué afirmación es correcta?. Las variables de clase se declaran fuera de cualquier método. Las variables de clase se declaran en el método __init_class__. Las variables de clase se declaran en el método __init__. ¿Qué afirmación es correcta?. Sólo las clases pueden modificar las variables de clase. Sólo las clases pueden acceder a sus variables de clase. Los objetos de una clase pueden acceder, pero no modificar las variables de su clase. Los objetos de una clase pueden acceder y modificar las variables de su clase. ¿Qué decorador se utiliza para declarar métodos de clase?. @Class_method. @class_method. @classmethod. Observe el siguiente código: class MyClass: @classmethod def method1(cls, a, b): ... obj = MyClass() ¿Cuáles de las siguientes son formas válidas de llamar a continuación a method1?. obj.method1(x, y). MyClass.method1(x, y). MyClass.method1(cls, x, y). obj.__class__.method1(x, y). ¿Cuándo es buena idea usar un método de clase para crear objetos de la clase?. Cuando no podemos usar el método __init__. Cuando necesitamos tener una forma de llamar al método __init__ desde dentro de la clase. Cuando necesitamos tener diferentes formas de inicializar los objetos. |





