Использование глобальной переменной в качестве параметра по умолчанию

a.py

#!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'

Я ожидал Я буду получать Соединение 192.168.0.1 печатается. Но вместо этого Connection is 127.0.0.1 печатается.

Если я не попытаюсь создать соединение, явно передав параметр (чего я не хочу, так как я не хочу делать изменить больше на Соединение с параметром 0)

соединение = Соединение (globals.server_ip)

Почему это так? Могу ли я применить какие-то другие методы?

6
задан Cheok Yan Cheng 14 July 2011 в 07:10
поделиться