如果問題非常愚蠢,請親自留下,但我基本上來自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