为了账号安全,请及时绑定邮箱和手机立即绑定

如何从类变量调用函数的方法

如何从类变量调用函数的方法

慕侠2389804 2022-08-11 16:54:07
我有一个班级class Test(object):    @staticmethod    def f(str):      print(str)    a = f('aaa')如何正确操作?我有错误。classmethod 属性也会出错。请不要建议从课堂外打电话,我希望以这种方式实现它。'staticmethod' object is not callable
查看完整描述

3 回答

?
慕森卡

TA贡献1806条经验 获得超8个赞

class Test(object):

   @staticmethod

   def f(str):

     print(str)

   a = f.__func__('aaa')


查看完整回答
反对 回复 2022-08-11
?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

要从类内部调用它,请使用 self 关键字。

a = self.f('aaa')


查看完整回答
反对 回复 2022-08-11
?
倚天杖

TA贡献1828条经验 获得超3个赞

从文档中:


它可以在类(如 C.f())或实例(如 C().f())上调用。该实例将被忽略,但其类除外。


因此,您需要在类中的另一个函数中调用它,或者从该类创建一个对象实例。例如:


class Test(object):


    def __init__(self):

        self.a = self.f('aaa')


    @staticmethod

    def f(str):

      print(str)


查看完整回答
反对 回复 2022-08-11
  • 3 回答
  • 0 关注
  • 136 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信