python - 类型错误:() 缺少 1 个必需的位置参数:'self'
问题描述
我创建了一个具有 on_set()、on_get() 和 on_change() 方法的“var”类:
class var:
def __init__(self):
self.v = None
# setter = lambda self,v: print(self.v,v)
def set(self,v):
if v != self.v:
self.v = v
self.on_change()
self.on_set()
def get(self):
self.on_get()
return self.v
def on_set(self):
pass
def on_get(self):
pass
def on_change(self):
pass
然后我这样做了:
a=var()
a.on_set = lambda self: print(self.v)
a.set(2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\api\py\Styg\Styg.py", line 44, in set
self.on_set()
TypeError: <lambda>() missing 1 required positional argument: 'self'
我究竟做错了什么?
解决方案
推荐阅读
- python - 如何在不使用熊猫的情况下将来自不同列表的数据添加到 csv 文件中?
- python - Unable to select the table data in scrapy
- django - Error creating a multi-step form using Django session
- java - How do I add an ActionListener to a JCheckBox?
- javascript - Checkbox dynamic select with Gravity Forms
- python - Use max function to find longest string in list of lists
- node.js - How to process webcam images on nodejs using Posenet?
- c - fwrite skipping data
- r - Creating orthomosaic from *.las point cloud in R
- python - 如何有效地填充 numpy 二维数组?