Home / Computer Science / Programacion / Notas sobre Python

Notas sobre Python

Tipos de variables

boolean, int, floats, complex, strings, tuples y lists

type(expression) devuelve el tipo de variable, type(True):bool  –  True con mayúculas.

Casting  float(2):2.0   int(1.1):1    int(‘1’):1    int(‘A’) Error    str(1):”1”    str(4.5):’4.5’    int(True):1  bool(0): False

25 // 6 –> 4 Integer division

Strings

Son objetos que tienen sus métodos propios.

Name = “Michael Jackson”, se pueden suar “ o  ‘   –  se acceden los elecmentos por sus indices.

Name[0]: ‘M’ y en orden inverso Name[-1]:’n’ para ir de atrás para adelante

Name[0:4]:”Micha”  Name[::2]:”McalJcsn” es cada letra par    Name[0:5:2]:”Mca” las pares hasta el 5

len(Name):15   Concatenación con +

Strings son inmutables. Name[0] = ‘X’ NO cambia el valor de la primera letra del string

\ para caracteres de escape – print(“Michael \nJackson”)    \t  es TAB    \\  es backslash

A=”Hola”  B=A.upper()   B:”HOLA” ;  B=A.replace(‘HO’,’CO’)    B:”COLA”   ;    Name.find(“el”):5 no existe-> –1

Se pueden comparar String con ==

2 * “hola mundo” es igual a “hola mundo hola mundo”

Tuples

Tuple1 = (“disco”, 10, 1.2)  Se acceden por índices como los Strings   Tuple1[0]: “disco”  Tuple[-1]:1.2

Operaciones entre Tuples:  Tuple2 = Tuple1 + (“hard rock”, 10)      (“disco”, 10, 1.2, “hard rock”, 10)

Tuple2[0:3] : (“disco”, 10, 1.2)   –    El último valor de índice es uno más del que se quiere obtener y es len().

Tuples son inmutables. No se pueden manipular sino que hay que crear otro.

RatingsSorted = sorted(Ratings)

Se puede hacer Nesting donde un tuple contenga a otro. NT=(1,2,(“pop”,”rock”)), NT[2]:(”pop”, “rock”)[1]=”rock”

Collections

Lists

Son mutable y pueden contener strings, números, tuples y lists.

A=[“Mucharl Jackson”, 10.1, 1982, [1,2], (‘A’, 1)]

Se acceden por subíndices Para B=[1,2,[3,’a’],[4,’b’]] , B[3][1] es igual a ‘b’

Se pueden sumar listas con + y agregar a la cola de una existente con B.extend([“pop”, 10])

B.append([“pop”, 10]) agrega solo un elemento y en este caso es una lista.

Para borrar el primer elemento, del(B[0])

Conversión de String a List, usa como separador el space  –  “hard rock”.spli()  [“hard”,”rock”]

Se puede seleccionar el separador “A,B,C”.split(“,”)  [“A”, ”B”, ”C”]

Para hacer una copia de una lista existente en una nueva variable  A=B[:] (diferente espacio de mem)

La funcion sorted(lista) devuelve una nueva lista ordenada –sin modificar la original- que hay que guardar en otra variable de tipo lista, lista.sort() ordena la lista actual modificándola.

factorials = map(math.factorial, range(5))

factorials = [math.factorial(num) for num in range(5)]

factorials_of_odds = (math.factorial(num) for num in xrange(10**10) if num % 2 != 0)

xrange(10**10) ** is the exponent operator ^. The usual range function, when called with 10**10 as an argument, would have to allocate and keep in memory a ten billion–elements list. Instead of preallocating such a big list, xrange returns an iterator, which only when iterated over, produces elements up to ten billion, one at a time.

Dictionary

Son listas donde el primer elemento es el key y el segundo el contenido, se usan entre {}

Dict={“A”:1,”B”:”2″,”C”:[3,3,3],”D”:(4,4,4),’E’:5,’F’:6}

Dict[“D”] es (4,4,4)

Se agrega directamente haciendo una asignación de un nuevo key

Dict[‘Z’] = ‘piojo’ ; para borrar:  del(Dict[‘B’]) y borra el key y el value

“Z” in Dict da True o False según exista o no en el diccionario.

Dict.keys() devuelve una lista con todos los keys  [“A”, ”B”, ”C”, ”D”, “E”, ”Z”]

Dict.values() devuelve una lista con todos los valores  [1, ”2”, [3,3,3], (4,4,4), 5, ”piojo”]

Sets

Son listas desordenadas sin índice con elementos únicos y pueden contener cualquier tipo de dato.

Se puede convertir una lista en un set con la función set()

album_list = [“MJ”, “Thriller”, “Thriller”, 1982]

album_set = set(album_list)

album_set: {“MJ”, “Thriller”, 1982}  elimina los repetidos ya que deben ser elementos únicos

Se agrega album_set.add(“nuevo item”) y se elimina con album_set.remove(“item”), si se agrega un item dos veces, lo ignora  “MJ” in album_set devuelve True

Se pueden usar operadores tal como diagramas de Venn set3 = set1 & set2 (intersección), la unión se hace mediante un método  set1.union(set1) – se puede chequear si es subset con set3.issubset(set1)

Control de Flujo

La indentación marca los diferentes bloques de ejecución

if (condition):

    statement

elif (condition):

    statement

else:

    statement


for i in range(0,5):

    var[i] = 0


for elemento in lista_de_elementos:

   statement


for i, x in enumerate([“a”, “b”, “c”]):

   print(i, x)

salida: 0a 1b 2c


while(condition):

    statement


Funciones

def f1(input):

    output=XXXX

return output


def ImprimirNombres(* nombres)       # cantidad variables de parámetros.

    global GlobalVar                                  # Declaración de variable global accesible por fuera de la func.

    for nombre in nombres:

           print(nombre)

def a_function(arg1, arg2=“default”, *args, **kwargs):

“””This is a short piece of documentation for this function. It can span multiple lines. “””


print “arg1:”, arg1 # arg1 is a mandatory parameter

print “arg2:”, arg2 # arg2 is an optional parameter
with a default value

print “args:”, args # args is a tuple of positional parameters


print “kwargs:”, kwargs # kwargs is a dictionary of keyword parameters

>>> a_function(10)

arg1: 10

arg2: default

args: ()

kwargs: {}

>>> a_function(10, “twenty”, arg3=30, arg4=“forty”)

arg1: 10

arg2: twenty

args: ()

kwargs: {‘arg3’: 30, ‘arg4’: ‘forty’}

>>> a_function(arg2=“twenty”, arg1=10, arg3=30, arg4=“forty”)

arg1: 10

arg2: twenty

args: ()

kwargs: {‘arg3’: 30, ‘arg4’: ‘forty’}

Multireturn

def multi_return():

# These are automatically wrapped up


# and returned in one tuple

return 10, 20, ‘thirty’      # Devuelve más de un valor y se empaqueta automáticamente en un tuple

>>> values = multi_return()

>>> print values


(10, 20, ‘thirty’)

# La función puede recibir los valores también de esta forma

>>> a, b, c = multi_return()  # igualando 3 variables a una función que devuelve tres valores.

>>> print a, b, c


10 20 thirty

Classes

class class1(object)

    def __init___ (self, val1=5, val2):   ‘default value 5

            self.val1=val1

            self.val2=val2

Se crea un objeto  O1 = class1(val1, val2)

image

..



About AVB

Check Also

Wordfence: Error de memoria en WordPress

Con la última actualización, Wordfence da un error de memoria en WordPress. Intenté reinstalar el …

Leave a Reply

Your email address will not be published. Required fields are marked *