我有这样的代码:
$post = $this->input->post();
print_r($post);
unset($post['submit']);
$this->load->model('Pmodel');
$post_data=$this->Pmodel->post_data($post);
echo json_encode($post);
我的问题是,为什么它在class sampleClass(object):
def __init__(self):
super(sampleClass, self).__init__()
下称为超级?
我知道super用于调用父类__init__
,(如果我错了告诉我),但这里有什么作用?
答案 0 :(得分:1)
它不会调用它自己的__init__
这是super
的正确语法,第一个参数必须是类本身(超级将称之为其父类{{1}的类名})。
在此处阅读更多https://docs.python.org/3.6/library/functions.html#super
super([type [,object-or-type]])
返回委派的代理对象 方法调用父类或兄弟类的类型。 [第一个论点]
答案 1 :(得分:-1)
据我所知,这种类型的类定义可以区分 Python 2 中的新类型类和旧类型类。但是,Python 3 根据定义只使用新类型类。因此,如果您使用的是 Python 3,则不需要这种实现,但它有助于向后兼容。
此链接包含有关 Python 2 和 Python 3 中类定义差异的更多信息。
基本上,如果您使用的是 Python 3,您可以将您的类定义变成这样。
C:\Users\kundan\AppData\Roaming\Python\Python39\Scripts