Sunteți pe pagina 1din 35

TALLER DE

PROGRAMACIÓN

Clase 4
Palabras reservadas
Las palabras reservadas (keywords) corresponden a los
nombres de las declaraciones que el intérprete de Python
incluye por defecto. No se deben utilizar dichas palabras
para asignar nombres a otros objetos.

El listado de palabras reservadas puede ser consultado


ejecutando help(‘keywords’) desde la interfaz interactiva.
Palabras reservadas
El intérprete utiliza otros elementos por defecto los cuales
aún cuando son parte fundamental del lenguaje y no son
palabras reservadas, no se recomienda utilizarlos como
nombres. El módulo __builtins__ contiene al resto de estos
elementos.
El espacio de nombres (namespace)
• Python es un lenguaje de muy alto nivel en el que todos
sus elementos son objetos, incluyendo los tipos de datos
básicos.
• La gestión del uso de memoria es automático en Python,
tanto para la asignación de memoria al crear un objeto,
como para la recuperación de memoria al desecharlo.
• El espacio de nombres (nameespace) contiene un listado
de los objetos existentes en la memoria del sistema y los
nombres a los que estan ligados.
• Un objeto puede tener mas de un nombre.
• Si un objeto no esta ligado al menos a un nombre, dicho
objeto es desechado.
• El interprete de Python tiene un espacio de nombres
principal, pero cada función, modulo y objeto tiene su
propio espacio de nombres. A esto se le conoce como
“ámbito” (escope).
Operador de asignación simple
Para asignar un nombre a un objeto, se utiliza el operador
“=” con la siguiente sintaxis:

<identificador> = <objeto>

Ejemplos:

>>> suma = 5 + 9
>>> suma
14

>>> bandera = True


>>> bandera
True
Operador de asignación simple
Es posible asignar a varios nombres de variables
(identificadores) un número igual de objetos usando un solo
operador de asignación mediante la siguiente sintaxis:

<nombre1>,<nombre2>,<nombre3> = <objeto1>,<objeto2>,<objeto3>

Ejemplo:

>>> a, b, saludo = 10, 50, ‘Hola Mundo!!!’


>>> a
10
>>> b
50
>>>saludo
‘Hola Mundo’
Sintaxis para la elaboración de nombres en Python
• Python 3 acepta el uso de Unicode, por lo que es posible
utilizar cualquier carácter alfabético, incluso aquellos
distintos al alfabeto occidental, para la asignación de
nombres.
• Los nombres pueden empezar con un guion bajo “_” o
con un carácter alfabético.
• Después del primer carácter, se pueden utilizar caracteres
alfabéticos, números y/o guiones bajos.
• No se permiten caracteres distintos a los alfabéticos o que
pudieran confundirse con operadores como “|”, “~”, “#”,
“-”, “+”, etc.
• Se pueden utilizar mayúsculas, pero cabe señalar que
Python diferencia entre mayúsculas y minúsculas.
• No se pueden utilizar como nombres de variables las
palabras reservadas como “is”, “True”, “while”, “if”, “not”,
“import”, etc.
Sintaxis para la elaboración de nombres en Python
Ejemplo de nombres de identificadores validos:

_suma residuo
Total bander4
estación NuMeR0

Ejemplo de identificadores invalidos:

-suma residuo#
Tota| +bander4
3stación ~NuMeR0

Nota. Python en su versión 2 solo soportaba nombres con


caracteres alfabéticos del código ASCII.
La función id()
Cada objeto cuenta con una "identidad", la cual corresponde a la
posición en la que se encuentra almacenado en la memoria. La función
id() permite conocer esta identidad por medio del nombre.

La correcta identificación de los objetos es importante, ya que un mismo


objeto puede estar relacionado a más de un nombre.

Ejemplo:

>>> primerNumero = 67
>>> segundoNumero = 23
>>> tercerNumero = 67
>>> id(primerNumero)
1522394928
>>> id(segundoNumero)
1522394224
>>> id(tercerNumero)
1522394928
Eliminación de nombres mediante la declaración del
La declaración del funciona de la siguiente manera:

• Desliga al identificador de un objeto en el espacio de nombres.


