类的定义:一个抽象的概念,保存一些共有的属性和特征 #对象:对象代表具体事物的特征功能,是类的实例#面向对象程序设计 通过函数实现面向对象设计 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 dog2return 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)