a.pyvariable global como parámetro por defecto
#!c:/Python27/python.exe -u
from connection import Connection
import globals
globals.server_ip = '192.168.0.1'
connection = Connection()
globals.py
#!c:/Python27/python.exe -u
server_ip = '127.0.0.1'
connection.py
import globals
class Connection:
def __init__(self, server_ip = globals.server_ip):
print 'Connection is ' + server_ip + '\n'
me esperaba que wi Obtendré la impresión de Connection is 192.168.0.1
. Pero, en su lugar, se está imprimiendo Connection is 127.0.0.1
.
A menos trato de construir la conexión al pasar en el parámetro de forma explícita (que no es algo que deseo, ya que soy reacio a hacer el cambio más en conexión con el parámetro 0)
connection = Connection(globals.server_ip)
¿Por qué esto es tan? ¿Hay alguna otra técnica que pueda aplicar?