标签:python
面向对象:对象各自完成各自任务,面向过程是相当于领导者帮各对象完成任务。面向对象有点模块化的意思,面向过程有牵一发动全身的意思。面向过程就有点什么东西都得考虑到,面面俱到的意思。
类:说到面向对象必须知道类,例:类就是一个飞机模板,飞机就是对象。类就是一个模型,对象就是一个真正看得见摸得着的实体:
类的3个组成部分:
类型的名称:类名
类的属性:一组数据
类的方法:允许对进行操作的方法(行为),也就是它的功能
定义一个类:
class 类名:
#属性
#方法
def eat(self):
print(“猫在吃鱼”)
def drink(self):
print(“猫在喝kele...”)
创建一个对象就是在内存中开辟了一个内存空间
属性不要在类里面定义,直接在调用时添加即可:
调用属性时也可以直接用函数定义在类里,然后通过类调用即可。
__init__:初始化对象属性,不需要调用自动调用即可执行,默认值的设定。也称为魔法方法,具有特殊功能的方法。
最好的属性添加应该在初始化对象时通过__init__初始化,然后在调用类时传递参数。
__str__方法:必须要用return,也是自动调用,用来反映对象的描述信息。
类里面的属性就相当于全局变量,然后类里面的方法都可以调用它。
烤地瓜,属性值累加到对象定义完才是真正完成:
存家具:在对象里放对象。
隐藏对象属性:直接获取属性不安全,比如查看某人的工资,要别人允许才行,允许就return返回值,不允许就不rerurn,应该把这个属性做成一个方法,那么隐藏属性就是通过方法来实现,不直接表现出来,这样还可以避免设置成-10而程序不报错的问题。
私有方法:加两个__xx在函数里的,那么不让在外面直接调用,而需要在另一个函数里通过self.x的方式调用,这样可以做到某些功能通过if判断句验证后才能调,起到一个控制作用:
__del__方法:当没有东西调用的时候就用到,一般游戏里英雄死的时候会用到,就像硬链接有几个引用,直到最后一次引用被干掉后就会执行__del__:
import random:random就相当于工具箱,sys是个模块。sys.getrefcount(t)就相当查看硬链接数,它比实际的要多1.
继承:为什么让程序当中少写代码,直接继承前面创建过的程序即可。让子类直接调用父类即可,甚至猫类的吃可以继承动物类的吃
父类:class xx:
子类:class xx(): 比父类多一个大括号。
标签:python
原文地址:http://liukexing.blog.51cto.com/1180302/1970191