我是python的新手,正试图弄清一个类的工作方式 这是我的代码,非常简单,但是我每次运行时都会得到AttributeError:'NoneType'对象没有属性'arg1'。
class testclass:
def testmethod(self, arg1, arg2):
self.arg1 = arg1
self.arg2 = arg2
p = testclass().testmethod("input1", "input2")
print(p.arg1)
我知道到现在它已经发布了一百万次了,但我只是想不通
答案 0 :(得分:1)
当methods
中的function
不return
时,default
则return
None
,如果您这样做:
p = testclass.testmethod('input', 'input'2)
您将变量p
分配给None
是因为testmethod
不返回任何内容,如果使用这种情况,则可以返回self
以获取self
object
。
class testclass:
def testmethod(self, arg1, arg2):
self.arg1 = arg1
self.arg2 = arg2
return self
p = testclass().testmethod("input1", "input2")
print(p.arg1)
输出
input1
但是我认为最好使用constructor
方法__init__
。
class testclass:
def __init__(self, arg1, arg2):
self.arg1 = arg1
self.arg2 = arg2
p = testclass("input1", "input2")
print(p.arg1)