Está en la página 1de 29

python

● >>> b=2
● Print (b)
● 2
● >>> b = b*2.0
● >>> print (b)
● 4.0

cadenas
● Cadenas o strings:
● >>> cadena1 = ’Presione return para salir’
● >>> string = ’del programa’
● >>> print (cadena1 + ' ' + string)
● # Concatenación
● Presione return para salir del programa
● >>> print (cadena1[0:15])
● Presione return
● Una cadena es un objeto inmutable: sus caracteres individuales
no se pueden modificar con una instrucción de asignación
y tiene una longitud fija. Un intento de violar la inmutabilidad
dará como resultado TypeError, como se muestra aquí:
● >>>s = ’Presione return para salir’
● >>> s[0] = ’p’
● Traceback (most recent call last):
● File "<stdin>", line 1, in <module>
● TypeError: 'str' object does not support item assignment
● >>>

Tuplas
● Una tupla es una secuencia de objetos arbitrarios separados
por comas y entre paréntesis. Si la tupla contiene un solo
objeto, se requiere una coma final; por ejemplo, x = (2,). Las
tuplas soportan las mismas operaciones que las cadenas;
También son inmutables. Aquí hay un ejemplo donde la
tupla rec contiene otra tupla (6,23,68):
● >>> rec = (‘Carlos’,’Slim’,(6,23,68)) # tupla
● Nombre,apellido,nacimiento = rec
● print (nombre)
● >>>Carlos
● año = nacimiento[2]
● >>> print(año)
● 58
● >>> nombre = rec[1] + ' ' + rec[0]
● >>> print(nombre)
● Slim Carlos
● >>>

● ¿Qué hará la siguiente instrucción?
>>> print rec[0:2]


Listas.
● Una lista es similar a una tupla, pero es mutable, por lo
que sus elementos y longitud pueden cambiarse. Una lista
se identifica encerrándola entre [ ]. Aquí hay una muestra
de las operaciones que se pueden realizar en las listas:
● >>> a = [1.0, 2.0, 3.0] # Crea una lista
● >>> print(a)
● [1.0, 2.0, 3.0]
● >>> a.append(4.0) # Agrega 4.0 a la lista
● print(a)
● [1.0, 2.0, 3.0, 4.0]
● >>>
● >>> a.insert(0,0.0) # Inserta 0.0 en la posición 0
● >>>print(a)
● [0.0, 1.0, 2.0, 3.0, 4.0]
● >>> print ( len(a)) # Determina la longitud de la lista
● 5
● >>> a[2:4] = [1.0, 1.0, 1.0] # Modifica elementos seleccionados
● >>> print a
● [0.0, 1.0, 1.0, 1.0, 1.0, 4.0]
Alias y copias de listas.
● Si a es un objeto mutable, como una lista, la sentencia de
asignación b = a no genera un nuevo objeto b, sino que
simplemente crea una nueva referencia a a. Por lo tanto,
cualquier cambio realizado en b se reflejará en a.
● Para crear una copia independiente de una lista a, use la
declaración c = a [:], como se muestra:
● >>> a = [1.0, 2.0, 3.0]
● >>> b = a # ’b’ es un alias de ’a’
● >>> b[0] = 5.0 # Cambia a ’b’
● >>> print a
● [5.0, 2.0, 3.0] # El cambio se refleja en ’a’
● >>> c = a[:] # ’c’ es una copya independiente de ’a’

● >>> c[0] = 1.0 # Cambio en ’c’
● >>> print a
● [5.0, 2.0, 3.0] # ’a’ no se ve afectado por el cambio.

● Las matrices se pueden representar como listas anidadas y cada
fila es un elemento de la lista. Aquí hay una matriz 3 × 3 en forma
de lista:
● >>> a = [[1, 2, 3], \
[4, 5, 6], \
[7, 8, 9]]
● >>> print a[1] # imprime el 2do renglon (elemento 1)
● [4, 5, 6]
● >>> print a[1][2] # imprime el 3er elemento del 2do renglón.
● 6
● La barra invertida (\) es el carácter de continuación de Python.
Recuerde que las secuencias de Python tienen desplazamiento
cero, de modo que a [0] representa la primera fila, a [1] la
segunda fila, y así sucesivamente.
● Con muy pocas excepciones, no utilizamos listas para
matrices numéricas. Es mucho más conveniente emplear
arreglos (arrays) de matriz proporcionados por el módulo
NumPy. Los arreglos de matriz los veremos más adelante.
Operadores aritméticos.
● + Suma
● - Resta
● * Multiplicación.
● /división
● ** Exponenciación
● % División modular

