Diferències
Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
development:python:thinkpython [02/06/2019 12:16] – [Tuplas] mate | development:python:thinkpython [10/06/2022 02:27] (actual) – [think python] mate | ||
---|---|---|---|
Línia 1: | Línia 1: | ||
= think python | = think python | ||
+ | {{tag> | ||
== cadenas | == cadenas | ||
+ | * inmutables | ||
+ | * ''< | ||
+ | * -1 : last | ||
+ | * -2 : pre-last | ||
+ | * ''< | ||
+ | * ''< | ||
* ''< | * ''< | ||
* ''< | * ''< | ||
Línia 8: | Línia 14: | ||
* se puede pasar por parámetro el delimitador | * se puede pasar por parámetro el delimitador | ||
* ''< | * ''< | ||
+ | * '' | ||
== list | == list | ||
Línia 18: | Línia 25: | ||
* '' | * '' | ||
* '' | * '' | ||
+ | * '' | ||
+ | * '' | ||
* concatenación: | * concatenación: | ||
* multiplicativo: | * multiplicativo: | ||
Línia 55: | Línia 64: | ||
== Tuplas | == Tuplas | ||
* secuencia de valores, separados por coma, inmutables | * secuencia de valores, separados por coma, inmutables | ||
- | * '' | + | * '' |
* '' | * '' | ||
* '' | * '' | ||
Línia 85: | Línia 94: | ||
== 13 | == 13 | ||
+ | |||
+ | == ficheros | ||
+ | === escritura fichero | ||
+ | * escritura: '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * format operator **%** -> '' | ||
+ | * si hay más de 1 variables, ha de ser una tupla:' | ||
+ | * más info: [[https:// | ||
+ | |||
+ | === nombres fichero y paths | ||
+ | * módulo **os** -> '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | === catch exceptions | ||
+ | <code python> | ||
+ | try: | ||
+ | fin = open(' | ||
+ | for line in fin: | ||
+ | print line | ||
+ | fin.close() | ||
+ | except: | ||
+ | print " | ||
+ | </ | ||
+ | |||
+ | === databases | ||
+ | * '' | ||
+ | * solo soporta strings -> uso de pickling | ||
+ | * '' | ||
+ | * ' | ||
+ | * uso como diccionario | ||
+ | * asignación | ||
+ | * recorridos: key,items | ||
+ | * '' | ||
+ | |||
+ | === pickling | ||
+ | * para superar la limtación de **anydbm** de trabajar solo con strings, usamos el módulo **pickle** | ||
+ | * convierte casi cualquier cosa a una representación en string y viceversa | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * módulo shelve ?? | ||
+ | |||
+ | === Pipes | ||
+ | * cualquier comando que se pueda lanzar desde la shell se puede lanzar como un **pipe** en python | ||
+ | * '' | ||
+ | * <code python> | ||
+ | filename = ' | ||
+ | cmd = ' | ||
+ | fp = os.popen(cmd) | ||
+ | res = fp.read() | ||
+ | stat = fp.close() // devuelve None si todo correcto | ||
+ | // res contiene el resultado del comando | ||
+ | </ | ||
+ | |||
+ | === Modulos | ||
+ | * cualquier fichero que contenga código python puede ser importado como un módulo | ||
+ | * normalmente solo se definen funciones, otro código sería ejecutado | ||
+ | * para evitar la ejecución de ese código cuando el programa se usa como módulo, se añade: <code python> | ||
+ | codigo</ | ||
+ | * '' | ||
+ | * un módulo que se importa una vez no puede ser reimportado, | ||
+ | * para eso, usar '' | ||
+ | |||
+ | == Clases y objetos | ||
+ | <code python> | ||
+ | class Point(object): | ||
+ | attributes: x,y | ||
+ | | ||
+ | class Rectangle(object): | ||
+ | attributes: width, | ||
+ | | ||
+ | box = Rectangle() | ||
+ | box.width = 100.0 | ||
+ | box.height = 200.0 | ||
+ | box.corner = Point() | ||
+ | box.corner.x = 0.0 | ||
+ | box.corner.y = 0.0 | ||
+ | </ | ||
+ | |||
+ | * '' | ||
+ | |||
+ | == Clases y funciones | ||
+ | * funciones puras: no modifican los objetos | ||
+ | * funciones modificadoras : lo contrario | ||
+ | |||
+ | == Clases y métodos (17) | ||
== otros | == otros |