Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Noticias (https://www.clubdelphi.com/foros/forumdisplay.php?f=34)
-   -   Tutorial de Python 'Python para todos' (https://www.clubdelphi.com/foros/showthread.php?t=62546)

marcoszorrilla 31-12-2008 17:54:40

Tutorial de Python 'Python para todos'
 
Leo a través de BarraPunto, que está disponible "Tutorial de Python 'Python para todos'


Escrito por: Raúl González Duque

Aquí dejo el enlace.

Un Saludo.

"

MAXIUM 31-12-2008 18:25:15

Cita:

Python es un lenguaje de programación interpretado, lo que ahorra un tiempo considerable en el desarrollo del programa, pues no es necesario compilar ni enlazar. El intérprete se puede utilizar de modo interactivo, lo que facilita experimentar con características del lenguaje, escribir programas desechables o probar funciones durante el desarrollo del programa.

Se compara habitualmente con TCL, Perl, Scheme, Java y Ruby. En la actualidad Python se desarrolla como un proyecto de código abierto, administrado por la Python Software Foundation.

Python fue diseñado para ser leído con facilidad. Entre otras cosas se utilizan palabras en inglés donde otros lenguajes utilizarían símbolos (por ejemplo, los operadores lógicos || y && en Python se escriben or y and, respectivamente).

En vez de delimitar los bloques de código mediante el uso de llaves ({}), Python utiliza la indentación. Esto hace que la misma sea obligatoria, ayudando a la claridad y consistencia del código escrito (incluso entre varios desarrolladores)
Función factorial en C
Código Delphi [-]
int factorial(int x) 
{
 if (x == 0)
   return 1;
 else
   return x*factorial(x - 1); 
}


Función factorial en Python
Código Delphi [-]
def factorial(x):
    if x == 0:
        return 1
    else:
        return x * factorial(x-1)

Robert01 31-12-2008 20:10:10

Hace un tiempo estaba viendo unas macros de open office calc para linux. Además de poder escribir esas macros en Python, curiosamnete para mi, encontré que es posible escribirlas en Basic

Saludos

Lepe 01-01-2009 12:04:54

Pues muchas gracias por mostrarnos ese aporte, no lo conocía y aunque soy relativamente nuevo en python ya uso herencia, clases, propiedades...

La única pega viene por ser interpretado, tengo un montón de errores de "compilación" como equivocaciones en nombres de variables y propiedades :D (claro, cnpacks y el propio delphi ayuda mucho completando los métodos y propiedades, algo que en eclipse aunque funciona, no está tan conseguido).

Hasta ahora sigo la ayuda (manuales) que se instalan con python, pero en español se hará más amena la lectura

Saludos

rretamar 01-01-2009 15:48:24

Me gusta Python...lo de "menos es más" que lo hace tan potente a nivel lenguaje...pero el no estar integrado a ninguna GUI en particular, y el carecer de un IDE (un IDE a la altura de Delphi, donde el diseño de formularios está integrado con el código de la aplicación en forma impecable) hacen que no me termine de convencer.

Sí, tal vez le estoy pidiendo peras al olmo ya que es un lenguaje de script multipropósito que no se centra en un uso particular, pero me resulta inevitable comparar con la herramienta que uso: Delphi.

Saludos !

mamcx 01-01-2009 18:39:31

Yo lo uso rutinariamente y para mi, Delphi & Python son las dos caras de una misma moneda.

Delphi deslumbra por su RAD visual y Python por su RAD a la hora de codificar.

Me encanta lo simple que es todo y como es de facil de leer el codigo de Python de CUALQUIER autor (debido a lo del espaciado!).

Actualmente, mi proyecto estrella usa ambos lenguajes. Delphi para un servidor de aplicaciones & python para escribir los plugins.

Con respecto a lo de la GUI, es cierto que con Python no hay nada muy bueno... pero por ahi me he soñado en utilizar la gui de Delphi & programarla con Python, algo MUY posible gracias a:

http://mmm-experts.com/Products.aspx?ProductId=3

El cual es una suite que integra perfectamente a Delphi con Python. Es MUY buena & estable.

Angel Fernández 13-02-2009 21:04:49

Hola a todos.

Lleva ya tiempo intentado aprender otro lenguaje aparte de delphi (no porque me haga realmente falta, sino por aprender sin más) y, al leer este hilo (y algunos comentarios por ahí), me he animado a echar un ojo al tal phyton.

Sin embargo, me surgen varias dudas:

- Al no tener ide como el de delphi, es decir, no se pueden arrastrar botones por ejemplo a un formulario: ¿sólo se pueden hacer aplicaciones tipo consola?

- ¿Por qué usar python y no seguir con delphi, incluso para aplicaciones tipo consola?

- ¿La respuesta a la pregunta anterior es porque phyton es multiplataforma?

Y ahora mismo tengo tantas preguntas en la cabeza que no sé cual poner. Realmente lo que quiero es aprender otro lenguaje que no se vaya a pasar de moda y desaparezca o que realmente aporte cosas que delphi no puede o cueste mucho de implementar.

Phyton parece un lenguaje muy legible y fácil de aprender ¿vale la pena?

Seguramente estaré diciendo tonterías; disculpad por mi ignorancia.

Saludos al foro.

Lepe 14-02-2009 06:51:38

IDE si tiene, por ejemplo eclipse con el pluging pyDev.
Lo que no hay bueno es el RAD Rapid Application Development (lo que hablas de arrastrar botones a un Form), pero por supuesto que se hacen aplicaciones windowseras. En delphi también se hace a veces, es decir, mediante código y en tiempo de ejecución, creas una ventana, un panel, un botón, enlazas los eventos... todo por código, pues así lo hacemos en python con las bibliotecas wxWidgets.

Para ayudar un poco la tarea en python tienes los Sizers, es algo así como un grid de guía, vas añadiendo los controles que quieres según la fila y columna de ese grid imaginario, de esa forma no se solapan los controles, se pueden acomodar a la dimensión de la ventana, etc.

Como RAD, actualmente está en desarrollo boa (si pitón es una serpiente, boa es la mamá serpiente :P), intenta ser un RAD como delphi, pero está un poco verde todavía.

Delphi tiene sus virtudes y python también. Como has dicho python es multiplataforma y si te atienes a las guías de programación, puede ejecutarse en windows, mac y linux.

Fácil... si ya tienes clara la OOP, entonces sí, eso no cambia, puede tener diferencias pero te sirve de guía para aprender cualquier lenguaje.

Como ha dicho mamcx, no veas a python como un sustituto, más bien como un complemento. Delphi es compilado con todas sus virtudes y python es interpretado, uniendo ambos, lo tienes "todo" ;).

De hecho python tiene la culpa de que desde hace unos meses no esté tan activo en este foro :(.

Saludos

dmassive 14-02-2009 07:24:06

Cita:

Empezado por Angel Fernández (Mensaje 338091)
- Al no tener ide como el de delphi, es decir, no se pueden arrastrar botones por ejemplo a un formulario: ¿sólo se pueden hacer aplicaciones tipo consola?
- ¿Por qué usar python y no seguir con delphi, incluso para aplicaciones tipo consola?
- ¿La respuesta a la pregunta anterior es porque phyton es multiplataforma?

La diferencia a favor de python es que puedes hacer de todo y ademas hacerlo funcionar hasta en el luna, en delphi no.

A favor de delphi, es que aplicaciones con una larga y compleja combinacion de formularios en python es probable que mueras de viejo antes de terminarla... :) esto es porque su parte visual esta poco desarrollada, debes revolver mucho, es decir, en delphi tienes una componente que siempre se ajusta a lo que necesitas, todo es rapido y facil.

Y sobre BOA y algunos asistentes que hay por ahi para mi gusto tienden a "ensuciar" el codigo python agregando muchas cosas innecesarias.

Angel Fernández 14-02-2009 10:34:19

Gracias por vuestras respuestas.

Le echaré un ojo a la serpiente a ver qué tal...

fenixariel 15-02-2009 00:17:22

En mi facultad el verano pasado dieron un curso introductorio de Python, quien lo enseñaba aseguraba que este lenguaje era mas potente que incluso C/C++.

Si de facilidad para entender el codigo como se dice entonces regresemos a las versiones antiguas de Visual basic, lenguaje interpretado , no a Visual Studio que ya es compilado; si se trata de la multiplataforma entonces porque no usar Java, que esta mucho mejor implementado con muchas mejoras atravez del tiempo de vida que tiene.

De mi poca experiencia debo decir que para Java no se puede encontrar con facilidad soporte en cuanto a librerias, componentes, Experts, herramientas, etc, etc... como si las hay para Delphi, C++ y Visual Studio(o VB), en freeware; pero practicamente nada en Shareware (es decir, ¿ porque razon no lo hacen las empresas que desarrollan herramientas a programadores?).

Ahora soporte para Python....... mejor no decimos nada.

Para muestra un boton: cuando National Instrument o Bitscope te venden sus productos lo hace incluyendo librerias solo para C++, Delphi y Visual Studio.
por ahi algunas empresas lo hacen para Java.

Decir que Python es si quiera comparable a Java, no se que diran ustedes.

Decir que Python es tan potente como C++ es un blasfemia o falta de respeto.

Y querer siquiera comparar este con Objec Pascal..............bueno entonces regresemos todos a la potencia de Assembler(claro nuestros nietos culminaran algun dia nuestros programas ).

Definitivamente que es un lenguaje algo nuevo que parece que cuando este mejor inplementado SERA.. una gran herramienta, y al igual que Java tendra que hacer su camino como lo hisieron antes Assembler, C, Pascal, C++, Object Pascal o VB.

Todos tenemos que aprender a utilizar por nesecidad o no, varias herramientas; eso es lo correcto; pero cada cosa en su lugar.

Lepe 15-02-2009 05:19:15

Rogaría que este hilo no se convirtiera en una "guerra sobre lenguajes". Estamos hartos de oír en el foro que "todo depende", no existe la mejor herramienta por excelencia, todo depende...

Cita:

Empezado por dmassive
A favor de delphi, es que aplicaciones con una larga y compleja combinacion de formularios en python es probable que mueras de viejo antes de terminarla...

Respeto tu opinion, tienes razón en parte, pero con un poco de organización en python puedes acelerar ese proceso de creación de ventanas (no al mismo nivel de delphi, es obvio, ya que no tenemos un buen RAD). Se puede crear clases ya preparadas que hereden de TFrame con los sizers creados, después todas tus ventanas heredan de ella y añaden los controles visuales.

En este punto puede ayudar mucho las plantillas de código (code templates de los BDS) así puedes tener esas plantillas preparadas para añadir checkboxes, labels, textCtrl (los tedits de delphi) que además de crear el control escriban el prototipo del evento a asociar y los parámetros por defecto. Desde luego alivia mucho el trabajo.

esto sería la plantilla para crear una propiedad en python:
Código:


def _get${prop}(self):
    return self._${prop}
     
def _set${prop}(self, value):
    self._${prop} = value
 
${prop} = property(_get${prop},_set${prop},
                doc= """${cursor}""")

y este el resultado después de usarla:
Código:

    def getselected(self):
        return self._selected
     
    def setselected(self, value):
        self._selected = value

    selected = property(getselected,setselected,
                doc= """Actual Selected Object """)

sólo ha de escribirse la palabra "selected" (una sola vez) y el texto "Actual selected object", el resto es generado automáticamente por el template. Lo mismo puede hacerse con los controles visuales.

offtopic: quizás debieramos movernos a un foro python para tratar estos temas... nú sé, nos estamos saliendo de la noticia.

Saludos


La franja horaria es GMT +2. Ahora son las 01:25:15.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi