这段代码:
class testclass:
def __init__(self,x,y):
self.x = x
self.y = y
self.test()
def test():
print('test')
if __name__ == '__main__':
x = testclass(2,3)
产量:
Error:
TypeError:test() takes no argument(1 given)
我正在调用不带任何参数的测试函数,为什么错误表示我给了一个?
您将方法称为self.test()
。您应该在思维上进行翻译,以test(self)
了解如何在函数的定义中“接收”该调用。test
但是def test()
,您对的定义很简单,它没有放置的self
余地,因此您得到了观察到的错误。
为什么会这样呢?因为Python只能在明确指定要查看的对象时查找属性(并且查找属性包括方法调用)。因此,为了使该方法执行依赖于调用它的对象的任何操作,它需要以某种方式接收该对象。接收它的机制是第一个参数。
使用装饰器可以告诉Pythontest
实际上根本不需要。在那种情况下,Python知道该方法不需要,因此它不会尝试将其添加为第一个参数。因此,以下任何一种定义都可以解决您的问题:self``staticmethod``self``test
def test(self):
print('test')
要么:
@staticmethod
def test():
print('test')
请注意,这仅与在对象上调用的方法有关(总是看起来像some_object.some_method(...)
)。普通函数调用(看起来像function(...)
)没有任何“点的左侧”,因此没有self
,因此不会自动传递。
问题内容: 我对包含不带参数的泛型方法的代码感到困惑,所以这种方法的返回泛型类型是什么,例如: 这是通过以下方式调用的: 接口定义为: 我的问题:是否接受字符串,对象和所有内容。那么什么时候将通用返回类型指定为String呢? 问题答案: 编译器从 LHS 分配中使用的具体类型推断出类型。 从此链接: 如果类型参数未出现在方法参数的类型中,则编译器无法通过检查实际方法参数的类型来推断类型参数。如果
这是我的错误行: 这是我的代码:
我试图使用Google的协议缓冲区描述RPC服务 当我试图编译这个定义时,我得到一个错误,指向片段。 如果我用替换,它可以正常工作,但在这种情况下,该方法不需要任何参数。有办法做到这一点吗?还是根本不支持?
我正在使用Mapstruct映射器开始我的第一步。我想把一个JPA数据实体类映射到一个DTO类。这是我的源类: 这是我的目标类: 任何帮助都将不胜感激!
我是编程界的新手,我从很多方面研究过这个错误,但我什么也没发现。我正在尝试构建一个ListView。Flatter中的生成器,其中itemBuilder来自我的JSON响应数据,如下所示: 我需要获取要使用ListView获取的项的“名称”。建筑工人,这就是我想到的 但在ListView中显示所需内容时,总是会出现错误。建设者我的JSON响应的运行时类型是“\u InternalLinkedHas
我已经阅读了文档:https://libgdx.badlogicgames.com/ci/nightlies/docs/api/com/badlogic/gdx/graphics/g2d/SpriteBatch.html#draw-com.badlogic.gdx.graphics.Texture-float-float-float-float-float-float-float-float-fl
本文向大家介绍在调用子类构造方法之前会先调用父类没有参数的构造方法,其目的是?相关面试题,主要包含被问及在调用子类构造方法之前会先调用父类没有参数的构造方法,其目的是?时的应答技巧和注意事项,需要的朋友参考一下 帮助子类做初始化工作。
问题内容: 我正在将Python与pyodbc导入一起使用。 我正在使用Microsoft Office 2013 64位。 我试图查询accdb数据库以选择范围内的不同日期,并将它们分配给游标,以便随后将它们附加到列表中。 我的Access数据库有一个名为Closing_prices的表和一个名为Date_的列,其数据类型为“日期/时间”。 我的代码如下: 但是,我收到错误消息: 由于Date_