作者丨未知
面向对象
类和对象
1.Python类定义
2.类属性
3.类方法
面向过程和面向对象
面向过程 和 面向对象 编程
1.面向过程 编程:函数式编程,C程序,shell等
2.面向对象 编程:C++ ,Java,Python
类和对象
类和对象:是面向对象中的两个重要概念
1.类: 是对事物的抽象,比如:人类,球类
2.对象:是类的一个实例,比如:足球,篮球
实例说明:
球类可以对球的特征和行为进行抽象,然后可以实例化一个真实的球实体出来
静态属性,动态方法
为什么面向对象
面向对象的主要思想是:
1.封装
2.继承
3.多态
这种思想方便解决较为复杂的项目,且维护起来较为容易
类的定义
类定义:
类把需要的变量和函数组合成一起,这样包含称为"封装"
class A(object):
类的结构:
class 类名:
成员变量 - 属性
成员函数 - 方法
类的方法中至少有一个参数 self
输出结果:
对象的创建
创建对象的过程称之为实例化;
当一个对象被创建后,包含三个方面的特性
1.对象句柄
2.属性
3.方法
句柄用于 区分不同的对象
对象的属性和方法与类中的成员变量和成员函数对应
obj = MyClass() # 创建类的一个实例(对象)通过对象来调用方法和属性
类的属性
类的属性按使用范围分为公有属性和私有属性,类的属性范围取决于属性的名称
公有属性:
在类中和类外都能调用的属性
私有属性:
不能再类外以及被类以外的函数调用
定义方式:
以"__"双下划线开始的成员变量就是私有属性
可以通过
instance._classname__attribute方式访问
内置属性:由系统在定义类的时候默认添加的,由前后双下划线构成,__dict__ , __module__
输出结果:
类的方法
1.方法的定义和函数一样,但是需要self 作为第一个参数
2.类方法:
公有方法
私有方法
类方法
静态方法
公有方法:在类中和类外都能调用的方法
私有方法:不能被类的外部调用,在方法前面加上"__"双下划线就是私有方法
self 参数
用于区分函数和类的方法(必须有一个self),self参数表示执行对象本身
方法和函数的区别是:在括号内有没有self,有self就是方法,没有就是函数
self代表类的本事
通过类调用!
类的方法 (能被类直接调用的叫做类方法)
类方法:
被classmethod()函数处理过的函数,能被类所调用,也能被对象所调用(是继承的关系)
classmethod
修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等。
静态方法:
相当于"全局函数",可以被类直接调 用,可以被所有实例化对象共享,通过staticmethod()定义,
静态方法没有self参数。
装饰器:
使用例子
推荐↓↓↓
领取 专属20元代金券
Get大咖技术交流圈