__init__对象属性初始化方法

class linkedlist:
    def __init__(self,value):   #只在创建对象时调用一次!
        self.head={'value':value,'next':None}#self恰恰提供了我们将属性封装到对象的能力。self是实现封装的关键。
        self.tail=self.head#当调用对象时,不用传入self这个入参,python会帮助我们自动调用。
        self.length=1            #self还可以让我们来通过它,操作类的属性来计算、保存等操作
        print("----initialized----")
    def append(self,value):
        self.newnode={'value':value,'next':None}
        self.tail['next']=self.newnode
        self.tail=self.newnode      
        self.length+=1
if __name__=='__main__':
    l=linkedlist(10)#创建对象
    print(l.length)
    l.append(5)#并没有创建对象
    print(l.length)
    l.append(16)
    print(l.length)
# output:
"""
----initialized----
1
2
3
"""
posted @ 2020-06-09 20:29  Parallax  阅读(352)  评论(0编辑  收藏  举报