Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Expresiones, Apuntes de Ingeniería Mecánica

Asignatura: Materiales, Profesor: , Carrera: Ingeniería Mecánica, Universidad: UPC

Tipo: Apuntes

2016/2017

Subido el 23/03/2017

ericvello
ericvello 🇪🇸

4.8

(5)

2 documentos

1 / 26

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Ferran Juan Baruel
Ciències de Computació / 2015
Entorno Python
Tipos de datos
Operadores y precedencia
Variables
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a

Vista previa parcial del texto

¡Descarga Expresiones y más Apuntes en PDF de Ingeniería Mecánica solo en Docsity!

Ferran Juan Baruel

Entorno Python

Tipos de datos

Operadores y precedencia

Variables

Ferran Juan Baruel

Tipos de datos

• Tipos Básicos

• Números :

– Enteros (Decimal, Binario, Octal y Hexadecimal)

– De coma flotante o decimales 9.

– Complejos 7+ 5j

• Cadenas de texto:

– “Hola Mundo”

• Valores booleanos:

– True (cierto) y False (falso).

Ferran Juan Baruel

Tipos de datos

• Los datos pueden cambiar dinámicamente de

tipo al asignar valores de tipos diferentes

• Por ejemplo:

• >>> c="Hola Mundo"

• >>>type(c)

• <class ‘str’>

• >>> c=9.

• >>>type(c)

• <class 'float'>

Ferran Juan Baruel

Tipos de datos

• Enteros en Octal y Hexadecimal:

El literal que se asigna a la variable también se puede

expresar como:

Un Binario, anteponiendo un ‘0b’:

# 0b10111 Binario = 23 en base 10

entero = 0b

Un octal, anteponiendo un cero y la letra ‘o’:

# 027 octal = 23 en base 10

entero = 0o

Un hexadecimal, anteponiendo un ‘0x’:

# 0x17 hexadecimal = 23 en base 10

entero = 0x

Ferran Juan Baruel

Operadores aritméticos

• Los operadores aritméticos son la suma, resta ,

multiplicación y división (entera y real) además de la

potencia y del operador resto de división entera (%)

• El operador de división se distingue entre división

entera y división real

• >>>12/7  1.7142857142857142  Numero Real

• >>>12//7  1  Numero entero (Cociente)

• >>>12%7  5  Numero entero (Resto)

Ferran Juan Baruel

Precedencia de operadores

• La precedencia de los operadores aritméticos

son:

Operación Operador Asociatividad Precedencia Paréntesis () Interior a exterior 0 Exponenciación ** Por la derecha 1 Identidad + -- 2 Cambio de signo - -- 2 Multiplicación * Por la Izquierda 3 División / Por la Izquierda 3 Módulo % Por la Izquierda 3 Suma + Por la Izquierda 4 Resta - Por la Izquierda 4

Ferran Juan Baruel

Precedencia de operadores

• Uso de paréntesis: Modifican el orden de operación

• Los paréntesis están en la primera posición de precedencia. Se

ejecutan desde el más interno al más externo.

• El cáculo de raíces nos obliga a poner entre paréntesis el valor de la

potencia como una fracción.

• Si no pusiéramos el paréntesis el resultado seria diferente, ya que

por precedencia, primero elevaría el valor 27 a la potencia 1 y luego

dividiría el resultado por 2

Ferran Juan Baruel

Operadores Lógicos

Símbolo Significado == Igual que != Distinto que < Menor que > Mayor que <= Menor o igual que >= Mayor o igual que

• OPERADORES RELACIONALES (DE

COMPARACIÓN)

• Nos sirven para evaluar una condición

entre dos valores

• OPERADORES LOGICOS

• Nos sirven para evaluar más de una

condición simultáneamente.

Operador Ejemplo and (y) 5 == 7 and 7 < 12 9 < 12 and 12 > 7 9 < 12 and 12 > 15 or(o) 12 == 12 or 15 < 7 7 > 5 or 9 < 12 xor (o excluyente) 4 == 4 xor 9 > 3 4 == 4 xor 9 < 3

Ferran Juan Baruel

Precedencia de operadores

• La paradoja de la Asociatividad de los comparadores:

Python puede evaluar expresiones como “2 < 1 < 4” y más

complejas , expresiones que en otros lenguajes no están

permitidas.

Lenguaje C Pascal Python 2<1<4 2<1<4 2<1< Evaluación por la izquierda: 2<1  0(falso) Y 0<4  1(cierto) Evaluación por la izquierda: 2<1  False Y False<4  Error Lo evalúa como 2<1 and 1<4  False and True  False La evaluación del resultado no es correcta. No se recomienda su uso. Más estricto, no permite operaciones con valores de diferentes tipos (boolean y integer) La evaluación del resultado es correcta.

