Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-如何使用kwargs从类创建对象或调用方法_Python_Keyword Argument - Fatal编程技术网

Python-如何使用kwargs从类创建对象或调用方法

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)

我有以下带有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)
我想创建一个“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')