使用“self”时Python需要位置参数

时间:2017-07-11 01:04:33

标签: python arguments self

我读到方法的第一个参数是调用该方法的实例。 当我写这个

时,我不明白为什么
class A:
    def printName(self, name):
        print(name)

A.printName("asd")

我得到了那个错误TypeError:printName()缺少1个必需的位置参数:'name'。 我错过了什么?

2 个答案:

答案 0 :(得分:2)

您需要创建一个类实例,然后在该实例上调用方法:

class A:
    def printName(self, name):
        print(name)

class_instance = A()
class_instance.printName("asd")

答案 1 :(得分:0)

如果您想在不创建该类实例的情况下调用staticmethod,则可以使用printName()

class A:
    @staticmethod
    def printName(name):
        print(name)

A.printName('hello')