【发布时间】:2017-07-11 01:04:32
【问题描述】:
我读到方法的第一个参数是调用该方法的实例。 我不明白为什么我写这个
class A:
def printName(self, name):
print(name)
A.printName("asd")
我收到错误 TypeError: printName() missing 1 required positional argument: 'name'。 我错过了什么?
【问题讨论】:
我读到方法的第一个参数是调用该方法的实例。 我不明白为什么我写这个
class A:
def printName(self, name):
print(name)
A.printName("asd")
我收到错误 TypeError: printName() missing 1 required positional argument: 'name'。 我错过了什么?
【问题讨论】:
您需要创建一个类实例,然后在该实例上调用方法:
class A:
def printName(self, name):
print(name)
class_instance = A()
class_instance.printName("asd")
【讨论】:
如果你想在不创建该类的实例的情况下调用printName(),则可以使用staticmethod
class A:
@staticmethod
def printName(name):
print(name)
A.printName('hello')
【讨论】:
@staticmethod 告诉我们正在使用staticmethod。在早期版本中,编写 staticmethod 的语法有所不同。您可以谷歌了解更多信息
A.printName('hello') 或 a=A.printName('hello') 时,我没有创建 A 类的实例?
instance_A = A() 的实例。如果答案有帮助,请将答案标记为接受答案。