如何调用class中的方法?
How to call method in the class?
我正在使用 classes 练习,但我不知道如何正确使用它们。
这里我想把class放到另一个文件里,里面的代码是:
class TestClass:
def repeat(txt:str, num:int):
counter = 0
while counter < num:
print(txt)
counter = counter + 1
创建对象后无法调用方法。这是代码:
testing2 = testing.TestClass()
testing2.repeat('test', 10)
错误:
#the error is: TypeError: TestClass.repeat() takes 2 positional arguments but 3 were given
我认为这是一个小问题,但解释它的解决方案将对我的理解有很大帮助。
创建class时,需要遵循class实现的基本原则。您忘记了初始化您 class 的 __init__
函数,您的代码需要如下所示:
class TestClass:
def __init__(self):
super().__init__()
def repeat(self, txt:str, num:int):
counter = 0
while counter < num:
print(txt)
counter = counter + 1
然后一切正常
testing2 = TestClass()
testing2.repeat('test', 10)
#test
#test
#test
#test
#test
#test
#test
#test
#test
#test
class TestClass:
def repeat(self, txt:str, num:int):
counter = 0
while counter < num:
print(txt)
counter = counter + 1
向 def 定义添加一个参数 (self
)。
您还可以像这样初始化 class:
testing2 = TestClass()
testing2.repeat('test', 10)
我正在使用 classes 练习,但我不知道如何正确使用它们。
这里我想把class放到另一个文件里,里面的代码是:
class TestClass:
def repeat(txt:str, num:int):
counter = 0
while counter < num:
print(txt)
counter = counter + 1
创建对象后无法调用方法。这是代码:
testing2 = testing.TestClass()
testing2.repeat('test', 10)
错误:
#the error is: TypeError: TestClass.repeat() takes 2 positional arguments but 3 were given
我认为这是一个小问题,但解释它的解决方案将对我的理解有很大帮助。
创建class时,需要遵循class实现的基本原则。您忘记了初始化您 class 的 __init__
函数,您的代码需要如下所示:
class TestClass:
def __init__(self):
super().__init__()
def repeat(self, txt:str, num:int):
counter = 0
while counter < num:
print(txt)
counter = counter + 1
然后一切正常
testing2 = TestClass()
testing2.repeat('test', 10)
#test
#test
#test
#test
#test
#test
#test
#test
#test
#test
class TestClass:
def repeat(self, txt:str, num:int):
counter = 0
while counter < num:
print(txt)
counter = counter + 1
向 def 定义添加一个参数 (self
)。
您还可以像这样初始化 class:
testing2 = TestClass()
testing2.repeat('test', 10)