es es es es it es en zh es pt es de es es en en ja ar ar es es nl es es ceb es it pt ru en ru en es es es es es gl nl es en tr en tr en ja en en en zh es en en ja bg eu es en hbs_lat hbs_lat en en en bg en de en en es es es es gl nl es en en en eo en en en es es es hbs_lat en en en es zh en ru en es es es es gl nl es es es es en de es en de es de en de es hbs_lat sv ru fr es en en es ru es es es es es nl es es es es es es es ro es es es es es nl es es es es ru es es es es es es es es nl es en es es en en es es es es es es es es nl es ru es es es es fr es es es es es es es es nl es es es es es es es es nl es en en en en es pt es es hbs_lat es es es es es es nl es es es es es es es gl nl es es es es es gl nl es en es es en es es es es es es es it nl es es es es es es es es es es es es es es nl es es es es es es es es es es es es nl es ceb la es ca tr hbs_lat pt ca ja es ceb hbs_lat es pt kn es es es es es uk nl es es uk de uk es es es es es es es nl es es es es es en es es es ru pt es en es fr hi en fa es zh fa en zh hi te fa es es es it fa fr la en es fa es es es es es es es es nl es es es pt fr hi en fa es es zh fa es es zh es es it fa es es es es es nl es es es es es es es es nl es en en fr en en es en en fr pt en kn es en kn es fa kn es en hy en en en en kn en en es gl es es kn ru el pt en de es fa mn pt en en es fa ru es fa fa en en en es es es en es en es ast en en en en es es es es es es es nl es es el pt en de es fa es mn pt en en es fa es es ru es fa es es es gl es es kn es es es es es es nl es es ja es ja es es es es es en es en es el en en es es es es es es nl es es es es es es es es nl es es es es en pt fr la es ru ja fr jv es es fr la es fr bcl es es kn es es ru en fa es es es es es es es nl es pt fr de en en es es es es es es es pt es es kn es es es es es en es es es es es es es es es es es en cs es es es cs es es es es es es es es fr es es es es es es es es es gl gl gl es es es es es es es gl gl it es es uk es es es es es es es es es cs es es es es it es es es es it es es de es es es es it es pl es es cs es es it pl es es es es es es es es es es es es es es es es es es
En el modo interactivo, la última expresión impresa es asignada a la variable _. Esto significa que cuando estés usando Python como una calculadora de escritorio, es más fácil seguir calculando, por ejemplo:
Esta variable debería ser tratada como de solo lectura por el usuario. No le asignes explícitamente un valor; crearás una variable local independiente con el mismo nombre enmascarando la variable con el comportamiento mágico.
Publicado por Unknown en 10:02 No hay comentarios:
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con FacebookCompartir en Pinterest
viernes, 30 de enero de 2015
Usar Python como una calculadora - III
Los números complejos también están soportados; los números imaginarios son escritos con el sufijo de j o J. Los números complejos con un componente real que no sea cero son escritos como (real+imagj), o pueden ser escrito con la función complex(real, imag).
Los números complejos son siempre representados como dos números de punto flotante, la parte real y la imaginaria. Para extraer estas partes desde un número complejo z, usá z.real y z.imag.
La función de conversión de los punto flotante y enteros (float(), int() y long()) no funciona para números complejos; aquí no hay una forma correcta de convertir un número complejo a un número real. Usá abs(z) para obtener esta magnitud (como un flotante) o z.real para obtener la parte real.
TypeError: can't convert complex to float
Publicado por Unknown en 9:58 No hay comentarios:
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con FacebookCompartir en Pinterest
jueves, 29 de enero de 2015
Usar Python como una calculadora - II
Un valor puede ser asignado a varias variables simultáneamente:
Las variables deben estar "definidas" (con un valor asignado) antes de que puedan usarse, o un error
Traceback (most recent call last):
File " ", line 1, in
NameError: name 'n' is not defined
Se soporta completamente los números de punto flotante; las operaciones con mezclas en los tipos de los operandos convierten los enteros a punto flotante:
Publicado por Unknown en 9:54 No hay comentarios:
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con FacebookCompartir en Pinterest
miércoles, 28 de enero de 2015
Usar Python como una calculadora - I
El signo igual (=) es usado para asignar un valor a una variable. Luego, ningún resultado es mostrado antes del próximo prompt:
Publicado por Unknown en 9:48 No hay comentarios:
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con FacebookCompartir en Pinterest
martes, 27 de enero de 2015
Una introducción informal a Python
Tené en cuenta que el prompt secundario que aparece por si solo en una línea de un ejemplo significa que debés escribir una línea en blanco; esto es usado para terminar un comando multilínea. Muchos de los ejemplos de este manual, incluso aquellos ingresados en el prompt interactivo, incluyen comentarios. Los comentarios en Python comienzan con el carácter numeral, #, y se extienden hasta el final físico de la línea.
Un comentario quizás aparezca al comienzo de la línea o seguidos de espacios blancos o código, pero sin una cadena de caracteres. Un carácter numeral dentro de una cadena de caracteres es solo un carácter numeral. Ya que los comentarios son para aclarar código y no son interpretados por Python, pueden omitirse cuando se escriben ejemplos.
# este es el primer comentario
SPAM = 1 # y este es el segundo comentario
# ... y ahora un tercero!
STRING = "# Este no es un comentario".
Publicado por Unknown en 9:45 No hay comentarios:
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con FacebookCompartir en Pinterest
lunes, 26 de enero de 2015
El archivo de inicio interactivo
Cuando usás Python en forma interactiva, suele ser útil que algunos comandos estándar se ejecuten cada vez que el intérprete se inicia. Podés hacer esto configurando la variable de entorno PYTHONSTARTUP con el nombre de un archivo que contenga tus comandos de inicio. Esto es similar al archivo .profile en los intérpretes de comandos de Unix.
Si querés leer un archivo de inicio adicional desde el directorio actual, podés programarlo en el archivo de inicio global usando algo como if os.path.isfile('.pythonrc.py'):
execfile('.pythonrc.py'). Si querés usar el archivo de inicio en un script, tenés que hacer lo siguiente en forma explícita en el script:
Publicado por Unknown en 9:38 No hay comentarios:
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con FacebookCompartir en Pinterest
sábado, 24 de enero de 2015
Codificación del código fuente
Es posible utilizar una codificación distinta a ASCII en el código fuente de Python. La mejor forma de hacerlo es poner otro comentario especial enseguida después de la línea con #! para definir la codificación:
# -*- coding: encoding -*-
Con esa declaración, todos los caracteres en el archivo fuente serán traducidos utilizando la codificación encoding, y será posible escribir directamente cadenas de texto literales Unicode en la codificación seleccionada. La lista de posibles codificaciones se puede encontrar en la Referencia de la Biblioteca de Python, en la sección sobre codecs.
Por ejemplo, para escribir literales Unicode, incluyendo el símbolo de la moneda Euro, se puede usar la codificación ISO-8859-15, en la que el símbolo Euro tiene el valor 164. Este script imprimirá el valor 8364 (el código Unicode correspondiente al símbolo Euro) y luego saldrá:
# -*- coding: iso-8859-15 -*-
Si tu editor tiene soporte para guardar archivos como UTF-8 con marca de orden de byte UTF-8 (también conocida como BOM), podés usar eso en lugar de la declaración de codificación. IDLE lo soporta si se activa Options/General/Default Source Encoding/UTF-8. Notá que esto no funciona en versiones antiguas de Python (2.2 y anteriores), ni por el sistema operativo en scripts con la línea con #! (solo usado en sistemas Unix). Usando UTF-8 (ya sea mediante BOM o la declaración de codificación), los caracteres de la mayoría de los idiomas del mundo pueden ser usados simultáneamente en cadenas de texto o comentarios.
No se soporta usar caracteres no-ASCII en identificadores. Para mostrar todos estos caracteres de forma apropiada, tu editor debe reconocer que el archivo es UTF-8, y debe usar una tipografía que soporte todos los caracteres del archivo.
Publicado por Unknown en 9:31 No hay comentarios:
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con FacebookCompartir en Pinterest
viernes, 23 de enero de 2015
Programas ejecutables de Python
En los sistemas Unix y tipo BSD, los programas Python pueden convertirse directamente en ejecutables, como programas del intérprete de comandos, poniendo la línea:
...al principio del script y dándole al archivo permisos de ejecución (asumiendo que el intérprete están en la variable de entorno PATH del usuario). #! deben ser los primeros dos caracteres del archivo. En
algunas plataformas, la primer línea debe terminar al estilo Unix ('\n'), no como en Windows ('\r\n').
Notá que el carácter numeral '#' se usa en Python para comenzar un comentario.
Se le puede dar permisos de ejecución al script usando el comando chmod:
$ chmod +x myscript.py
En sistemas Windows, no existe la noción de "modo ejecutable". El instalador de Python asocia
automáticamente la extensión .py con python.exe para que al hacerle doble click a un archivo Python
se corra el script. La extensión también puede ser .pyw, en este caso se omite la ventana con la consola que normalmente aparece.
Publicado por Unknown en 9:28 No hay comentarios:
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con FacebookCompartir en Pinterest
jueves, 22 de enero de 2015
El intérprete y su entorno
Cuando ocurre un error, el intérprete imprime un mensaje de error y la traza del error. En el modo interactivo, luego retorna al prompt primario; cuando la entrada viene de un archivo, el programa termina con código de salida distinto a cero luego de imprimir la traza del error. (Las excepciones manejadas por una clausula except en una sentencia try no son errores en este contexto). Algunos errores son incondicionalmente fatales y causan una terminación con código de salida distinto de cero; esto se debe a inconsistencias internas o a que el intérprete se queda sin memoria. Todos los mensajes de error se escriben en el flujo de errores estándar; las salidas normales de comandos ejecutados se escriben en la salida estándar.
Al ingresar el carácter de interrupción (por lo general Control-C o DEL) en el prompt primario o secundario, se cancela la entrada y retorna al prompt primario. 1 Tipear una interrupción mientras un comando se están ejecutando lanza la excepción KeyboardInterrupt, que puede ser manejada con una sentencia try.
Publicado por Unknown en 9:20 No hay comentarios:
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con FacebookCompartir en Pinterest
miércoles, 21 de enero de 2015
Se dice que estamos usando el intérprete en modo interactivo, cuando los comandos son leídos desde una terminal. En este modo espera el siguiente comando con el prompt primario, usualmente tres signos mayor-que (>>>); para las líneas de continuación espera con el prompt secundario, por defecto tres puntos (...). Antes de mostrar el prompt primario, el intérprete muestra un mensaje de bienvenida reportando su número de versión y una nota de copyright:
Python 2.6 (#1, Feb 28 2007, 00:02:06)
Type "help", "copyright", "credits" or "license" for more information.
Las líneas de continuación son necesarias cuando queremos ingresar un constructor multilínea. Como en el ejemplo, mirá la sentencia if:
>>> el_mundo_es_plano = 1
... print u"¡Tené cuidado de no caerte!"
¡Tené cuidado de no caerte!
Publicado por Unknown en 9:17 No hay comentarios:
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con FacebookCompartir en Pinterest
martes, 20 de enero de 2015
Cuando son conocidos por el intérprete, el nombre del script y los argumentos adicionales son entonces pasados al script en la variable sys.argv, una lista de cadenas de texto. Su longitud es al menos uno; cuando ningún script o argumentos son pasados, sys.argv[0] es una cadena vacía. Cuando se pasa el nombre del script con '-' (lo que significa la entrada estándar), sys.argv[0] vale '-'. Cuando se usa -c command, sys.argv[0] vale '-c'. Cuando se usa -m module, sys.argv[0] toma el valor del nombre completo del módulo. Las opciones encontradas luego de -c command o -m module no son
consumidas por el procesador de opciones de Python pero de todas formas almacenadas en sys.argv
para ser manejadas por el comando o módulo
Publicado por Unknown en 9:13 No hay comentarios:
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con FacebookCompartir en Pinterest
lunes, 19 de enero de 2015
Usando el intérprete de Python - II
Una segunda forma de iniciar el intérprete es python -c comando [arg] ..., que ejecuta las sentencias en comando, similar a la opción -c de la línea de comandos. Ya que las sentencias de Python suelen tener espacios en blanco u otros caracteres que son especiales en la línea de comandos, es normalmente recomendado citar comando entre comillas dobles. Algunos módulos de Python son también útiles como scripts. Pueden invocarse usando python -m module [arg] ..., que ejecuta el código de module como si se hubiese ingresado su nombre completo en la línea de comandos.
Publicado por Unknown en 9:11 No hay comentarios:
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con FacebookCompartir en Pinterest
domingo, 18 de enero de 2015
Usando el intérprete de Python - I
Invocando al intérprete Por lo general, el intérprete de Python se instala en file:/usr/local/bin/python en las máquinas dónde está disponible; poner /usr/local/bin en el camino de búsqueda de tu intérprete de comandos Unix hace posible iniciarlo ingresando la orden:
...en la terminal. Ya que la elección del directorio dónde vivirá el intérprete es una opción del proceso de instalación, puede estar en otros lugares; consultá a tu Gurú Python local o administrador de sistemas. (Por ejemplo, /usr/local/python es una alternativa popular).
En máquinas con Windows, la instalación de Python por lo general se encuentra en C:\Python26, aunque se puede cambiar durante la instalación. Para añadir este directorio al camino, podes ingresar la siguiente orden en el prompt de DOS:
Se puede salir del intérprete con estado de salida cero ingresando el carácter de fin de archivo (Control-D en Unix, Control-Z en Windows) en el prompt primario. Si esto no funciona, se puede salir del intérprete ingresando: import sys; sys.exit(). Las características para editar líneas del intérprete no son muy sofisticadas.
En Unix, quien instale el intérprete tendrá habilitado el soporte para la biblioteca GNU readlines, que añade una edición interactiva más elaborada e historia. Tal vez la forma más rápida de detectar si las características de edición están presentes es ingresar Control-P en el primer prompt de Python que aparezca. Si se escucha un beep, las características están presentes; ver Apéndice tut-interacting para una introducción a las teclas. Si no pasa nada, o si aparece ^P, estas características no están disponibles; solo vas a poder usar backspace para borrar los caracteres de la línea actual.
La forma de operar del intérprete es parecida a la línea de comandos de Unix: cuando se la llama con la entrada estándar conectada a una terminal lee y ejecuta comandos en forma interactiva; cuando es llamada con un nombre de archivo como argumento o con un archivo como entrada estándar, lee y ejecuta un script del archivo.
Publicado por Unknown en 9:05 No hay comentarios:
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con FacebookCompartir en Pinterest
sábado, 17 de enero de 2015
Si trabajás mucho con computadoras, eventualmente encontrarás que te gustaría automatizar alguna tarea. Por ejemplo, podrías desear realizar una búsqueda y reemplazo en un gran número de archivos de texto, o renombrar y reorganizar un montón de archivos con fotos de una manera compleja. Tal vez quieras escribir alguna pequeña base de datos personalizada, o una aplicación especializada con interfaz gráfica, o un juego simple. Si sos un desarrollador de software profesional, tal vez necesites trabajar con varias bibliotecas de C/C++/Java pero encuentres que se hace lento el ciclo usual de escribir/compilar/testear/recompilar.
Tal vez estás escribiendo una batería de pruebas para una de esas bibliotecas y encuentres que escribir el código de testeo se hace una tarea tediosa. O tal vez has escrito un programa al que le vendría bien un lenguaje de extensión, y no quieres diseñar/implementar todo un nuevo lenguaje para tu aplicación. Python es el lenguaje justo para ti. Podrías escribir un script (o programa) en el interprete de comandos o un archivo por lotes de Windows para algunas de estas tareas, pero los scripts se lucen para mover archivos de un lado a otro y para modificar datos de texto, no para aplicaciones con interfaz de usuario o juegos.
Podrías escribir un programa en C/C++/Java, pero puede tomar mucho tiempo de desarrollo obtener al menos un primer borrador del programa. Python es más fácil de usar, está disponible para sistemas operativos Windows, Mac OS X y Unix, y te ayudará a realizar tu tarea más velozmente. Python es fácil de usar, pero es un lenguaje de programación de verdad, ofreciendo mucho mucho mayor estructura y soporte para programas grandes que lo que lo que pueden ofrecer los scripts de Unix o archivos por lotes.
Por otro lado, Python ofrece mucho más chequeo de error que C, y siendo un lenguaje de muy alto nivel, tiene tipos de datos de alto nivel incorporados como arreglos de tamaño flexible y diccionarios. Debido a sus tipos de datos más generales Python puede aplicarse a un dominio de problemas mayor que Awk o incluso Perl, y aún así muchas cosas siguen siendo al menos igual de fácil en Python que en esos lenguajes. Python te permite separar tu programa en módulos que pueden reusarse en otros programas en Python. Viene con una gran colección de módulos estándar que puedes usar como base de tus programas, o como ejemplos para empezar a aprender a programar en Python. Algunos de estos módulos proveen cosas como entrada/salida a archivos, llamadas al sistema, sockets, e incluso interfaces a sistemas de interfaz gráfica de usuario como Tk. Python es un lenguaje interpretado, lo cual puede ahorrarte mucho tiempo durante el desarrollo ya que no es necesario compilar ni enlazar. El intérprete puede usarse interactivamente, lo que facilita experimentar con características del lenguaje, escribir programas descartables, o probar funciones cuando se hace desarrollo de programas de abajo hacia arriba.
Es también una calculadora de escritorio práctica. Python permite escribir programas compactos y legibles. Los programas en Python son típicamente más cortos que sus programas equivalentes en C, C++ o Java por varios motivos:
• los tipos de datos de alto nivel permiten expresar operaciones complejas en una sola instrucción
• la agrupación de instrucciones se hace por snagría en vez de llaves de apertura y cierre
• no es necesario declarar variables ni argumentos. Python es extensible: si ya sabes programar en C es fácil agregar una nueva función o módulo al intérprete, ya sea para realizar operaciones críticas a velocidad máxima, o para enlazar programas Python con bibliotecas que tal vez solo estén disponibles en forma binaria (por ejemplo bibliotecas gráficas específicas de un fabricante). Una vez que estés realmente entusiasmado, podés enlazar el intérprete Python en una aplicación hecha en C y usarlo como lenguaje de extensión o de comando para esa aplicación. Por cierto, el lenguaje recibe su nombre del programa de televisión de la BBC "Monty Python's Flying Circus" y no tiene nada que ver con reptiles. Hacer referencias a sketches de Monty Python en la documentación no solo esta permitido, ¡sino que también está bien visto! Ahora que ya estás emocionado con Python, querrás verlo en más detalle. Como la mejor forma de aprender un lenguaje es usarlo, el tutorial te invita a que juegues con el intérprete de Python a medida que vas leyendo. En el próximo capítulo se explicará la mecánica de uso del intérprete. Esta es información bastante mundana, pero es esencial para poder probar los ejemplos que aparecerán más adelante.
El resto del tutorial introduce varias características del lenguaje y el sistema Python a través de ejemplos, empezando con expresiones, instrucciones y tipos de datos simples, pasando por funciones y módulos, y finalmente tocando conceptos avanzados como excepciones y clases definidas por el usuario.
Publicado por Unknown en 8:59 No hay comentarios:
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con FacebookCompartir en Pinterest
viernes, 16 de enero de 2015
Python es un lenguaje de programación poderoso y fácil de aprender. Cuenta con estructuras de datos eficientes y de alto nivel y un enfoque simple pero efectivo a la programación orientada a objetos. La elegante sintaxis de Python y su tipado dinámico, junto con su naturaleza interpretada, hacen de éste un lenguaje ideal para scripting y desarrollo rápido de aplicaciones en diversas áreas y sobre la mayoría de las plataformas.
El intérprete de Python y la extensa biblioteca estándar están a libre disposición en forma binaria y de código fuente para las principales plataformas desde el sitio web de Python, http://www.python.org/, y puede distribuirse libremente.
El mismo sitio contiene también distribuciones y enlaces de muchos módulos libres de Python de terceros, programas y herramientas, y documentación adicional.
El intérprete de Python puede extenderse fácilmente con nuevas funcionalidades y tipos de datos implementados en C o C++ (u otros lenguajes accesibles desde C). Python también puede usarse como un lenguaje de extensiones para aplicaciones personalizables. Este tutorial introduce de manera informal al lector a los conceptos y características básicas del lenguaje y el sistema de Python. Es bueno tener un interprete de Python a mano para experimentar, sin embargo todos los ejemplos están aislados, por lo tanto el tutorial puede leerse estando desconectado.
Para una descripción de los objetos y módulos estándar, mira la Referencia de la Biblioteca de Python. El Manual de Referencia de Python provee una definición más formal del lenguaje. Para escribir extensiones en C o C++, lee Extendiendo e Integrando el Intérprete de Python y la Referencia de la API Python/C. Hay también numerosos libros que tratan a Python en profundidad.
Este tutorial no pretende ser exhaustivo ni tratar cada una de las características, o siquiera las características más usadas. En cambio, introduce la mayoría de las características más notables de Python, y te dará una buena idea del gusto y estilo del lenguaje.
Luego de leerlo, serás capaz de leer y escribir módulos y programas en Python, y estarás listo para aprender más de los variados módulos de la biblioteca de Python descriptos en la Referencia de la Biblioteca de Python.
Publicado por Unknown en 8:58 No hay comentarios:
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con FacebookCompartir en Pinterest
lunes, 12 de enero de 2015
Ejemplo de extend() de jQuery
Veamos cómo funciona jQuery.extend() a través de un sencillo ejemplo.
var a = {
var b = {
En este caso extend() recibe dos parámetros, que son dos objetos. Por tanto, mete las opciones del segundo objeto en el primero. Después de la llamada a extend(), el objeto del primer parámetro tendrá sus propiedades más las propiedades del objeto del segundo parámetro. Si alguna de las opciones tenía el mismo nombre, al final el valor que prevalece es el que había en el segundo parámetro. Así pues, después de su ejecución, el objeto definido en la variable "a" tendrá estos datos:
Esto quizás parezca que no sirve para mucho, pero en jQuery se utiliza bastante por ser una manera cómoda de mezclar dos cosas en una. El caso más claro es mezclar los objetos de "options" para configurar un plugin, pero realmente es una acción que encontraremos por ahí varias veces. De alguna manera, hacer un extend() es como hacer que un objeto herede las cosas de otro, lo que lo convierte en un mecanismo que podrá venir bien en diversos contextos. Para ver otros ejemplos de extend() consultar el Manual de jQuery, en la sección donde se habla de la configuración de opciones en plugins en jQuery.
Publicado por Unknown en 5:30 No hay comentarios:
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con FacebookCompartir en Pinterest
domingo, 11 de enero de 2015
Vamos a ofrecer una referencia rápida para el método jQuery.extend(), que nos ofrece una utilidad para mezclar mezclar varios objetos en uno, es decir, colocar los contenidos de todos esos objetos en uno de ellos.
El método extend pertenece a la clase jQuery, y se invoca directamente sobre ella, como si fuera un método estático de programación orientada a objetos. Como en jQuery la variable $ es un atajo de la variable jQuery, podríamos invocar a este método con estas dos posibilidades de código:
Estos dos ejemplos de código harían exactamente lo mismo, colocar en el objeto "x" todos los contenidos de los objetos
"x", "y" y "z". El método extend() puede recibir cualquier número de parámetros y siempre pondrá todos los contenidos de los objetos en el objeto recibido en el primer parámetro.
Publicado por Unknown en 5:29 No hay comentarios:
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con FacebookCompartir en Pinterest
sábado, 10 de enero de 2015
Ejemplo jQuery para encolar funciones que no son efectos
Ahora podemos ver un ejemplo completo en el que encolamos varios tipos de funciones. Algunas son funciones de efectos,
que no necesitamos que hacer nada para que se encolen y otras son funciones normales, que tenemos que encolar
Tenemos este código HTML:
Hacer una cola de ejecución con funciones que no son efectos
Como se puede ver, hay un botón y una capa. La capa nos servirá para animarla y el botón para comenzar la animación en el
momento que lo pulsemos. Veamos entonces el código del evento click que asociaremos a ese botón y que encolará varias
funciones, unas de efectos y otras funciones normales.
//encolo directamente funciones que son efectos
//para encolar otras funciones utilizo queue()
"border": "3px solid #339",
$("#botoncomenzar").text("Acabo de ponerle el borde... ");
$("#botoncomenzar").text("Quitado el borde... ");
//el parámetro continua es una función que lleva al siguiente paso de la cola (jpara Query
El resultado de ejecutar este código Javascript se puede ver en una página aparte.
En el siguiente artículo veremos el último uso que nos queda por explicar del método queue() y de paso, otro método
interesante, stop(), que sirve para detener la ejecución de una cola.
Publicado por Unknown en 5:27 No hay comentarios:
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con FacebookCompartir en Pinterest
viernes, 9 de enero de 2015
queue( [ nombreCola ], callback( continua ) )
El juego de parámetros con el que tenemos que llamar al método queue() para encolar cualquier tipo de función es el siguiente:
• Primer parámetro nombreCola, que es opcional, se indica el nombre de la cola donde encolar una función. Si no se indica nada, o si se indica el nombre de la cola predeterminada "fx", se encola esa función en la cola por defecto que gestiona jQuery por nosotros. Si se indica cualquier valor distinto de "fx" se encolará en esa cola que estemos indicando.
• El segundo parámetro es la función que se desea encolar. Al encolarla se coloca como última de las funciones a ejecutar de la cola, por tanto, se tendrán que ejecutar todas las funciones encoladas anteriormente antes de llegar a ésta que estamos introduciendo. A continuación podemos ver un código de ejemplo en el que encolamos una función, que no es de efectos, en la cola de efectos predeterminada.
"border": "3px solid #339",
//cualquier otro código jQuery....
//llamamos al siguiente paso de la cola
Como se puede ver, se llama a queue() indicando la función que deseamos encolar. Ésta tiene la llamada a un método, css(), que no es un método de efecto animado y que no se encolaba de manera predeterminada como sí lo hacían las funciones de efectos. Además, luego podríamos tener un número indeterminado de instrucciones jQuery, tantas como se desee. Lo que es importante es que, al final del código de esta función, se debe invocar explícitamente al siguiente paso de la cola. Esto lo hacemos con una llamada al método dequeue() que aun no habíamos visto. Si no llamamos a este método, ocurriría que la cola se detendría y no continuaría la ejecución de otras funciones encoladas en el caso que las hubiera.
Nota: El método dequeue() puede recibir un parámetro que es el nombre de la cola que se debe continuar ejecutándose. Si no indicamos ninguna cola o indicamos el valor "fx", la cola que seguirá procesándose es la cola por defecto. Más adelante explicaremos cómo trabajar con colas distintas de la cola por defecto. A partir de jQuery 1.4 existe otra posibilidad de trabajo con las colas y es que a partir de esa versión del framework, la función que estamos encolando recibe un parámetro (que nosotros hemos llamado "continua") que es la función siguiente de la cola. Este parámetro nos serviría para continuar la cola sin tener que ejecutar el método dequeue(). Podemos ver un ejemplo a continuación.
alert("Hola, esto es un código cualquiera");
//el parámetro continua es una función para ir al siguiente paso de la cola
Publicado por Unknown en 5:24 No hay comentarios:
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con FacebookCompartir en Pinterest
jueves, 8 de enero de 2015
Meter cualquier tipo de función en una cola de efectos jQuery
En la cola de efectos podemos introducir cualquier tipo de función, aunque no sean efectos jQuery, y para ello vamos a aprender a encolar cualquier conjunto de sentencias con el método queue().
En estos momentos se supone que sabemos cómo introducir funciones de efectos en las colas de efectos de jQuery, ya que en los artículos anteriores del Manual de jQuery ya habíamos comenzado a analizar cómo funcionaban. Pero ¿Qué pasa si queremos encolar otro tipo de función Javascript o jQuery? Como sabemos hasta ahora, las funciones de efectos se encolan ellas mismas sin que tengamos que hacer nada, pero si se trata de otro tipo de función la situación cambia un poco, pues tendremos que encolarla nosotros mismos explícitamente y para ello tendremos que utilizar el método queue() de jQuery.
Nota: El método queue() funciona de maneras distintas dependiendo de los parámetros que le enviemos. En el anterior artículo ya empezamos a explicar cómo utilizar queue() para acceder a una cola de efectos.
Publicado por Unknown en 5:19 No hay comentarios:
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con FacebookCompartir en Pinterest
miércoles, 7 de enero de 2015
Método queue([nombreCola]) - III
Podemos ver el código completo de este ejercicio.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
Cola de efectos por defecto en jQuery
font-family: tahoma, verdana, sans-serif;
var numFuncionesEnCola = $("#micapa").queue().length;
$("#mensaje").text("En el momento de hacer el último clic en los botones hay " +
numFuncionesEnCola + " funciones de efectos en cola");
Muestra y luego oculta con fadeIn y fadeOut
Muestra y luego oculta con slideUp slideDown
Muestra el número de funciones en cola ahora mismo
En estos momentos no hay funciones de efectos en la cola por defecto.
Pulsa repetidas veces los botones de arriba para ir metiendo funciones en
Ahora, para acabar, podemos ver el ejercicio en marcha en una página aparte.
En el siguiente artículo continuaremos con el trabajo con colas de efectos y aprenderemos a encolar funciones que no son las de efectos de jQuery, de modo que podramos meter nuestras propias funciones en la cola, con cualquier tipo de instrucción.
Publicado por Unknown en 5:16 No hay comentarios:
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con FacebookCompartir en Pinterest
martes, 6 de enero de 2015
Método queue([nombreCola]) - II
Luego tenemos una capa para mostrar mensajes y otra con id="micapa" que será el DIV que vamos a animar con los efectos.
Así podremos definir el evento onclick del primer botón:
Así podemos definir el evento onclick del segundo:
Estos dos botones, como se puede ver, ejecutan efectos sobre "micapa" y el resultado es que, a medida que pulsamos los botones repetidas veces, los efectos se van encolando.
Podemos pulsar tantas veces como queramos y se irán encolando más y más efectos en la cola predeterminada. Al ejecutar estos eventos click, como última sentencia hay una llamada a la función muestraRestantesCola(), que veremos ahora mismo. Pero antes veamos el tercer botón, que sirve para mostrar el número de elementos de la cola predeterminada.
Como se ve, se llama a la función muestraRestantesCola(), que simplemente accede a la cola para saber el número de
funciones de efectos encoladas en un momento dado. Su código es el siguiente:
var numFuncionesEnCola = $("#micapa").queue().length;
$("#mensaje").text("En el momento de hacer el último clic en los botones hay " +
numFuncionesEnCola + " funciones de efectos en cola");
En la primera sentencia se accede al la cola predeterminada del elemento con id="micapa", lo que nos devuelve un array, al que luego se accede a su propiedad "length" para saber el número de elementos que contiene. Con esto averiguamos el número de funciones encoladas en un momento dado. Luego se muestra ese número en la capa con id="mensaje".
Publicado por Unknown en 5:13 No hay comentarios:
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con FacebookCompartir en Pinterest
lunes, 5 de enero de 2015
Método queue([nombreCola]) - I
Si llamamos al método queue() sin parámetros o pasándole una cadena con el nombre de una cola, nos devolverá un array con cada una de las funciones que están encoladas en ese momento. Si no indicamos parámetros a queue() estamos indicando que nos pase la lista de eventos encolados en la cola predeterminada. Si se indica un parámetro de tipo cadena, que sería el nombre de la cola a examinar, lo que nos devuelve es el array de funciones de la cola con nombre indicado en el parámetro.
Nota: El nombre de la cola predeterminada es "fx", por lo que llamar a la función:
Tendría el mismo efecto que llamarla sin parámetros.
Veremos un ejemplo sencillo de esta posible invocación del método queue() y además, aparte vamos a ver que se pueden encolar funciones en la cola tantas veces como queramos, aunque la cola esté en marcha. El efecto es que esas funciones encoladas posteriormente se quedarán al final de la cola y se ejecutarán cuando el resto de la cola se haya ejecutado. Si lo deseamos, antes de ponernos a comentar este ejemplo, podemos ver el ejercicio en marcha que vamos a construir.
Tenemos el siguiente HTML, que incluye varios elementos:
Muestra y luego oculta con fadeIn y fadeOut
Muestra y luego oculta con slideUp slideDown
Muestra el número de funciones en cola ahora mismo
En estos momentos no hay funciones de efectos en la cola por defecto.
Pulsa repetidas veces los botones de arriba para ir metiendo funciones en la
Como se puede ver tenemos tres botones. Uno sirve para agregar funciones en la cola para hacer efectos fadeIn() y fadeOut(), el segundo para agregar a la cola funciones de efectos slideUp() y slideDown() y el tercero para mostrar la longitud de la cola en un momento dado.
Publicado por Unknown en 5:12 No hay comentarios:
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con FacebookCompartir en Pinterest
domingo, 4 de enero de 2015
Método queue() para acceder a una cola de efectos
Veremos cómo hacer cosas con las colas de efectos en jQuery, haciendo nuestra primera prueba con el método queue(), que permite acceder y modificar la cola de efectos.
En el artículo anterior del Manual de jQuery empezamos a hablar sobre las colas de efectos. Vimos que crear una cola de efectos es una tarea muy sencilla, básicamente porque jQuery gestiona de manera automática la cola de efectos predeterminada. Ahora queremos comenzar a mostrar cómo podemos trabajar nosotros mismos con estas colas de efectos y modificar su comportamiento. Para ello vamos a ver el método más importante que tenemos que conocer para trabajar con las colas de efectos de jQuery: queue().
Como muchos otros métodos de este framework Javascript, queue() permite su invocación con distintos juegos de parámetros, por lo que, dependiendo de los valores que le pasemos a la función hará unas cosas u otras. Comenzaremos con el uso más simple y luego iremos complicando los ejercicios en futuros artículos.
Publicado por Unknown en 4:59 No hay comentarios:
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con FacebookCompartir en Pinterest
sábado, 3 de enero de 2015
Ejemplo de ejecución de efectos en la cola predeterminada de jQuery
Vamos lanzar varios efectos sobre una capa y veremos como ellos mismos se ejecutan en el orden como los hemos invocado.
Tendremos un elemento DIV, como este:
Esta capa que se va a animar, en un bucle infinito...
Ahora podemos ver una función que realiza la invocación a varios efectos jQuery:
Habría que fijarse que la última de las funciones de efecto invocadas hace una llamada a esta misma función, por medio de un callback, por lo que, cuando terminen de ejecutarse todos los efectos, se volverá a invocar a la función y se producirá así un bucle infinito, donde se repetirá todo el tiempo la misma secuencia de efectos.
Y ahora podemos poner en marcha esta función cuando la página esté lista:
El resultado del ejercicio completo se puede ver en una página aparte.
Con esto hemos hecho nuestro primer ejemplo de cola de efectos. Ha sido fácil, no? Pero claro que a partir de aquí la cosa se puede complicar todo lo que deseemos, o necesitemos. En el próximo artículo empezaremos a explicar el modos existentes en jQuery para alterar las colas de efectos, para hacer cosas como detenerlas, analizarlas, cargar funciones de otros tipos para ejecutar en la cola, etc.
Publicado por Unknown en 4:54 No hay comentarios:
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con FacebookCompartir en Pinterest
viernes, 2 de enero de 2015
Cola de efectos por defecto
Cuando invocamos varias funciones de efectos de las disponibles en jQuery, éstas se van introduciendo en una cola de efectos predeterminada, llamada "fx". Cada elemento de la página tiene su propia cola de efectos predeterminada y funciona de manera automática. Al invocar los efectos se van metiendo ellos mismos en la cola y se van ejecutando automáticamente, uno detrás de otro, con el orden en el que fueron invocados.
Las funciones de efectos, una detrás de otra, se invocan en un instante, pero no se ejecutan todas a la vez, sino que se espera que acabe la anterior antes de comenzar la siguiente. Por suerte, jQuery hace todo por su cuenta para gestionar esta cola.
Como decimos, cada elemento de la página tiene su propia cola de efectos y, aunque incluso podríamos crear otras colas de efectos para el mismo elemento, en la mayoría de los casos tendremos suficiente con la cola por defecto ya implementada
Publicado por Unknown en 4:53 No hay comentarios:
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con FacebookCompartir en Pinterest
Entradas más recientes Entradas antiguas Inicio
Suscribirse a: Entradas (Atom)
Java dispone del operador incremento (++) y decremento (--). El operador (++) incrementa en una unidad la variable a la que se aplica, mien...
Los Wrappers (envoltorios) son clases diseñadas para ser un complemento de los tipos primitivos. En efecto, los tipos primitivos son los ún...
Redefinición de métodos heredados
Una clase puede redefinir (volver a definir) cualquiera de los métodos heredados de su super-clase que 110 sean final. El nuevo método sust...
La localización mas adecuada para una nueva unidad productiva debe orientarse hacia los mismos objetivos que el tamaño óptimo, es decir haci...
Maps y SortedMaps - Part 1
Un Map es una estructura de datos agrupados en parejas clave/valor. Pueden ser considerados como una tabla de dos columnas. La clave debe ...
Técnicas para Recopilación de Antecedentes
Para obtener antecedentes como las que acabamos de mencionar se han desarrollado técnicas de distinto grado de complejidad. Estas técnicas...
Clases TextArea y TextField
Ambas componentes heredan de la clase TextComponent y muestran texto seleccionable y editable. La diferencia principal es que TextField sól...
LECTURA DE UN ARCHIVO EN UN SERVIDOR DE INTERNET
Teniendo la dilección de Internet de un archivo, la librería de Java permite leer este archivo utilizando 1111 stream. Es una aplicación mu...
Insertar un manejador de evento a la etiqueta A (enlace) que hay en la página
Ahora que ya sabemos cómo y cuando debemos ejecutar las acciones de jQuery que alteren la funcionalidad, contenidos o aspecto de la página,...
Recordemos cómo será la creación de una base de datos con SQL:
1) En primer lugar, tendremos que dar nombre a la base de datos, con la sentencia CREATE DATABASE, si la hay, o con CREATE SCHEMA. 2) A con...
Usar Python como una calculadora - IV
Usar Python como una calculadora - III
Usar Python como una calculadora - II
Usar Python como una calculadora - I
Una introducción informal a Python
El archivo de inicio interactivo
Codificación del código fuente
Programas ejecutables de Python
El intérprete y su entorno
Usando el intérprete de Python - II
Usando el intérprete de Python - I
Ejemplo de extend() de jQuery
Ejemplo jQuery para encolar funciones que no son e...
queue( [ nombreCola ], callback( continua ) )
Meter cualquier tipo de función en una cola de efe...
Método queue([nombreCola]) - III
Método queue([nombreCola]) - II
Método queue([nombreCola]) - I
Método queue() para acceder a una cola de efectos
Ejemplo de ejecución de efectos en la cola predete...
Cola de efectos por defecto
Acerca de Este Blog
Mi lista de blogs
NOTICIAS DE TECNOLOGIA Y TELECOMUNICACIONES
Honor Las ventajas de comprar un smartphone con servicio técnico y garantía en Bolivia - HONOR se apega a los estándares de calidad más exigentes de la industria global. Además, brinda un sistema de asistencia personalizado para entregar la ...
Rata de bombeo y eficiencia - Calculo de eficiencia de las bombas - Bomba Triplex - Volumen del cilindro = π.r².L Pi, conversión de radio a diámetro, unidades de conversión y el numero de cámaras son todas calculadas por la siguientes e...
LO QUE SE DE BLOGS
Video CONFIGURA TU ROUTER TP-LINK WR940N COMO REPETIDOR SIN CABLES 100% Inhalambrico -
Telefonos Moviles y Aplicaciones
Video Desayuno de Samsung para los Periodistas, los Galaxy S20 -
Lentes inteligentes que cambian su graduación - Cuando se alcanza cierta edad, la vista comienza a fallar. Muchas personas también sufren problemas de visión de nacimiento, o por una lesión. Si ves mal d...