Ferran Juan Baruel

Precedencia de operadores

• En general, la

precedencia

de los

operadores

queda como

sigue:

Operación Operador Asociatividad Precedencia Paréntesis () Interior a exterior 0 Exponenciación ** Por la derecha 1 Identidad + -- 2 Cambio de signo - -- 2 Multiplicación * Por la Izquierda 3 División / Por la Izquierda 3 Módulo % Por la Izquierda 3 Suma + Por la Izquierda 4 Resta - Por la Izquierda 4 Igual que == --- 5 Distinto de =! --- 5 Menor que < --- 5 Menor o igual que <= --- 5 Mayor que > --- 5 Mayor o Igual que >= --- 5 Negación not --- 6 Conjunción and Por la izquierda 7 Disyunción or Por la izquierda 8

Ferran Juan Baruel

La codificación ASCII

• Los estadounidenses definieron una codificación estándar de 7 bits

que asignaba un carácter a cada número entre 0 y 127: la tabla

ASCII (de American Standard Code for Information Interchange).

• Esta tabla sólo contenía los caracteres de uso común en la lengua

inglesa. La tabla ASCII fue enriquecida posteriormente definiendo

un código de 8 bits para las lenguas de Europa occidental: Esta tabla

coincide con la tabla ASCII en sus primeros 128 caracteres y añade

todos los símbolos de uso común en las lenguas de Europa

occidental. Una variante estandarizada para nuestro país es la tabla

ISO-8859-

• Por ejemplo, el código

0110110101110101011011100110010001101111 corresponde a la

cadena ‘mundo’

Ferran Juan Baruel

Tabla ASCII

• Los 127 primeros bits es común para todos los idiomas

occidentales. El resto son específicos de cada idioma.

x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF 0x NUL^ SOH^ STX^ ETX^ EOT^ ENQ^ ACK^ BEL^ BS^ HT^ LF^ VT^ FF^ CR^ SO^ SI 1x DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US 2x SP^!^ "^ #^ $^ %^ &^ '^ (^ )^ *****^ +^ ,^ -^.^ / 3x 0 1 2 3 4 5 6 7 8 9 : ; < = >? 4x @ A B C D E F G H I J K L M N O 5x P Q R S T U V W X Y Z [ \ ] ^ _ 6x ` a b c d e f g h i j k l m n o 7x p^ q^ r^ s^ t^ u^ v^ w^ x^ y^ z^ {^ |^ }^ ~^ DEL 8x PAD HOP BPH NBH IND NEL SSA ESA HTS HTJ VTS PLD PLU RI SS2 SS 9x DCS^ PU1^ PU2^ STS^ CCH^ MW^ SPA^ EPA^ SOS^ SGCI^ SCI^ CSI^ ST^ OSC^ PM^ APC Ax NBSP ¡ ¢ £ € ¥ Š § š © ª « ¬ SHY ® ¯ Bx ° ± ² ³ Ž μ ¶ · ž ¹ º » Œ œ Ÿ ¿ Cx À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Dx Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß Ex à^ á^ â^ ã^ ä^ å^ æ^ ç^ è^ é^ ê^ ë^ ì^ í^ î^ ï Fx ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ

Ferran Juan Baruel

Operadores de cadenas

• Repetición o multiplicación: Utilizando el símbolo ‘*’ se

repite la cadena de uno de los operandos tantas veces

como se indica en el valor entero del segundo operando.

• >>> ’Hola’ * 5

• ’HolaHolaHolaHolaHola’

• >>> 20'e'+12';'

• 'eeeeeeeeeeeeeeeeeeee;;;;;;;;;;;;‘

• >>> 2 * '12' + '.' + '3' * 3 + 'e-' + 4 * '76'

• '1212.333e-76767676'

Ferran Juan Baruel

Comparación de cadenas

• En el caso de los operadores == y != el significado está claro: dos cadenas

son iguales si son iguales carácter a carácter, y distintas en caso contrario.

Python distingue entre mayúsculas y minúsculas.

• >>> ‘Mundo’ == ‘Mundo’  True

• >>>’Mundo’ == ‘mundo’  False

• Python utiliza los códigos ASCII de los caracteres para comparar cadenas

• Dicha tabla presenta un problema cuando queremos ordenar palabras: las

letras mayúsculas tienen un valor numérico inferior a las letras minúsculas

e inferior a las letras acentuadas que sus equivalentes sin acentuar ( la

ordenación sigue el patrón A..Z, a..z y las vocales acentuadas (incluido la Ñ

tanto en mayúscula como minúscula)

• >>> 'abaco' == 'ábaco‘  False

• >>> 'abaco' == 'Abaco‘  False

• >>> 'ábaco' > ‘abrigo‘  True

• >>> 'abaco' > 'abrigo‘  False