封装:将属性和方法封装到一个抽象的类中,外界使用类创建对象,然后让对象调用方法,对象方法的细节都被封装在类的内部
注:一个对象的属性可以是另一个类创建的对象
定义没有初始值的属性:在定义属性时,如果不知道设置什么初始值,可以设置为None,表示什么都没有,可以将None赋值给任何一个变量
案例一
小明跑步
- 需求:小明体重75.0公斤;小明每次跑步会减肥0.5公斤;小明每次吃东西体重增加1公斤
- 增加需求:小美体重45公斤
class Person:
def __init__(self, name, weight):
self.name = name
self.weight = weight
def __str__(self):
return "我的名字叫%s,体重是%.2f" % (self.name, self.weight)
def run(self):
print("%s爱跑步" % self.name)
self.weight -= 0.5
def eat(self):
print("%s是吃货" % self.name)
self.weight += 1.0
xiao_ming = Person("小明", 75.0)
xiao_ming.run()
xiao_ming.eat()
print(xiao_ming)
xiao_mei = Person("小美", 45.0)
xiao_mei.run()
xiao_mei.eat()
print(xiao_mei)