如果问题非常愚蠢,请亲自留下,但我基本上来自c/C++背景。python访问方法中的全局变量。
我有以下代码。
#!/usr/bin/python
import os
class Logger(object):
def __init__ (self):
print "Constructor of Logger "
def logMsg(self):
print "logMsg::"
class FileLogger (Logger):
def __init__ (self):
print "Constructor of File Logger"
def logMsg (self):
print "FileLogger::"
class FTPLogger (Logger):
def __init__ (self):
print "Constructor of FTP Logger"
def logMsg (self):
print "FTPLogger::"
def logMsg(log):
print "Logging Message"
logHandler.logMsg() # **HERE: HOW POSSIBLE TO ACCESS logHandler Variable?**
logHandler = FileLogger();
logMsg(logHandler);
问:
如何logMsg()FileLogger类的函数可以访问logHandler?
我可以认为'logHandler'是一个全局变量吗?
简短的回答是:是的,你可以考虑'logHandler'为全局变量;这正是它的原因。它会让你的代码更加清晰,并且对将来的读者来说,将'global logHandler'添加到'logMsg'函数定义的顶部,但在这种情况下并不是必须的。 – abarnert