• Una vez que el nombre del identificador es desligado, ya no es posible
invocarlo por ese nombre.
• En caso de que el objeto no esté ligado a otros identificadores en el
espacio de nombres, el intérprete de Python podría destruir al objeto.

El modo en el que un objeto puede ser destruido varia dependiendo del


tipo de objeto.

Ejemplo:
>>> clave = ‘MOR-001’
>>> clave
‘MOR-001’
>>> id(clave)
1522395124
>>> del clave
>>> clave
NameError…
Función dir()
Cuando se usa la función dir() sin parámetros, la función regresa
el listado de nombres del espacio de nombres principal.

>>> area = 20*34


>>> dir()
['__annotations__', '__builtins__', '__doc__', '__loader__',
'__name__', '__package__', '__spec__', 'area']
Función dir()
Cuando se usa la funcion dir pasando como parametro el nombre de
la variable, regresará todas las funciones que tiene asociadas esa
variable.

>>> dir(‘area’)
['__add__', '__class__', '__contains__', '__delattr__', '__dir__',
'__doc__', '__eq__', '__format__', '__ge__', '__getattribute__',
'__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__',
'__init_subclass__', '__iter__', '__le__', '__len__', '__lt__',
'__mod__', '__mul__', '__ne__', '__new__', '__reduce__',
'__reduce_ex__', '__repr__', '__rmod__', '__rmul__',
'__setattr__', '__sizeof__', '__str__', '__subclasshook__',
'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith',
'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum',
'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric',
'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip',
'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition',
'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title',
'translate', 'upper', 'zfill']
Particularidades de los tipos de datos en Python

Tipos dinámicos
Python es un lenguaje que no requiere que se defina el tipo
de un objeto. El intérprete "infiere" el tipo de dato del que
se trata.

Fuertemente tipado
Existen operaciones que no están permitidas entre tipos
que no sean compatibles.

Todos los tipos de datos son clases


En Python todos sus elementos son objetos y los datos una
vez identificados, se convierten objetos instanciados del
tipo al que pertenecen
Tipos de datos básicos

Enteros (int)

Python identifica a los número enteros como un tipo de


dato el cual puede ser expresado de la siguiente manera.

Decimal: 24, 60
Binario: 0b010011, 0b1101
Hexadecimal: 0x18, 0x3cf4
Octal: 0o30, 0o74
Tipos de datos básicos

Números de punto flotante (float)

Los objetos tipo float corresponden al conjunto de los


números reales.

3.1416
15.
-89.1234

Nota. Hay que tomar en cuenta de que la precisión de los


números dependen en gran medida de la capacidad del
equipo de cómputo, por lo que en ocasiones una
operación con números de tipo float no dará el resultado
exacto, sino una aproximación.
Tipos de datos básicos

Valores booleanos (bool)

El tipo booleano es una especie de tipo numérico que es


utilizado para evaluar expresiones lógicas.

• Si la expresión lógica es cierta, el resultado


es True (con mayúscula al principio).
• Si la expresión lógica NO es cierta, el resultado
es False (con mayúscula al principio).

False equivale numéricamente a 0. Cualquier otro


número equivale a True y su valor por defecto es 1.
Tipos de datos básicos

Cadenas de caracteres (str)

Las cadenas de caracteres son secuencias de caracteres


encerradas entre comillas (" ") o apóstrofes (' ')
indistintamente.

'Hola Mundo’
“Estamos en el taller de programación"
Tipos de datos básicos
Números complejos (complex)

Los objetos de tipo complex corresponden al conjunto de


los números complejos.
Siempre que el componente en los números reales sea
distinto de 0, los objetos de tipo complex se expresarán
como un par de números de tipo floatseparados por el
operador de adición "+", en el que el primer número
corresponde al componente en los números reales y el
componente en los números imaginarios es identificado
añadiéndole la letra "j" al final.
8.32 + 54j
0.511j
(4 + 0j)
2j
Tipos de datos básicos

None

El tipo None representa un valor "vació".


Funciones relativas a tipos de datos

type()

Regresa el tipo de dato de una variable

>>> type(‘Hola’)
<class ‘str’>

>>> a = 12.13
>>> type(a)
<class ‘float’>
Funciones relativas a tipos de datos

str()

Transforma a un objeto compatible en una cadena de


