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

2020-09-16 16:19:39 浏览数 (1)

1.设计类 class 车: #属性 颜色 = red 品牌 = "BMW" 车牌 = "沪A88888" #函数 行驶(): 停止(): 2.实例化车对象 car = 车() 3.调用对象的属性或者函数完成需求 print(car.颜色,car.品牌) car.行驶()

代码语言:javascript复制
#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)

0 人点赞