Install my personal vim configuration optimized for Python
install vim with support for python 2.7/3.X and Lua
Last update: 29/03/2018
* remove vim:
$ sudo apt update $ sudo apt purge $(dpkg --get-selections|grep -i vim|cut -f1)
* install the dependencies:
$ sudo apt update && sudo apt upgrade --yes $ sudo apt install build-essential $ sudo apt install python-dev python3-dev git $ sudo apt install libncurses-dev libperl-dev ruby-dev liblua5.3-dev xorg-dev
Sigue leyendo «install vim with support for python 2.7/3.X and Lua»
Autenticación, sesiones, templates y Sub-Aplicaciones en Web.py con PostgreSQL
Como puedo usar sesión, autenticación, templates y sub-app en un proyecto?
Solución:
Crear una sub-app admin.py: Sigue leyendo «Autenticación, sesiones, templates y Sub-Aplicaciones en Web.py con PostgreSQL»
Autenticación, sesiones y templates en Web.py con PostgreSQL
Como puedo usar sesión, autenticación y templates en un proyecto?
Solución:
Crear un fichero code.py: Sigue leyendo «Autenticación, sesiones y templates en Web.py con PostgreSQL»
Métodos especiales avanzados de las Clases en Python
Más métodos especiales.
__repr__(self):
Es un método especial que se invoca cuando llamamos a «repr(instancia)» y busca emular la funcionalidad de la función interna repr(), para devolver la representación textual de nuestro objeto.
Podemos definir nuestro método especial __repr__ en nuestra clase «Clientes» así:
def __repr__(self): return repr(self.data)
__len__(self):
Es un método especial que se invoca cuando llamamos a «len(instancia)» y busca emular la funcionalidad de la función interna len(). Funciona sobre cualquier objeto del que se pueda pensar razonablemente que tiene longitud. La función len() de una «cadena» es su número de caracteres; len() para un «diccionario» es su número de claves; len() de una lista o tupla es su número de elementos. Para instancias de clases; defina el método __len__ y programe usted mismo el cálculo de la longitud, y luego llame a len(instancia) para que Python invoque a su método especial __len__. P. e. para nuetra clase «Clientes» podemos crear nuestro método especial __len__ así:
def __len__(self): return len(self.data) Sigue leyendo "Métodos especiales avanzados de las Clases en Python"
Métodos especiales de las Clases en Python
Python cuenta con una serie de métodos especiales incluidos que invoca por nosotros en circunstancias particulares o cuando se usa una sintaxis específica, con el fin de emular cierto tipo de funcionalidades. Supongamos que tenemos nuestra clase que cuenta con un diccionario con datos de un cliente.
>>> class Clientes:
... def __init__(self, dict=None):
... self.data = {}
... if dict is not None:
... self.update(dict)
... def update(self, dict=None):
... self.data.update(dict)
... def clear(self): self.data.clear()
... def keys(self): return self.data.keys()
... def items(self): return self.data.items()
... def values(self): return self.data.values()
... def getvalue(self, key): return self.data[key]
...
>>>
>>> c = Clientes({'nombre':'Jorge', 'apellidos':'Toro', 'nit':'100244235', 'cargo':'aseador', 'telefono':None})
>>> c
<__main__.Clietes instance at 0xb743d16c>
>>> c.keys()
['apellidos', 'nombre', 'telefono', 'nit', 'cargo']
>>> c.values()
['Toro', 'Jorge', None, '100244235', 'aseador']
>>> c.items()
[('apellidos', 'Toro'), ('nombre', 'Jorge'), ('telefono', None), ('nit', '100244235'), ('cargo', 'aseador')]
>>> # Obtener el cargo del cliente
... c.getvalue('cargo')
'aseador'
>>>
Los métodos especiales nos permiten realizar ciertas acciones o comportamientos diferentes a solo llamar métodos. En lugar de usar un método como «getvalue()», puede hacerse con una sintaxis que no incluya una invocación explícita a métodos. Aquí es donde entran los «métodos especiales», ya que nos proporcionan este tipo de sintaxis especial, convirtiendo la «sintaxis que no llama a métodos» en «llamadas a métodos». Sigue leyendo «Métodos especiales de las Clases en Python»
Clases en Python
Las clases en programación son un mecanismo diseñado para asemejarnos a los objetos de la vida real. P.e. un Televisor o TV, tiene atributos como color, alto, ancho y puede realizar tareas como encenderse, apagarse, programarse, dañarse, entre otros.
En Python podemos decir que sirve para definir tipos por el usuario. Python define sus clases con la palabra reservada «class» seguida de su nombre, P.e «class Imp: «. Python no cuenta con constructores y destructores explícitos, pero sí con un método reservado para simular al constructor «__init__«. Sigue leyendo «Clases en Python»
Funciones locals() y globals() en Python
Python Incorpora dos funciones locals() y globals(), que proporcionan acceso de tipo diccionario a las variables locales y globales.
La forma en que Python gestiona las variables se debe a los espacios de nombre (namespaces) donde se lleva un seguimiento de las variables. Un espacio de nombres se puede tratar como un diccionario donde las keys son los nombres de las variables y las values son los valores de dichas variables. Sigue leyendo «Funciones locals() y globals() en Python»
Vim Autocomplete en Python con pydiction
Pydiction nos permite completar código Python con un simple TAB.
1. Descargar Pydiction
http://www.vim.org/scripts/download_script.php?src_id=11062
2. Crear los directorios
$ mkdir -p ~/.vim/after/pydiction $ mkdir -p ~/.vim/after/ftplugin Sigue leyendo "Vim Autocomplete en Python con pydiction"
Como usar Sesiones con Subaplicaciones
Este How-to es de gran ayuda cuando tenemos una aplicación que cuenta con una subaplicación para administración y otra para usuarios y que permita el uso de sesiones en cada una de estas subaplicaciones. Sigue leyendo «Como usar Sesiones con Subaplicaciones»