caracteres.

>>> str(123)
‘123’

>>> str(True)
‘True’
Funciones relativas a tipos de datos

int()

Transforma un objeto compatible a un objeto tipo int.

• Puede convertir objetos de tipo str que representen


correctamente a un número entero.
• Trunca los objetos de tipo float a la parte entera.
• True es convertido en 1 y False en 0.
• No es compatible con objetos tipo complex.
Funciones relativas a tipos de datos

float()

Transforma un objeto compatible a uno de tipo float.

• Puede convertir objetos de tipo str que contengan


representen correctamente a un número real.
• Es compatible con los objetos tipo int.
• True es convertido en 1.0 y False en 0.0.
• No es compatible con objetos tipo complex.
Funciones relativas a tipos de datos

complex()

Transforma un objeto compatible a uno de tipo complex.

• Convierte objetos de tipo str que representen


correctamente a un número real.
• Transforma en un objeto de tipo complex a un par de
números ya sean int o float.
• Si sólo se da un número int o float, este será
identificado como el componente real y el componente
complejo será 0j.
Tipos de operadores

Los operadores son signos, símbolos o palabras que el


intérprete de Python identifica dentro de sus sintaxis para
realizar una acción (operación) específica.

• Operadores aritméticos
• Operadores para objetos de tipo str
• Operadores relacionales
• Operadores lógicos
• Operadores de pertenencia
• Operadores de asignación
• Operadores de bits
• Operadores de identidad
Operadores aritméticos

Operador Descripción
+ Suma
- Resta
- Negativo
* Multiplicación
** Exponente
/ División
// División entera
% Residuo
Reglas de precedencia en operaciones aritméticas

Los operadores se apegan a la siguiente regla de


precedencia siguiendo una secuencia de izquierda a
derecha:

1. Paréntesis.
2. Exponente.
3. Multiplicación.
4. División.
5. Suma.
6. Sustracción.
Operadores para objetos de tipo str

Operador Descripción
+ Concatenación
* Repetición
Operadores relacionales

Los operadores de relación evalúan si dos valores/objetos


cumplen con una condición específica. El resultado de esta
evaluación es un objeto de tipo bool.

Operador Evalúa
== a == b ¿a es igual a b?
!= a != b ¿a es distinta de b?
> a > b ¿a es mayor que b?
< a < b ¿a es menor que b?
>= a >= b ¿a es mayor o igual que b?
<= a <= b ¿a es mayor o igual que b?
Operadores lógicos

Estos operadores permiten la realización de las siguientes


operaciones lógicas. Por lo general se realizan con objetos de
tipo bool, pero Python también permite operaciones lógicas
con otros tipos de datos.

Operador Evalúa
or a or b ¿se cumple a o b?
and a and b ¿se cumple a y b?
not not X (contrario a X)
Operadores de pertenencia

Operador Evalúa
in Si un objeto esta dentro de otro
not in Si un objeto no esta dentro de otro

>>> ‘a’ in ‘Hola Mundo!!!’


True

>>> ‘Mundo’ not in ‘Hola Mundo!!!’


False
Operadores de asignación

Operador Descripción Ejemplo


= Asignación simple x=y
+= Suma x += y equivale a x = x + y
-= Resta x += y equivale a x = x – y
*= Multiplicación x += y equivale a x = x * y
**= Exponente x += y equivale a x = x ** y
/= División x += y equivale a x = x / y
//= División entera x += y equivale a x = x // y
%= Residuo de división x += y equivale a x = x %= y
Operadores de bits

Operador Descripción
& AND
| OR
^ XOR
<< Mover x bits a la izquierda
>> Mover x bits a la derecha
Operadores de identidad

Los operadores de identidad evalúan si un objeto es o


pertenece a otro objeto.

Operador Evalúa
is a is b Equivale a id(a) == id(b)
is not a is not b Equivale a id(a) != id(b)
eval()

Evalúa un objeto de tipo str como si fuera una expresión. i


el texto a evaluar no es una expresión válida, eval()
generará un mensaje de error.

>>> eval(‘6 * 5’)


30

>>> eval(‘8 > 15’)


False

>>> eval(‘Saludos’)
Error…

S-ar putea să vă placă și