# coding: utf-8
# 面向过程的编程语言,例如c
# python是面向对象的编程语言,封装 继承 多态
# 类 : 具有相同属性和行为方法的事物的抽象的集合
# 人类的属性: 姓名 年龄 性别 身高 体重....
# 人类的行为:吃喝拉撒睡   思考事物  使用工具
# 对象 : 类的具体的实例化
# 人类中的:特朗普,鮑先富


# class : 群体 、班级  理解为类的意思
# object python中的基类  祖宗类
class People(object):

    # 初始化函数,在创建对象时,通过初始化函数给对象属性赋值
    # init函数会在创建对象时,自动调用
    def __init__(self, sex, age, height, weight):
        # 给对象属性赋值
        # 对象.属性名 = 属性值
        self.sex = sex
        self.age = age
        self.height = height
        self.weight = weight

    # 定义对象功能函数
    # 对象函数,只有用对象才能调用
    def eat(self):
        # self 哪个对象调用这个函数,在函数中self指的就是这个对象
        # 对象A调用,self就是对象A 对象B调用self指的就是对象B
        print self

    def run(self, time):
        print '%s跑了%s分钟'%(self.name, time)

# 创建一个People类的对象
# 对象名 = 类名(属性值1,属性值2,属性值3.。。。。。)
p1 = People('男', 0.83, 30, 8.8)
# 获取对象属性
# 变量 = 对象.属性名
age = p1.age
print age
# 对象打点调属性在等号的右边  获取属性值
# 对象打点调属性在等号的左边  设置属性值
# 修改或添加对象的属性,如果有这个属性 修改,没有就添加
# 对象.属性名 = 值
p1.age = 18
print p1.age
# 添加属性
p1.name = '张三'
p1.run(20)

p2 = People('女' , 0.83, 30, 7)
p2.name = '李四'
p2.run(20)

# 删除对象的属性
del p2.name
# print p2.name