Cita:
Iniciado por Gobi Hola
Hola
Cita:
Iniciado por Gobi alguien podría decirme como se declara una constante en Python,
Claro puedes hacer, de hecho si el objeto es inmutable no cambiara durante la ejecución del programa, sin embargo
aquí tienes una receta para hacer constantes en python.
Cita:
Iniciado por Gobi los argumentos por referencia
Python no pasa los argumentos por valor o por referencia, si no que hace es un "
paso por objeto" o "
paso por compartir"
Vamos a ver un ejemplo:
Código Python:
Ver original#Los enteros son inmutables
x = 10
print "Antes de llamar a la funcion", x
def funcion_1(x):
x = 5
funcion_1(x)
print "Despues de llamar a la funcion", x
#Esto no cambia el valor de x
#En cambio las listas son mutables
y = [1, 3, 5]
def funcion_2(y):
y.append(7)
print "Antes de llamar a la funcion", y
funcion_2(y)
print "Despues de llamar a la funcion", y
Si no te gusta este modelo puedes pensar de la siguiente manera:
En Python todo es un objetos, esto significa que ocupa un espacio en memoria y que tiene una dirección de memoria, los parámetros son siempre punteros a esos objetos. Pero los objetos solamente los puedes cambiar a través de sus propios métodos (Que muchas veces esos métodos son sobre carga de operadores).
Para ver esto mejor necesitamos un ejemplo:
Código Python:
Ver original#Las listas son mutables, pero solo bajo sus propios métodos.
l = [3, 5, 7]
def funcion(l):
l = [2, 4, 6]
print "Antes de la funcion", l
f(l)
print "Despues de la funcion", l
Cita:
Iniciado por Gobi y si el lenguaje soporta la definición de macros.
No, pero creo que lo quieres es meta programación en este caso, incluso en C/C++ los macros son ineficientes.
Cita:
Iniciado por Gobi Gracias de antemano.
De nada