>>> s = ’Física’
● >>> t = ’Computacional’

>>> a = [1, 2, 3]
● >>> print (3*s) # Repetición
● FísicaFísicaFísica

>>> print (3*a) # Repetición

[1, 2, 3, 1, 2, 3, 1, 2, 3]

>>> print (a + [4, 5]) # Agregando elementos
● [1, 2, 3, 4, 5]
● >>> print (s + t) # Concatenación
FísicaComputacional
● >>> print (3 + s) # ¿Tiene sentido esta suma?
● Python también tiene operadores de asignación
aumentada, como a + = b, que son familiares para los
usuarios de C. Los operadores aumentados y las
expresiones aritméticas equivalentes se muestran a
continuación:

Operadores de comparación.
● Los operadores de comparación (relacionales) devuelven 1 para verdadero
y 0 para falso. Estos operadores son:
● < menor que
● > mayor que
● <= menor o igual que
● >= mayor o igual que
● == igual
● != no igual a
Los números de diferente tipo (entero, punto flotante, etc.) se convierten
a un tipo común antes de que se realice la comparación. De lo contrario,
los objetos de diferente tipo se consideran desiguales. Aquí están algunos
ejemplos:
Condicionales:
● La construcción de if
If condición :
bloque de instrucciones

ejecuta un bloque de instrucciones (que deben


estar sangradas) si la condición devuelve
verdadero.
Si la condición devuelve falso, el bloque se
omite.
● El condicional se puede continuar por cualquier
número de construcciones elif (abreviatura de
"else if")
elif condicion:
bloque
– que funcionan de la misma manera. La cláusula else
else condicion:
– bloque
se puede usar para definir el bloque de sentencias que se
ejecutarán si ninguna de las cláusulas if-elif es verdadera.
La función signo_de_a ilustra el uso de los condicionales:

def signo_de_a(a):
if a < 0.0:
signp = ’negativo’
elif a > 0.0:
signo = ’positivo’
else:
signo = ’cero’
return signo
a = 1.5
print (’a es ’ + signo_de_a(a))

Corriendo el programa resulta lo siguiente
● a es positivo
Loops: while condición :
bloque
● Lo anterior ejecuta un bloque de declaraciones (con sangría) si la
condición es verdadera. Después de la ejecución del bloque, la
condición se evalúa nuevamente. Si aún es cierto, el bloque se
ejecuta de nuevo. Este proceso continúa hasta que la condición
se vuelve falsa.
● La cláusula
else:
bloque
se puede usar para definir el bloque de sentencias que se
ejecutarán si la condición es falsa. Aquí hay un ejemplo que crea
la lista [1, 1/2, 1/3,. . .]:
nMax = 5
n=1
A=[] # Crea una lista vacía.
while n < nMax:
a.append(1.0/n) # Agrega elementos a la lista
n=n+1
print (a)
¿Cuál es la salida del programa?
for
● Esta declaración requiere un target (objetivo) y una secuencia
(generalmente una lista) sobre la cual el objetivo realiza un
ciclo o loop. La forma de hacerlo es:
for objetivo in secuencia:
bloque
● Puede agregar una sentencia else que se ejecute después de
que el loop for haya finalizado. El ejemplo anterior se podría
escribir con el for de la siguiente manera:
● nMax = 5
● a=[]
● for n in range(1,nMax):
● a.append(1.0/n)
● print (a)

● Cualquier loop puede ser terminado por la instrucción break. El siguiente programa,
que busca un nombre en una lista, ilustra el uso de break y, además, junto con un
for
list = [’Maria’, ’Juan’, ’Ana’, ’David’]
● nombre = input('Ingresar nombre: ')
#entrada Python desde el prompt
● for i in range(len(list)):
● if list[ i ] == nombre:
● print (nombre,'es el número',i + 1,'en la lista')
● break
● else:
● print (nombre,'no está en la lista')
continue
● Nos permite omitir una parte de las declaraciones en un loop
iterativo. Si el intérprete encuentra la instrucción continue,
regresa inmediatamente al comienzo del bucle sin ejecutar las
instrucciones siguientes.
● El seguiente ejemplo compila una lista de todos los números
entre 1 y 99 que son divisibles por 7.
X = [ ] # Crea una lista vacía
for i in range(1,100):
if i%7!= 0: continue # Si no es divisible por 7,saltar resto
#de loop

● x.append(i) # Agrega i a la lista


● print (x)
● La salida del programa es:
● [7, 14, 21, 28, 35, 42, 49, 56, 63, 70, 77, 84, 91, 98]

También podría gustarte