当前位置: 首页 > 面试题库 >

Python3:检查方法是否静态

牛迪
2023-03-14
问题内容

Simmilar问题(与Python2相关:Python:检查方法是否为静态)

让我们考虑以下类定义:

class A:
  def f(self):
    return 'this is f'

  @staticmethod
  def g():
    return 'this is g'

在Python 3中instancemethod,一切都不再是功能了,因此与Python 2相关的答案将不再起作用。

正如我所说的,一切都是函数,因此我们可以调用A.f(0),但是我们当然不能调用A.f()(参数不匹配)。但是,如果我们做一个实例a=A(),我们叫a.f()Python的传递给函数A.fself作为第一个参数。调用a.g()阻止发送或捕获self-,因此必须有一种方法来测试它是否为静态方法。

那么我们可以在Python3中检查方法是否被声明为static吗?


问题答案:
class A:
  def f(self):
    return 'this is f'

  @staticmethod
  def g():
    return 'this is g'
print(type(A.__dict__['g']))
print(type(A.g))

<class 'staticmethod'>
<class 'function'>


 类似资料:
  • 本文向大家介绍php检查是否是ajax请求的方法,包括了php检查是否是ajax请求的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php检查是否是ajax请求的方法。分享给大家供大家参考。具体如下: 通过这段代码可以判断用户的请求是否来自AJAX XMLHttpRequest,以区别普通post,get和ajax 希望本文所述对大家的php程序设计有所帮助。

  • 我正在尝试编写布尔方法,但它不起作用 它的工作,如果我写这个方法: 我应该如何为它制作布尔方法?

  • 我正在和一个班合作。我正在使用一些方法。 我需要检查我需要传递的参数,来调用这个方法。我就是这样做的 它工作得很好,但我知道有些方法有重载(没有参数),但这段代码只显示最后声明的方法(有参数要调用)。我怎样才能同时得到这两个重载? 这就是它的样子(我知道这个方法有重载) 例如另一个类:类扫描比打印方法方法 要扫描的代码 类的构造函数,它扫描给定的对象。 这就是我打印它们的方式。

  • 我有一个函数需要一个iterable: 在javascript中,我将利用: 取自Tomas Kulich的原始答案。 这将导致下一个代码: 有没有一种方法可以利用TypeScript的打字功能而不是使用这个即时功能?

  • 问题内容: 我有一个游标,带有来自选择的值,我想根据我是否发现任何行来做点什么。 这似乎不起作用,有帮助吗? 问题答案: 您需要在使用%FOUND属性之前对游标执行FETCH。将您的代码更改为类似 请注意,您可能需要将变量添加到FETCH语句的INTO子句中,在TABLE1和TABLE2中的每一列都需要添加一个变量。还要注意,编写此游标的方式可能会获得比预期更多的返回行。因为没有指定连接条件,所以

  • 我有一个角度服务公开了一个公共方法。在它的主体中,可以根据条件调用两个不同的私有方法 如何根据传递给公共方法的输入参数,与jasmine一起检查是否调用了一个或另一个方法?我知道我们不应该测试私有方法,但实际上在这里我只想验证公共方法是否调用了正确的私有方法。我不想公开私有方法,因为我只希望服务提供一个访问点。 我的服务方式: } 茉莉花试验: });