面向对象的概念: python是一门面向对象的编程语言 面向对象编程中,最常见的表现就是基于类来表现 什么是类(class): 类是用来描述具有相同属性和方法对象的集合 类=属性+行为 属性:特征 方法:行为 什么是对象: 对象是类的实例 世间万物都可以是对象
简单的定义一个类,关键字是class
属性和方法不要随便定义,要基于类的前提下去定义
类的实例化:比较重要的东西
举例
在这里jige就是对象,把类的属性加在鸡哥的身上
每次调用类的时候,一定要先实例化,赋予个对象,要不不行,一定要有对象!有对象!
构造方法:
类名有一个__init__()的特殊方法(构造方法),该方法在类实例化时会自动调用
当然__init__()方法可以有参数,参数通过__init__()传递到类的实例化上
用于初始化数据时候会使用 举个例子:
我在执行实例化的时候,他就会自动执行这个方法,而且是最先的调用
接下来我们来简单介绍一下关于类的知识点
类的属性:
类属性:相当于全局变量,实例对象共有的属性 举个例子:比如把人类设定成一个类属性的话,那么所有人类共有的属性就是类属性 比如:正常人都有五官,都会走路,都需要呼吸等 实例属性:实例对象自己私有,只能通过对象来调用 举例:还是用人类来举例,一个人有一个技能,但是这个技能并不是所有人都会的 比如:我家哥哥会打篮球,会唱,会跳,还会rap,这些是他会的技能,但是这些技能并不是所有人都会的 所以当调用这些的时候,你要先调用哥哥,才能继续调用他技能,也就是实例属性。 内置属性:这个简单来了解一下就行 类名__dict__:类的属性(包含一个字典,由类的数据属性构成) 类名—__doc__:类的文档字符串 类名:__name__:类名 类名:__module__:类定义所在的模块(类的全名是'__main__.className',如果类位于一个导入模块mymod中,那么className.__module__等于mymod) 类名:__bases__:类的所哟父类构成的元素(包含了一个由所有父类组成的元组)
类的方法:
实例方法: 使用def关键字来定义一个方法,与一般的函数定义不同,类方法必须包含参数self,且为第一个参数, self代表的是类的实例,实例方法只能被实例对象调用 静态方法: 由@staticmethod装饰的方法,没有self这个参数,而将这个方法当成一个普通函数使用,可以被类或类 的实例对象调用 类方法: 由@classmethod装饰的方法,他的第一个参数不是self,而是cls,它代表这个类的本身,可以被类或类 的实例化对象调用
内置方法:指定的额方法名,去执行特定的业务 命名规则:__init__()这个就是内置方法,以两队下划线开始,以两下划线结束 __init__(self,...):构造方法,在生成对象时调用,可以用来进行一些初始化数据的操作, 不需要显示去调用,系统会默认执行 __del__(self):析构方法,在释放对象时调用,支持重载,可以在里面进行一些释放资源的操 作,不需要显示调用 #在整个代码执行完毕会自动调用 __str__(self,....):自定义实例输出方法,写好该方法后,替换实例默认的输出操作 __getattribute__(...):获取实例属性的值,可直接结合对象使用
其实类属性和类方法还有一个,叫做私有类属性/方法
私有类属性/方法: 私有属性:必须以双下划线开头,只能类内部才能够访问 私有方法::必须以双下划线开头,只能类内部才能够调用
简单吧,完活。
欢迎各位同学进行交流,栓Q!!!