类实例化参数的问题

class A:
    def __init__(self,x)
        self.x = x
    
    def a(self, a):
        return print(a)
        
    def b(self, b):
        return print(b)

请问上面的类,我要用到a方法,实例化必须穿入一个x,才能用打a方法。
有没有办法不传入x实例化然后用a方法。因为有时候方法没有用到x的值。
谢谢。

阅读 4.5k
3 个回答

这样的话是可以的

  • 不使用x参数
class A:

    def __init__(self, x):
        self.x = x

    def a(self, a):
        return print(a)

    def b(self, b):
        return print(b)

A = A(object)
print(A.a(5))
  • 使用x参数

class A:

    def __init__(self, x):
        self.x = x

    def a(self, a):
        return print(a)

    def b(self):
        return print(self.x)

B = A(3)
print(B.b())

可以使用类直接调用,但不建议.
像如下的方式调用:
A.a('whatever','a')
'whatever'仅仅是一个占位的参数,可以随便输入,只要代替'slef'参数就行
'a'是该方法需要传入的参数

如果你用不到对象的值的话,@staticmethod了解一下。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题