¿Deberían las funciones de Python ser reservadas?

Agrupa todas las consultas sobre los lenguajes de programacion como C, C++, Python, Java ...

¿Deberían las funciones de Python ser reservadas?

Notapor McNulty » Mié Nov 30, 2011 8:13 pm

Hola a todos,

No he encontrado el hilo para presentarme en este foro y aprovecho para hacerlo aquí :D

Bueno, estoy empezando a estudiar Python de forma autodidacta con vídeos de YouTube (Gracias a muchos argentinos que veo dominan este lenguaje a la perfección) y tutoriales de la red. Bueno, pues en lo mas básico me asalta una duda...

(He de decir que tengo instalada la versión 2.7.2 para aprovechar toda la documentación mas extensa en esta versión)

Pues mirando el tema de la sintaxis y las palabras reservadas en Python ( print, for, While, etc... ) creía yo, que las funciones también lo estaban. Y veo que no. Es decir, si uso la función len para leer la longitud de una cadena, veo que puedo tratarla como una variable. Osea, puedo definir len=1 y toma ese valor. Con la consiguiente perdida de esa función en todo el código creado posteriormente ¿Esto no es malo para programar? ¿Que pasa si la gente se olvida del nombre de una función y le asigna valor de variable?

Quizás es una duda muy básica. Pero yo vengo del Basic de hace algún tiempo donde todo era reservado.

Muchas gracias y espero aprender un monton con vuestra ayuda... :D
McNulty
 
Mensajes: 12
Registrado: Mié Nov 30, 2011 8:01 pm

Re: ¿Deberían las funciones de Python ser reservadas?

Notapor MrBB4 » Jue Dic 01, 2011 3:29 am

Buenas.
Pues si, resulta que en python, a diferenica de la mayoria de los lenguajes de programación, todas las funciones son por default habiertas. Si tu intención es crear una función cerrada basta con que su nombre icluya dos guíones bajos (_) al principio del nombre. Como por ejemplo :
def __funciónCerrada():
pass

Aún así, esto solo evitará que se utilice desde fuera de la clase a la que pertenece, pues todavía se podrá reemplazar la función por una variable cualquiera. Pero esto no es ninguna molestia pues si se te olvida el nombre de una función que es utilizada en alguna parte del codigo y sin querer la reemplazas por quien sabe que, el interprete te lanzará un error de syntaxis y esto se arregla facilmente.

PD: Ahora que lo pienso, lo primero que puse no tiene nada que ver con tu pregunta pero aún así es bueno saber :mrgreen:

Ya que estás recien empezando con python te recomiendo leer How To Think Like A Computer Scientist: Learning With Python. El problema de este es que la traducción al español solo está hasta la midad y ha estado así desde el 2006, pero te recomiendo que lo leas porque está muy bien explicado, y si no te complica el ingles mejor aún, porque así podes leer la versión entera. Tambien te aconsejo leer Python Para Todos, que sí está todo en español y tambien está muy bueno. Y por ultimo Invent Your Own Computer Games With Python, que está todo en ingles pero ayuda un montón. Que no te asusten tantos textos porque la verdad es que los tres hablan casi de lo mismo, pero cada uno tiene algo que el otro no asi que te ayudará mucho leerlos todos. Y además no es nada con todo lo que tendrás que leer a futuro si en verdad te interesa el mundo de la programación.

Un Abrazo y te deseo suerte en tu camino de desarrollador de Juegos/Programas/Otros ;)
Avatar de Usuario
MrBB4
 
Mensajes: 49
Registrado: Mar Dic 14, 2010 11:39 pm
Ubicación: Purto Madryn, Chubut, Argentina.

Re: ¿Deberían las funciones de Python ser reservadas?

Notapor McNulty » Jue Dic 01, 2011 6:29 pm

Muchas gracias MrBB4 por la respuesta. Bueno, esos tutoriales que comentas ya los he imprimido. Aunque ya te digo que se avanza mas rápido con vídeo tutoriales. Yo estoy con el tutorial de "Python para todos" y "Aprenda a pensar como un programador con Python". Y me apoyo con los vídeos del canal de YouTube "ChelinTutorials".


Bueno, pues ya me he dado cuenta de eso de las funciones. Es decir, que aunque vienen predefinidas por Python les podemos asignar nosotros otro valor. Habrá que ir con cuidado... :?

Salu2 :D
McNulty
 
Mensajes: 12
Registrado: Mié Nov 30, 2011 8:01 pm


Volver a Sobre lenguajes de programación

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado