21.04.2013 Views

Inmersión en Python Inmersión en Python - iPereda

Inmersión en Python Inmersión en Python - iPereda

Inmersión en Python Inmersión en Python - iPereda

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

• 2.2.1. Los tipos de <strong>Python</strong> fr<strong>en</strong>te a los de otros l<strong>en</strong>guajes de<br />

programación<br />

<strong>Python</strong> ti<strong>en</strong>e funciones como la mayoría de otros l<strong>en</strong>guajes, pero no dispone de<br />

ficheros de cabeceras como C++ o secciones interface/implem<strong>en</strong>tation como<br />

ti<strong>en</strong>e Pascal. Cuando necesite una función, limítese a declararla, como aquí:<br />

def buildConnectionString(params):<br />

Fíjese <strong>en</strong> que la palabra clave def empieza la declaración de la función, seguida<br />

de su nombre y de los argum<strong>en</strong>tos <strong>en</strong>tre paréntesis. Si hay varios argum<strong>en</strong>tos<br />

(no se muestra aquí) irán separados por comas.<br />

Observe también que la función no define un tipo de retorno. Las funciones de<br />

<strong>Python</strong> no especifican el tipo de dato que retornan; ni siquiera especifican si<br />

devuelv<strong>en</strong> o no un valor. En realidad, cada función de <strong>Python</strong> devuelve un<br />

valor; si la función ejecuta alguna vez una s<strong>en</strong>t<strong>en</strong>cia return devolverá ese valor,<br />

y <strong>en</strong> caso contrario devolverá None, el valor nulo de <strong>Python</strong>.<br />

En Visual Basic las funciones (devuelv<strong>en</strong> un valor) comi<strong>en</strong>zan con<br />

function, y las subrutinas (no devuelv<strong>en</strong> un valor) lo hac<strong>en</strong> con sub. En<br />

<strong>Python</strong> no t<strong>en</strong>emos subrutinas. Todo son funciones, todas las funciones<br />

devuelv<strong>en</strong> un valor (incluso si es None) y todas las funciones comi<strong>en</strong>zan por<br />

def.<br />

El argum<strong>en</strong>to params no especifica un tipo de dato. En <strong>Python</strong> nunca se indica<br />

explícitam<strong>en</strong>te el tipo de las variables. <strong>Python</strong> averigua el tipo de la variable y<br />

lo almac<strong>en</strong>a de forma interna.<br />

En Java, C++ y otros l<strong>en</strong>guajes de tipo estático debe especificar el tipo de<br />

dato del valor de retorno de la función y de cada uno de sus argum<strong>en</strong>tos.<br />

En <strong>Python</strong> nunca especificará de forma explícita el tipo de dato de nada.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!