这段代码我觉得很好的说明了python中类的方法在加self和不加self的区别。
123456789101112131415161718192021222324252627282930313233343536373839404142434445 | >>> class AAA( object ): ... def go( self ): ... self .one = 'hello' ... >>> class BBB( object ): ... def go( self ): ... one = 'hello' ... >>> a1 = AAA() >>> a1.go() >>> a1.one 'hello' >>> a2 = AAA() >>> a2.one Traceback (most recent call last): File "<stdin>" , line 1 , in <module> AttributeError: 'AAA' object has no attribute 'one' >>> a2.go() >>> a2.one 'hello' >>> b1 = BBB() >>> b1.go() >>> b1.one Traceback (most recent call last): File "<stdin>" , line 1 , in <module> AttributeError: 'BBB' object has no attribute 'one' >>> BBB.one Traceback (most recent call last): File "<stdin>" , line 1 , in <module> AttributeError: type object 'BBB' has no attribute 'one' >>> class BBB( object ): ... def go( self ): ... one = 'hello' ... PRint one ... self .another = one ... >>> b2 = BBB() >>> b2.go() hello >>> b2.another 'hello' >>> b2.one Traceback (most recent call last): File "<stdin>" , line 1 , in <module> AttributeError: 'BBB' object has no attribute 'one' |
新闻热点
疑难解答