说道面向对象,首先我想说说面向过程.面向过程是一种编程思想,指的是 先干什么 再干什么,完成一个事情所有的具体步骤,就是把复杂的问题流程化,简单化,降低开发难度,但是同时它也限制了程序的应用即扩展性比较差或者说扩展的难度大.
为了解决上面这个问题,于是就有了面向对象这种编程语言.说道对象编程,首先我们要说一下什么是对象?再现实生活中实实在在存在的,具备自己的特征和行为的事物都可称之为对象.所以我们只要找到可以帮我们完成任务的对象对其下达命令即可.
而一堆具有相同特征和行为的对象我们称之为类.
语法:关键字 class+类名
类名规范 大写开头 驼峰命名法
例如:class Students:
pass
在定义阶段只有包含类的py文件被执行,就会做两件事情: 1.就会创建类的名称空间,2.执行代码 将产生的名称放入名称空间
描述类的对象的行为要通过函数:
class Students:
def sleep():
print('sleeping')
使用时,就像函数一样调用就好.
如:Students.sleep()
我们亦可以自己创建对象:
class Students:
school='北大'
stu=Students()
访问属性
stu.school
修改属性
stu.school='清华'
增加属性
stu.age=26
删除属性
del stu.age
通过上面这个例子,我们可以发现:对象 与类的名称空间是独立的,查找的顺序是先从对象自己的名称空间到类的名称空间.
在填入属性时,我们一个一个写会比较麻烦,所以下面说一种比较简洁的方法.
class Dog:
def __init__(self,name,color,age,gender):
self.name = name
self.age = age
self.color = color
self.gender = gender
直接调用:
Dog("大黄","黄色",3,"female")