最近在学习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: