Personal tools
You are here: Home Documentación Charlas en el Chat Introducción al Lenguaje de Programación Python
Document Actions

Introducción al Lenguaje de Programación Python

by Lorenzo Gil Sanchez last modified 23-10-2004 11:15 PM

Imparte: Lorenzo Gil Sánchez. Fecha: 21 de Enero de 2003

Titulo de la charla: Introduccion al lenguaje de programacion Python.
Impartida por: Lorenzo Gil Sanchez
Licenciado en Ingenieria Informatica por la Universidad de Granada.
Hora: 22:00 (21:00 UTC)
Lugar: canal #gcubo irc.freenode.net
Para mas informacion visita: http://www.gcubo.org
lgscuando quieras tar
--- tar fija modo +m #gcubo
--- tar ha cambiado el tópico a: #gcubo GCUBO -- Grupo de Usuarios y Desarrolladores de Software Libre en Granada | http://www.gcubo.org | Charla: Introduccion a Python, por Lorenzo Gil Sanchez | 22:00 (21:00 UTC) preguntas a tar
tarbuenas noches a todos
taresta noche la charla será sobre python
taruna pequeña introcduccion para aquellos q no tenemos mucha idea sobre el mismo
tarla impartirá Lorenzo Gil Sanchez
tarIngeniero informatico y miembro de gcubo
taren caso de alguna pregunta debeis dirigiros a mi
taren caso de mi ausencia por cualquier motivo dirigiros a NinaNutz
tarbuenas noches Loren, cuando quieras
lgsgracias tar
lgs      Python es un lenguaje de programación interpretado, orientado a objetos, de alto nivel, que tiene semánticas dinámicas. Dispone de estructuras de datos de alto nivel y tipos y ligaduras dinámicos.
lgs      Sin embargo, probablemente nada de esto os interese ahora mismo. Lo que os interesa saber es que Python es el lenguaje más sencillo de aprender y esto no le quita potencia en absoluto.
lgs      Y lo que es más importante, su nombre procede del genial grupo cómico inglés Monty Python.
lgs      Python nació en 1989 de la mano de Guido van Rossum y ya va por su versión 2.2.2. Su licencia es muy parecida a la BSD, es decir, impone menos restricciones que la conocida licencia libre GPL.
lgs      Es un lenguaje con mucho crecimiento como lo demuestra que empresas como Google esten buscando programadores en Python. (http://www.python.org/Jobs.html)
lgs      Para terminar la introduccion, las principales razones para usar Python son portabilidad, facilidad de uso y su genial libreria estandar.
lgsPara los que nunca han programado, una librería es un conjunto de módulos ya programados que los puedes utilizar en tus programas
lgsAhora os cuento los pasos necesarios para instalaros en entorno de programación Python
lgsperdon, EL entorno de programación Python
--> nauj27 (~nauj27@245.Red-80-36-17.pooles.rima-tde.net) ha ingresado en #gcubo
--- ChanServ da estatus de operador de canal a nauj27
lgs      Python esta disponible en númerosas plataformas, como Linux, Windows, DOS, OS/2, Mac, Amiga....
--- tar elimina estatus de operador de chanal de nauj27
--- ChanServ da estatus de operador de canal a nauj27
lgs      Si usas Linux es muy probable que ya esté incluido en tu distribución ya que la mayoria de las distribuciones lo estan usando en sus programas de administración. En cualquier caso escribe
lgs      python -V
tar<bitland> ¿puedes explicar mejor que es interpretado y lo de semánticas dinámicas?
lgs      desde la shell para ver si lo tienes instalado.
--> dax5 (dax5@cliente-217216120231.cm128.grnpb.supercable.es) ha ingresado en #gcubo
lgshay dos tipos de lenguajes de programación
lgslos compilados y los interpretados
lgspor ejemplo C es un lenguaje compilado
lgstu escribes un programa en C y al compilarlo se convierte en un archivo con ceros y unos
lgsque solo el ordenador entiende
lgsun lenguaje interpretado necesite de un programa auxiliar
lgsllamado interprete
lgsque va leyendo tu programa y ejecutando las cosas que pone en dicho programa
lgsen cuanto a lo de semanticas dinamicas quiero decir que el tipo de una variable puede ir cambiando
lgsdurante el transcurso de la ejecucion del programa
lgspero no os preocupeis si no entendeis estas cosas
lgsno os van a hacer falta en absoluto
lgsbueno, sigo
lgssi escribes desde la shell, python -V
lgsos dira la version de Python que teneis instalada
lgso un error si no la teneis
lgs      Si no fuera asi basta con hacer un apt-get install python desde Debian o utilizar una de las utilidades de instalación de paquetes de Redhat, Mandrake o Suse. Si todo lo anterior falla siempre puedes bajarte las fuentes y compilarlo, como decía Sid Vicious; do it yourself (hazlo tu mismo).
lgs      Si utilizas Windows solo tienes que instalar este archivo http://www.python.org/ftp/python/2.2.2/Python-2.2.2.exe.
lgspara tener todo lo necesario para programar en Python
lgsy ya nos dejamos de charla y vamos a empezar a programar
lgs      En el mundo de la programación es casi obligatorio empezar a enseñar un lenguaje con el programa "Hola Mundo".
lgs      Este útil programa se limita a imprimir un mensaje en el ordenador que diga "Hola Mundo".
lgs      Para ello abrimos un editor de texto y escribimos la siguiente línea:
--> Esqizo (AMD@cliente-217216123035.cm128.grnpb.supercable.es) ha ingresado en #gcubo
lgs      print "Hola Mundo"
lgs      Ahora lo salvamos como "hola.py" (sin las comillas) y lo ejecutamos desde la shell (Linux) o una ventana MS-DOS (Windows) escribiendo
lgs       python hola.py
lgscomo veis, aqui el programa interprete se llama python y nuestro programa se llama hola.py
lgspython leerá nuestro archivo e irá ejecutando lo que se vaya encontrando
lgsen este caso, la salida de nuestro programa es:
lgsHola Mundo
lgs      De todas formas hay trucos para evitar tener que poner python antes de nuestro programa, como poner el texto #!/usr/bin/env python al principio de hola.py y dandole permisos de ejecución o, si usamos Windows, basta con doble click en el icono de hola.py (aunque puede que no nos de tiempo a ver la salida del programa)
lgsY ahora pasamos a cosas más útiles
lgs      Lo más importante cuando se programa en Python es que hay que pensar casi en pseudocódigo. Así, ¿cuántas veces hemos querido intercambiar los valores de dos variables x e y?
lgsen otros lenguajes si tenemos las variables x e y debemos hacer algo así
lgstmp = x;
lgsx = y;
lgsy = tmp;
lgses decir, necesitamos una variable auxiliar
lgsen Python podemos hacer algo como:
lgs      x, y = y, x
lgsque se lee como, mete en x el contenido de la variable y, y al mismo tiempo mete en y el contenido de la variable x
lgsEsto se acerca bastante a cómo estamos acostumbrados a pensar
lgsCada variable tiene un tipo concreto, es decir puede almacenar datos de un determinado tipo:
lgsa = 55
lgsb = "texto"
lgscomo veis a es una variable de tipo número entero y b es una variable de tipo cadena de carácteres
lgsAhora viene lo de semánticas dinámicas, bitland
lgsEn Python podemos hacer lo siguiente:
lgs      mivariable = "soy una cadena de texto"
lgs      mivariable = 666
lgs      mivariable = "ahora soy otra vez una cadena"
lgscomo veis, hemos cambiado el tipo de la variable mivariable dos veces
lgses más, en otros lenguajes hay que especificar el tipo de una variable, en Python no es necesario
lgs      Como en C, C++, Java el operador = se usa para asignar algo a una variable y el operador == se usa para comprobar si dos variables son iguales.
lgsasi si la variable P vale 5 y la variable Q vale 10
lgsP == Q
lgsdevolverá falso
lgso lo que es lo mismo, un 0
lgsen Python, como en otros muchos lenguajes, el 0 se interpreta como falso y el 1 como verdadero
lgsPasemos a las estructuras de control, algo imprescindible para hacer programas verdaderamente útiles
lgs      En Python amigos, no hay llaves. Para los bloques se usa la identacion. Aqui podemos ver algunas estructuras de control comunes:
lgsveamos ejemplos
lgs      if x < 5 or (x > 10 and x < 20):
lgs          print "El valor es correcto."
lgsesto quiere decir lo siguiente: si el valor de la variable x es menor que 5 o
lgses mayor que 10 y menor que 20
lgsentonces imprime el mensaje "El valor es correcto"
--> DrNACHETE (sRsRa@cliente-217216210049.uBRgra01.supercable.es) ha ingresado en #gcubo
lgscuando digo que en Python no hay llaves me refiero a que lo normal en muchos otros lenguajes hubiera sido poner
lgsif x < 5 or (x > 10 and x < 20)
lgs{
lgs    print "El valor es correcto"
lgs}
--- nauj27 elimina estatus de operador de chanal de nauj27
lgses decir delimitamos el trozo de codigo que queremos que se ejecute si la condición del if es verdadera con un par de llaves
lgsPython ha sido muy criticado (y alabado) por mandar las llaves a tomar viento
lgsen Python los bloques se indican con la indentacion
lgsveamos más ejemplos
lgs      if x < 5 or 10 < x < 20:
lgs          print "El valor es correcto."
lgsesta es otra forma más sencilla y legible de poner el ejemplo anterior
lgs      for i in [1,2,3,4,5]:
lgs          print "Pasada numero", i
lgseste trozo de codigo es lo que se llama un bucle
tar<bitland> pero eso es muy peligroso, ¿con qué formato habría que guardar los archivos para que no se destrozase la estructura de identación si pasan de un So a otro?
lgsel formato recomendado por Guido es los espacios
lgspero se pueden usar tabuladores si quieres
lgsla unica regla importantísima es
lgsque en un mismo fichero no puedes mezclar tabuladores con espacios
lgshoy en día cualquier editor de programación comprueba eso
lgspero sí, bitland, una de las criticas era que a veces había errores muy dificiles de detectar
lgspor eso mismo que tu dices
lgspero sabiendolo, es fácil hacerlo bien
lgsbueno, sigo con los bucles
lgsun bucle lo que hace es ejecutar varias veces el código que se encuentre en su cuerpo
lgsen el caso anterior el cuerpo del bucle es
lgs     print "Pasada numero", i
lgslo que hace el bucle for es ir dandole los valores de la lista de la derecha a la variable i
lgspor lo que la salida de ese programa sería algo así como
lgsPasada numero 1
lgsPasada numero 2
lgsPasada numero 3
lgsPasada numero 4
lgsPasada numero 5
lgsVeamos otro tipo de bucle en otro ejemplo
lgs      while x >= 10:
lgs          print "x aun no es negativo"
lgs          x = x - 1
lgscomo veis el cuerpo de un bucle puede estar formado por más de una linea
lgseste bucle se ejecuta mientras la condición x >= 10 sea cierta
lgsy como veis en cada pasada del bucle, decrementamos la variable x en uno
lgsalguién le ve un fallo gordo a ese código?
lgstic tac tic tac
lgsesta bien
lgssi no inicializamos la variable x antes del bucle
lgsno sabemos cuantas vueltas dará ese bucle
lgsimaginate que x valiera 3 billones y pico
lgsnos saldría barba antes de que el programa terminara
lgsbueno sigamos con más cosas
lgs      ¡Ah! se me olvidaba, los comentarios se ponen con el simbolo # y son comentarios de linea.
lgsnormalmente se ponen comentarios en un programa para que sean más legibles
lgsasí si ponemos la línea
lgs# ahora voy a hacer el algoritmo de gram schmitt
lgspython se la salta y la ignora
lgsme avisa tar que más de uno sabía la respuesta a la pregunta de antes
lgspero he sido muy rápido
lgs      No me gusta que no sea posible poner comentarios de bloque pero al menos podemos poner cadenas que ocupen mas de una linea usando la triple comilla.
lgspor ejemplo:
lgs      uso = """Uso de miprograma:
lgs               miprograma [opciones] entrada salida
lgs               donde opciones puede ser ....
lgs      """
lgs      Esto es bastante util para instrucciones de uso, por poner un ejemplo:
lgsnormalmente muchos programas que se usan desde la linea de comandos
lgscomo el tipico ls
lgsnecesitan guardar las instrucciones de uso de alguna forma
lgscon la triple comilla de Python es bastante sencillo
lgs      Como habeis visto antes, el bucle for recorria los elementos de una lista.
lgslo recuerdo
tar<bitland> ¿se pueden hacer entonces programas con gui para cualquier plataforma y existen compiladores a pesar de ser interpretado?
lgs      for i in [1,2,3,4,5]:
lgs          print "Pasada numero", i
lgs[1,2,3,4,5] es una lista
lgsse pueden hacer programas con gui para cualquier plataforma
lgspero no entiendo eso de si existen compiladores a pesar de ser interpretado
lgshay una utilidad para windows
lgsque se llama py2exe
lgsque convierte un programa en python en un .exe
lgspero no es exactamente un compilador
--- tar da voz a bitland
lgsy hay una utlidad en la distribución estandar de python
bitlandlgs: dices que necesita de un interprete para su ejecución, ¿se pueden ejecutar sin ayuda de uno?
lgsllamada freeze
lgsque hace lo mismo
lgssi se puede bitland
lgspero te aviso de que no es sencillo
lgssi tu programa es complejo y usa muchas librerías
lgsprobablemente tengas problemas
lgspara programas pequeños no hay problemas
lgspero por ejemplo lo que hace el py2exe
lgses hacer un ejecutable gigantesco, que tiene el interprete de python metido dentro
lgsuna chapucilla, vamos
lgste he contestado bitland?
bitlandsip :-)
--- tar retira voz de bitland
lgssigamos
lgs      Otra de las ventajas de Python es que nos ofrece estructuras de datos muy utiles como las listas, las tuplas, los diccionarios.... Por supuesto tambien tenemos enteros, reales y cadenas. No hay caracteres (son cadenas de longitud 1), pero si tenemos complejos "de fabrica".
lgstodos esos son algunos de los tipos básicos de Python
lgsejemplos de listas, tuplas y diccionarios:
lgs      milista = [pepe, manzanas, 23, [peras, "coconut"]] # quien dijo que no se mezclaran manzanas con peras?
lgs      unatupla = ("uno", "dos", "tres")
lgs      # cuanto pesa laurita?
lgs      respuesta = pesos["laurita"]
lgs      pesos = { "pepito" : "40 kg", "jaimito" : "38 kg", "laurita" : "32 kg" }
lgsperdon he copiado la linea de pesos despues de la pregunta de laurita
lgscosas de emacs
lgscomentarios sobre estas lineas: una lista puede contener cosas que no sean del mismo tipo
lgsincluso puede contener listas dentro de ella misma
lgspara acceder al primer elemento de milista pondriamos
lgsmilista[0]
lgsal segundo seria milista[1]
lgsotra pregunta para el que se ha quedado con ganas antes
lgscomo le asignaria a la variable pepito el valor "coconut"
lgsusando 'milista'?
lgsahora dejo mas tiempo
lgsveamos, doy pistas
lgspepito = ....
lgspepito = milista[3]....
lgsnadie?
tar<bitland> pepito = milista[3,1] 0-)
lgscasi bitland
lgste has acercado mucho
lgsseria asi
lgspepito = milista[3][1]
lgsveamos, milista[3] es igual a [peras, "coconut"]
lgses como si hicieramos
lgsotralista = milista[3]
lgsy luego
lgspepito = otralista[1]
lgses sólo cuestión de práctica
lgslas listas de Python son extremadamente fáciles de usar
lgsy las tuplas y los diccionarios son muy parecidos
lgs      Python hace una separacion entre tipos mutables y tipos inmutables, asi, podemos modificar las listas y los diccionarios, pero no las tuplas, las cadenas o los enteros.
lgses decir, podemos meter más cosas en una lista o borrar elementos de un diccionario
lgspero no podemos cambiar de longitud una tupla o cambiar el caracter número 3 de una cadena
lgs      Ojo, una cosa es que no podamos modificar la tupla (manzana, pera, platano) y otra muy distinta es que podamos modificar las variables que la componen.
lgs      Mas cosas. Si queremos usar el bucle for como toda la vida se ha hecho (me refiero a otros lenguajes), podemos usar la funcion range, que devuelve una lista:
lgs      # imprime los valores desde el 2 al 20 con incrementos de 3
lgs      for i in range(2, 20, 3):
lgs          print i
lgsla lista que devuelve range(2, 20, 3) sería
lgs[2, 5, 8, 11, 14, 17, 20]
lgses decir, empieza en 2, llega hasta 20 y los incrementos son de 3
lgs      Una operacion interesante de las lista es el corte. Podemos obtener sublistas dentro de una lista sin mas que indicandole los elementos iniciales o finales o solo uno de ellos.
lgsEjemplo:
lgs      milista = [1, 2, 3, 4, 5, 6]
lgs      print milista[2:5] # imprime [3,4,5]
lgs      print milista[3:]  # imprime [4,5,6]
lgs      print milista[:2]  # imprime [1,2]
lgscuando ponemos milista[2:5] queremos decir que nos de la sublista que va desde el elemento 2 hasta el 5
lgs      Para terminar con la charla hablare de las funciones, elemento basico de todo languaje de programacion.
lgsUna función es un trozo de código que se puede reutilizar en más de una ocasión y por eso se aisla en una función:
lgs      def cuadrado(x):
lgs          return x*x    #no olvides la indentacion
lgs      print cuadrado(2) #imprime un 4
lgssolo con usar la palabra reservada 'def' ya podemos definir una función
lgscuando hacemos
lgsprint cuadrado(2)
lgsestamos llamando a nuestra función con el valor de x igual a 2
lgs      Para los que lo entendais, los parametros de una funcion se pasan por referencia (como en Java). Para los que no lo entendais, olvidad esta frase :)
lgs      Python tiene listas de argumentos variables para las funciones, argumentos con nombre y argumentos por omision. Miraros el tutorial de Guido si teneis curiosidad.
lgs      Bueno, creo que ya es mas que suficiente. Os cito algunas de las caracteristicas que me he dejado en el tintero:
lgs      Construcciones de programacion funcional, modulos y paquetes de Python, programacion orientada a objetos en Python, etc, etc...
lgs      Muchos de estos aspectos darian para una charla completa, pero lo mejor es que los mireis vosotros mismos.
lgs      El contenido de esta charla se basa en gran medida en el documento Python instantaneo ( http://www.arrakis.es/~rapto/AprendaPython.html )
lgs      Si quereis saber mas de Python mirad esta pagina http://www.python.org/doc/2.2.2/index.html y empezad por el tutorial de Guido.
lgs      Si no sabeis ingles no teneis excusa: http://usuarios.lycos.es/arturosa/
lgsme dice tar
lgsque quereis saber más sobre las diferencias de python con otros lenguajes
lgsen esta pagina http://www.python.org/doc/Comparisons.html teneis mas informacion que la que os voy a dar ahora
tar<Pummel> ¿que tal se comporta con bases de datos?
lgshay interfaces para la mayoria de las bases de datos existentes
lgscomo db2, oracle, mysql, posgresql, odbc
lgsyo lo he usado y me ha ido bastante bien
lgsen cuanto a las diferencias os explico
tar<Pummel> ¿hay posibilidad de usar expresiones regulares a lo perl?
lgsos explico, si me deja Pummel :)
lgstiene un modulo en la libreria estandar que hace exactamente eso Pummel
lgsPython es de más alto nivel que Java
lgsal igual que Java lo es de C
lgses decir, el lenguaje tiene construcciones que hacen que sea más sencillo programar
lgslo que en C suelen ser 500 lineas de código
lgsen Java suelen ser 200
lgsy en Python pueden quedarse en menos de 100
lgsen tratamiento de cadenas Perl se comporta mejor
lgspero el problema de Perl es que en cuanto hacer un programa de más de 100 lineas
lgsa los 5 días se hace inmantenible
lgsporque su sintáxis ayuda poco
lgsmucha gente dice que Python se autodescribe
lgsy que es necesario poner pocos comentarios para entender lo que se está haciendo
lgspor no decir que tiene verdadera orientación a objetos a diferencia de Perl
lgsPython también tiene utilidades de lenguajes funcionales
lgspero sigue teniendo una orientación procedural
lgsno sé, preguntadme sobre aspectos más concretos para que pueda compararlo con otros lenguajes
lgsah y otra cosa, Python también da de comer. Ahora mismo estoy tengo un trabajo en el que hago interfaces gráficas en Python :)
lgstar, doy por finalizada mi charla
lgsdesmodera el canal
taralguna pregunta más?
lgsy que la gente haga más preguntas directamente si quiere
tar<Pummel> ¿la funcionalidad de python reside en paquetes externos como CPAN asiste a perl? ¿o viene casi todo integrado, como php?
lgssobre todo espero que no se haya perdido mucha gente
lgsyo diría que viene casi todo integrado
lgscuando instalas la distribución de python tienes un mogollón de paquetes disponibles
lgshasta una interfaz gráfica, que usa Tcl/Tk
lgsotra ventaja de Python es que es muy fácil de extender si se quiere
lgsel intérprete esta hecho en C
lgsy es fácil de modificar
lgsy además tiene una API muy bien definida, para poder hacer dos cosas fácilmente:
lgsa) si tienes un programa en C puedes ampliarlo añadiendole módulos en Python
lgsb) Si tienes un programa en Python y necesitas acelerar ciertas partes, puedes implementar estas partes en C y acoplarlo todo
tar<NinaNutz> que es una API?
lgsa ver si lo digo bien, Application Programming Interface, no?
lgsen cristiano quiere decri
lgsdecir
lgsel conjunto de instrucciones que ofrece una librería para que los demás puedan usarlo
lgscuando digo instrucciones me refiero a instrucciones como de un manual de instrucciones
lgses decir, Python está muy bien documentado para poder hacer las cosas que antes he puesto
tar<bitland> ¿las interfaces gráficas las haces para programas en python, o se puede usar para hacer librerías para otros lenguajes?
tar<bitland> ¿y qué tal va la integración en Mono? (el equivalente libre a .NET, y que los puristas me perdonen)
lgsveamos
lgsno entiendo muy bien la primera pregunta, intento contestarte
lgssi tienes un programa en python y quieres hacerle una interfaz gráfica, se puede hacer y es sencillo
lgssi tienes un programa en otro lenguaje y quieres hacerle una interfaz grafica en python
lgsse puede hacer si ese otro lenguaje es C o Java, ya que Python se lleva muy bien con C y hay un interprete de Python escrito en Java, llamado Jython
lgsque permite que desde Python puedas usar Java y viceversa
lgsen cuanto a la integración con Mono es una lástima que Jaime no esté aqui
lgsporque yo de Mono estoy muy pegado
lgsy no sé como está la cosa ahora mismo entre monos y serpientes
lgsalguna pregunta más?
tar<bitland> ¿entonces python por ser interpretado se entiende que no es muy apto para grandes cargas de trabajo?
lgsno bitland
lgspara lo que no es apto es para cosas que requieran mucha velocidad
lgsque no siempre es lo mismo
lgspython se usa en los buscadores de google, si eso te parece carga suficiente
lgsy también en los efectos especiales de Industrial Light & Magic
lgsmucha gente dice que es el lenguaje pegamento ideal
lgses decir el lenguaje que sirve para acoplar programas hechos en lenguajes diferentes
lgstambién se usa en level51
lgssi conoceis a Eric S. Raymon, el también dice maravillas de Python
tar<bitland> a eso me refería :), y otra cosa, ¿cuáles son las principales aplicaciones a las que se destina, además de las citadas?
lgsmmm, es dificil responder
lgscomo curiosidad os diré que anaconda
lgsel programa de instalación de RedHat está hecho en Python
lgsen esta página, veis proyectos comerciales que usan Python http://www.python.org/psa/Projects.html
lgsy si alguno conoce el videojuego Blade, para mi el mejor juego hecho por españoles, os diré que todo lo que no son gráficos en ese juego
lgsesta hecho con Python
lgscomo veis, son aplicaciones muy heterogeneas
tar<Pummel> curiosidad morbosa: ¿que es wxPython? ¿es el paso para portar a windows un programa en python? ¿es lo mismo el python de ActiveState que el de cualquier distribucion Linux? ¿por qué pregunto tanto? :P
lgsveamos
lgswxwindows es una libreria para hacer guis ( y otras cosas) multiplataforma escrita en C++
lgses como las Qt, vamos
lgsy wxpython es una módulo de python para que puedas usar dicha librería
lgsuna de las ventajas de python es que cómo se lleva tan bien con C
lgscualquier cosa escrita en C es muy fácil que exista para Python
lgsporque basta con hacer un módulo que se comunique con dicha librería y ya esta
lgsla segunda pregunta
lgsno se lo que es ActiveState :)
lgsperdón, esa era la tercera pregunta
lgscreo que la segunda esta contestada con lo que he dicho
tar<Pummel> http://www.activestate.com/Solutions/Programmer/Python.plex
lgsahi me has pillado Pummel
lgses la primera vez que veo eso :)
tar<bitland> ¿entonces la instalación de RH lanza un intérprete de python y ejecuta el instalador gráfico? en caso afirmativo, ¿ésto significa que un intérprete de python necesita muy pocos recursos?
lgssi bitland
lgsa ambas cosas
lgsno estoy seguro pero creo que que anaconda utiliza las GTK+
lgses decir, es un programa en Python con bindings a la libreria GTK+
lgsme dice tar que no hay más preguntas
lgsespero que le hayais perdido el miedo a programar
lgscomo nota curiosa os diré
lgsque cuando yo estudié programación
lgsprimero te enseñaban a programar con lápiz y papel en un lenguaje llamado
lgspseudocódigo que se acerca mucho a nuestra forma de hablar y pensar
lgsy luego nos enseñaban C
lgshoy día hay varias facultades de informática que directamente empiezan con Python
lgsy luego se pasan a C
lgscomo veis, no nos libramos de C
lgsbueno ya me callo
lgsgracias a todos por venir
lgsdesmodera tar
tarpues si no hay nada más dar las gracias a Lorenzo por esta magnifica charla e invitarte a que repitas cuando quieras
tarmuchas gracias a todos
--- tar fija modo -m #gcubo
tarplas plas plas plas plas plas plas plas
lgsgracias a tar por su inestimable ayuda
Pummelplas plas plas plas plas plas
MiguelQuirosEnhorabuena, Lorenzo. Me he enterado de casi todo. No solo de Python sino de algún que otro concepto general de programación.
DrNACHETExD
bitlandplas
bitlandplas plas
dax5Plas,plas,plas, gracias por la charla.
* lgs se ruboriza
nauj27muy bien loren :)
bitlandplas plas plas
NinaNutzplas plas
NinaNutzplas plas plas plas plas plas
* linuxino cubre a lgs con confetti~;``*~`;.~``~`* lgs ~`;. ~`;.*`;.`~`~`*~` ;.~ lgs `;.*`;.`~;.*`;.`~;`~ lgs `*~` ; ;.*`;.``~`*~`. lgs ~``~` *~`;.~`;.*`;. lgs `~`~`*~` ;.~`;~`;.*``` * lgs ~`; ~``~`*~` lgs ~`; ~``~`
bitland:-DD, instructiva, quizás algún día retome la programación :-DD
DrNACHETEplis plis
Esqizomuchas gracias por la informacion aportada
Pummelme ha gustao si señor :)
lgsde regalo dos fotos frikis http://lgs.homelinux.net/download/empollando-python1.jpg y http://lgs.homelinux.net/download/empollando-python2.jpg
bitlandlinuxino: :-DDDDDD
Pummeljajajaja
Esqizoes la primera vez q me apunto a algo de esto, pero sin duda no sera la ultima
lgsEsqizo: lo mejor es que yo también :)
lgsno sé si me he alargado más de la cuenta, son las 11.30 ya
Esqizo:)

Powered by Plone CMS, the Open Source Content Management System Powered by GCubo Powered by Cicode

This site conforms to the following standards: