相关文章推荐

最近在学习Python的过程中一直发现一个问题,就是在从网上看别人写的一些实例或者一些开源项目的时候,发现一个问题。在调用一个类或者一个类方法的时候,总是提示缺少传递的参数。自己写了一个简单的类似问题,如下:

class Add():
    def add(self):
        return None
if __name__ == '__main__':
    print(Add.add())

这个时候其实我们将add(self)中的self删除后,发现系统报错了

这个时候继续修改,改为add(str1),然后调用的时候给他传递一个字符串,也是没问题的

其实这种写法是存在问题的,首先print(Add.add('aaa')),其实这个类并没有实例化,我们在用的时候应该写成print(Add().add('aaa')),然后继续修改为print(Add().add('aaa')),修改后运行发现又报错了

提示需要一个但是传递了两个参数,因为def add(str1)就等同于def add(self),而self又代表他本身的实例。但是在调用的时候add(‘aaa’)又给他传了一个参数,等同于add(‘self’,‘aaa’)所以也会报错。然后继续修改,完全正确的写法。

所以总结:在我们定义函数和类的时候,在第一个参数的位置默认应该添加self,例如add(self,str,str1),然后我们在调用的时候应该首先实例化这个类,如Add().add('aaa'),而非直接调用Add.add('aaa')。

下面总结一下self的用法详解,大家可以访问 https://blog.csdn.net/CLHugh/article/details/75000104 ,可以针对平时踩过的坑更深入的了解下。

Python中self的用法详解,或者总是提示:TypeError: add() missing 1 required positional argument: 'self'的问题解决 最近在学习Python的过程中一直发现一个问题,就是在从网上看别人写的一些实例或者一些开源项目的时候,发现一个问题。在调用一个类或者一个类方法的时候,总是提示缺少传递的参数。自己写了一个简单的类似问题,如下:class Add(): def add(self): return Noneif __name__ == '__main__': print(A...
TypeError : only size-1 arrays can be converted to Python sc al ars 关于opencv绘制3D直方图 报错 问题 : 要做个图像处理作业 在网上找了许多代码有关3d直方图的,代码都一样,拿来复制粘贴就好了。运行的时候出bug了,查了一下都没有 解决 办法,作为一个代码小白耐心看看代码,原来出错的原因也很简单哇! 运行:ax.bar(pix_v al s, channel_hist, zs=z, zdir=‘y’, color=cs, al pha=0.618, edgecolor=‘none’, lw=0) 会 报错 TypeError : only s
问题 Missing 1 required position al argument 引出的关于 python 实例化的经验教训,及实例化的具体步骤 最近在刷leetcode,想把写出的算法输出个结果验证一下,于是乎遇到了这个坑,以前自己写代码都是赶着写,或者百度个框架改改,从来没在意过类似的细节,因此立贴于此,要改正这一缺点,学透这门语言为己所用,谨以此贴引以为戒! class Solution:...
问题 描述 在进行程序编写过程 ,出现了一个 报错 missing 1 required position al argument : ' self ',一看这个 报错 信息就懵逼了,我所调用的函数没有哪个是需要 self 的参数的啊! 解决 方法 最后发现,是自己编写程序时太急,在调用某个类里面的方法之前,没有对类进行实例化,见下图错误示例: result = Test.func1() 如果按...
Python 调用类的函数时 报错 如下: TypeError : seperate_data() missing 1 required position al argument :' self ' 报错 原因: train_data, test_data = DataCleaner.seperate_data() DataCleaner 是个类,seperate_data() 是其 的方法,不能直...
二、 问题 分析 TestMethod是自定义的类,test_01_getAuth为该类的实例化方法( self :表示实例化类后的地址ID),类未实例化直接调用TestMethod.test_01_getAuth(),导致 报错 三、 解决 方案 1.自定义类加括号,直接调用方法 if __name__ == '__main_ root=Tk() ents=makeform(root,fileds) root.bind('<Return>',(lambda event:fetch(ents))) Button(root,text='fetch',command=(lambda event:... # Definition for a binary tree node. # class TreeNode(object): # def __init__( self , x): # self .v al = x # self .left = None # self .right = None class Solution(obje...
原文:http://sjolzy.cn/Why-should- self - Python .html             类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称,但是在调用这个方法的时候你不为这个参数赋值, Python 会提供这个值。这个特别的变量指对象本身,按照惯例它的名称是 self 。     虽然你可以给这个参数任何名称,但是强烈建议你使用 self 这个
这个错误通常是因为在使用 GridSearchCV 进行网格搜索时未正确设置训练数据的 X 和 y 参数。请确保在调用 fit() 方法时传递了正确的训练数据。 例如,假设你要使用 GridSearchCV 对一个回归模型进行调参,你可以按照以下步骤: 1. 定义 X 和 y ``` python X = data.drop('target', axis=1) y = data['target'] 2. 创建一个回归模型和参数集合 ``` python from sklearn.linear_model import LinearRegression model = LinearRegression() param_grid = {'fit_intercept': [True, F al se], 'norm al ize': [True, F al se]} 3. 创建 GridSearchCV 对象,并进行训练和预测 ``` python from sklearn.model_selection import GridSearchCV grid_search = GridSearchCV(model, param_grid, cv=5) grid_search.fit(X, y) y_pred = grid_search.predict(X_test) 请注意,fit() 方法需要传递 X 和 y 作为参数。如果你没有传递这些参数,就会出现 TypeError : fit() missing 1 required position al argument : 'X' 错误。如果你确认代码 没有 问题 ,可以考虑检查数据是否正确加载。
Python中self的用法详解,或者总是提示:TypeError: add() missing 1 required positional argument: 'self'的问题解决 176871 Python selenium错误:ElementNotInteractableException: Message: element not interactable: Element is not 42146 Python selenium错误:ElementNotInteractableException: Message: element not interactable: Element is not m0_67832132: 感谢 确实加个时间有了
 
推荐文章