我有以下带有kwargs init的父类:
class A(object):
""" Parent class """
def __init__(self, **kwargs):
# connect parameters
self.host = kwargs.get('host', 'localhost')
self.user = kwargs.get('user', None)
self.password = kwargs.get('password', None)
def connect(self):
try:
self.ConnectWithCred( self.host,
self.port,
self.user,
self.password)
except pythoncom.com_error as error:
e = format_com_message("Failed to connect")
raise Error(e)
我想创建一个’A类’对象并调用’connect’方法.我该怎么办?我试过以下它不会运行(fyi – 我是一个Python新手):
sub_B = A(self.host = 'example.com', self.port = 22, self.user = 'root',
self.password = 'testing')
sub_B.connect()
最佳答案 您正在创建A的实例,而不是子类.你的问题是你的实例化有点不正确,尽管很接近.
从关键字参数中删除self:
sub_B = A(host = 'example.com', port = 22, user = 'root', password = 'testing')
这应该工作正常.