补充:

 

今日内容:

1、认识面向对象

2、了解面向对象编程

3、基础的 类对象的语法

 人狗大战的例子:

def Person(life_value,aggr,name,job):
    def attack(dog):
        print("%s攻击了%s"%(person["name"],dog["name"]))
        dog["life_value"]=dog["life_value"]-person["aggr"]
    person={
        "life_value":life_value,
        "aggr":aggr,
        "name":name,
        "job":job,
        "attack":attack
    }
    return person
boss_gold=Person(1000,2,"jinlaoban","boss")
alex=Person(250,250,"alex","big_boss")
def Dog(name,life_value,aggr,kind):
    def bite(person):
        print("%s咬了%s"%(dog["name"],person["name"]))
        person["life_value"]-=dog['aggr']
    dog={
        "name":name,
        "life_value":life_value,
        "aggr":aggr,
        "kind":kind,
        "bite":bite
        }
    return dog
alph=Dog("alphgou",10000,999,"ai")
flower=Dog("xiaohua",150,300,"2ha")
alph["bite"](boss_gold)
alex["attack"](flower)
人狗大战的例子

1、这就四面向对象的编程

  面向对象是一种思想

  对象就是具体的拥有准确属性值的一些变量

  类:一类具有相同属性和方法的食物

    字典——类

2、什么是类

3、第一个作用,属性的引用以及属性引用的增删改查

class Person:
    country="中国"
    def walk(self):
        print("walk")
print(Person.country)   #静态属性的查看
print(Person.walk)
Person.role=""     #添加一个新的静态属性
print(Person.role)
Person.country="印度"  #修改一个静态属性
print(Person.country)
del Person.role #删除一个静态属性

print(Person.__dict__)
print(Person.__dict__["country"])
print(Person.country)
属性引用的增删改查

4、实例化对象

  类能完成第二个功能:实例化对象

  实例化:从一个类中创造一个具体的对象的过程

p=Person()
print(p)   #Person的对象

5、类的两个作用

class Person:     #类名有两个作用
    country="中国" #静态属性、数据属性
    def __init__(self,life_value,aggr,name,job):#初始化方法
        self.lv=life_value
        self.name=name
        self.aggr=aggr
        self.job=job
    def walk(self): #动态属性、函数属性、方法
        print("walk")
# p=Person() #如何让对象拥有具体的属性
p=Person(1000,2,"金老板","boss")  #让对象有具体的属性
print(p.lv)   #Person 的对象
print(p.name)   #Person 的对象
print(p.job) #Person 的对象
print(p.aggr) #Person 的对象
#构造方法:造对象
#初始化:给这个赤裸裸的对象添加一些属相__init__
#返回了一个初始化的对象
类与属性

6、对象的调用

 7、类的增删改查

class Person:     #类名有两个作用
    country="中国" #静态属性、数据属性
    def __init__(self,life_value,aggr,name,job):#初始化方法
        self.lv=life_value
        self.name=name
        self.aggr=aggr
        self.job=job
    def walk(self): #动态属性、函数属性、方法
        print("%s is walking"%self.name)
# p=Person() #如何让对象拥有具体的属性
p=Person(1000,2,"金老板","boss")  #让对象有具体的属性
print(p.__dict__)        #查看
print(p.__dict__["lv"])  #1000
p.__dict__["lv"]=998        #对象名.__dict__中的属性值可以被修改
print(p.__dict__["lv"],p.lv)
p.__dict__["sex"]="lady_boy"   #对象名.__dict__中的属性值可以增加
print(p.__dict__["sex"],p.sex)
p.__dict__.pop("sex")     #对象名.__dict__可以被删除
print(p.__dict__)
类的增删改查
class Person:     #类名有两个作用
    country="中国" #静态属性、数据属性
    def __init__(self,life_value,aggr,name,job):#初始化方法
        self.lv=life_value
        self.name=name
        self.aggr=aggr
        self.job=job
    def walk(self): #动态属性、函数属性、方法
        print("%s is walking"%self.name)
# p=Person() #如何让对象拥有具体的属性
p=Person(1000,2,"金老板","boss")  #让对象有具体的属性
print(p.lv)   #Person 的对象
print(p.name)   #Person 的对象
print(p.job) #Person 的对象
print(p.aggr) #Person 的对象
p.sex="laday_boy"   #增加一个属性
print(p.sex)
p.sex="girl"        #属性的修改
print(p.sex)
del p.sex           #属性的删除
类的增删改查 (简单,重要)

 8、

9、模板

class Person:     #类名有两个作用
    country="中国" #静态属性、数据属性
    def __init__(self,life_value,aggr,name,job):#初始化方法
        self.lv=life_value
        self.name=name
        self.aggr=aggr
        self.job=job
    def walk(self): #动态属性、函数属性、方法
        print("%s is walking"%self.name)
# p=Person() #如何让对象拥有具体的属性
p=Person(1000,2,"金老板","boss")  #让对象有具体的属性
boss_gold=Person(10,1,"taibai","old_driver")
boss_sex="None"
print(boss_gold.__dict__)
#{'lv': 10, 'name': 'taibai', 'aggr': 1, 'job': 'old_driver'}
类与对象实例化的模板