类的定义:一个抽象的概念,保存一些共有的属性和特征
#对象:对象代表具体事物的特征功能,是类的实例
#面向对象程序设计 通过函数实现面向对象设计
def dog(name,type,gender):
def jiao(dog1):
print("你看[%s]狗再叫" % dog1["name"])
#函数的局部作用域
def sleeping(dog1):
print("你看[%s]的类别" %dog1["type"])
#初始化参数
def init(name,type,gender):
dog2={
"name":name,
"type":type,
"gender":gender,
"jiao":jiao,#将函数名作为键值传入
"sleeping":sleeping
}
return dog2
return init(name,type,gender)
d1=dog("小黄","中华田园犬","公")
d1['jiao'](d1)
#类:把一类事物相同的特征和动作整合到一起就是类,类是一个抽象的概念
#对象:就是基于类创建的一个具体事物,一个具体的事物具体的存在,,也是特征和动作整合到一块
#对象是由类产生的, 实例化:由类产生对象的过程叫做实例化
#
#学校类
#特征: name addres type
#动作: 考试,招生,开除学生
class School:
#school1={"name":"oldboy","addres":"雁江","type":"私立学校"}
def __init__(self,name,addres,types):
self.name=name
self.addres=addres
self.types=types
def test(self):
print("%s学校正在考试" % self.name)
def join_student(self):
print("%s 正在招生" %self.types)
bob = School("oldboy","阳江","私立学校")
print(bob.__dict__)
bob.test()
bob.join_student()
#通过函数实现面向对象设计
def school(name,addres,type):
def init(name,addres,type):
school1={"name":name,
"addres":addres,
"type":type,
"test":test,
"join_student":join_student}
return school1
def test(school_only):
print("%s 学校在考试" %school_only['name'])
def join_student(school_only):
print("%s 招生中" %school_only['type'])
return init(name,addres,type)
s1=school("oldboy","中国",'培训学校')
print(s1,s1['name'])
s1['test'](s1)