python第三十九课——面向对象(二)之设计类


1.设计类
class 车:
#属性
颜色 = red
品牌 = "BMW"
车牌 = "沪A88888"
#函数
行驶():
停止():
2.实例化车对象
car = 车()
3.调用对象的属性或者函数完成需求
print(car.颜色,car.品牌)
car.行驶()
#1.设计类
class Car(object):
    #属性
    color='red'
    brand='BMW'
    number='粤A888888'
    #函数
    def run(self):
        print('%s的%s,车牌为:%s,正在飞速行驶' %(self.color,self.brand,self.number))

    def stop(self):
        print('车停了...')

#2.创建对象
c1=Car()

#3.调用对象的属性或者函数完成需求
print(c1,type(c1),id(c1))
print(c1.color,c1.brand,c1.number)
c1.run()
c1.stop()

#再创建一个Car对象:c2
c2=Car()
print(c2,type(c2),id(c2))

#每个对象在类的成员(属性,函数)这块,都是彼此各自有一套
c2.run()
c2.stop()
c3=c1
print(c3,id(c3))
print(c1,id(c1))
c1.color='blue'
print(c3.color,c1.color)
print(c2.color)
c1=None

'''
请问:此时堆中有垃圾空间吗?
不是,原因:虽然c1失去了堆中对象的地址,但是c3中还记录着(它们指针连着呢)
'''

print(c1.color)
print(c3.color)


返回目录

posted @ 2019-02-28 23:26  hank-li  阅读(185)  评论(0编辑  收藏  举报