关于我为什么不能调用默认构造函数,有什么想法吗?
下面是该类的一小部分,以便您可以看到可用的构造函数和一些数据成员:
class TweetExplorer:
CLEAN_OUTPUT_PATH = constants.CLEAN_OUTPUT_PATH
# Authorization keys
API_KEY = ''
API_SECRET_KEY = ''
ACCESS_TOKEN = ''
ACCESS_TOKEN_SECRET = ''
OUTPUT_PATH = ''
API_ACCESS = 0
def __init__(self):
self.OUTPUT_PATH = constants.OUTPUT_PATH
self.CLEAN_OUTPUT_PATH = constants.OUTPUT_PATH
def __init__(self, api_key, api_secret_key, access_token, access_token_secret):
self.API_KEY = api_key
self.API_SECRET_KEY = api_secret_key
self.ACCESS_TOKEN = access_token
self.ACCESS_TOKEN_SECRET = access_token_secret
try:
self.check_access()
except Exception as ex:
print(ex)
self.OUTPUT_PATH = constants.OUTPUT_PATH
因此,在同一个文件中,我尝试使用默认构造函数实例化该类的一个实例:
if __name__ == '__main__':
explorer = TweetExplorer()
我没有调用默认构造函数,而是得到以下错误:
Message=init() missing 4 required positional arguments: 'api_key', 'api_secret_key', 'access_token', and 'access_token_secret' Source=C:\source\repos\TweetExplorer\TweetExplorer.py StackTrace: File "C:\source\repos\TweetExplorer\TweetExplorer.py", line 499, in explorer = TweetExplorer()
我以前用于提供多个构造函数的模式是使用
classmethod
s:现在您可以在没有任何参数的情况下初始化
TweetExplorer
还是有信誉
Python将覆盖init的第一个声明。 要使用默认值实现可选参数,可以执行以下操作
相关问题 更多 >
编程相关推荐