Python-如何使用kwargs从类创建对象或调用方法
我有以下带有kwargs init的父类:Python-如何使用kwargs从类创建对象或调用方法,python,keyword-argument,Python,Keyword Argument,我有以下带有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)
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)
我想创建一个“class A”的对象并调用“connect”方法。我该怎么办?我尝试了以下操作,但无法运行(仅供参考-我是Python新手):
您正在创建
A
的实例,而不是子类。您的问题是您的实例化有点不正确,尽管很接近
从关键字参数中删除self
:
sub_B = A(host = 'example.com', port = 22, user = 'root', password = 'testing')
这应该很好。你的子类在哪里?我试着这样定义它:请将它编辑到你的问题中。sub_B=A(self.host='example.com',self.port=22,self.user='root',self.password='testing')sub_B.connect()不是子类。您的意思是要创建一个实例吗?移除你经过的kwargs中的
自我。
,并使成为的\uuuu init\uuuuu
接受端口。啊,是的,这对我来说很有用,非常感谢!很抱歉没有正确发布问题。没问题!如果这解决了您的问题,请务必接受:)
sub_B = A(host = 'example.com', port = 22, user = 'root', password = 'testing')