补充:
今日内容:
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'}