什么是类,Python class类的定义
Python 从设计之初就是一门面向对象的语言,Python 中的一切数据都是对象。
Python 中涉及面向对象的术语主要有:
Python 中定义一个类的语法如下:
定义类后可以将其实例化得到一个对象,并通过操作对象完成目标任务,例如:
类内部的变量分为类变量和实例变量两种,类变量的定义和普通变量一样,调用时使用的方式直接访问,类的实例也能访问类变量。实例变量则是以 self. 开头,仅供各个实例对象使用。
类内部的方法分为三种:
Python 中涉及面向对象的术语主要有:
- 类:用来描述具有相同的属性和方法的对象的集合,定义了该集合中每个对象所共有的属性和方法。类是生成对象的“模板”;
- 对象:通过类定义的数据结构实例。对象由类变量、实例变量和方法构成;
- 数据成员:类变量或者实例变量,用于处理类及其实例对象的相关的数据,又称属性;
- 类变量:同一个类的所有对象均可访问的变量,类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用;
- 实例变量:在类的声明中,属性是用变量来表示的。这种变量就称为实例变量,是在类声明的内部但是在类的其他成员方法之外声明的;
- 方法:类中定义的函数;
- 实例化:创建一个类的实例,即生成类的一个具体对象;
- 继承:即一个派生类(Derived Class,也称子类)继承基类(Base Class,也称父类)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待;
- 方法重写:在子类中定义与父类同名的方法,这个过程称为方法的重写(Overwrite),又称方法的覆盖(Override)。
Python 中定义一个类的语法如下:
class 类名:
<数据成员声明 1>
...
<数据成员声明 N>
定义类后可以将其实例化得到一个对象,并通过操作对象完成目标任务,例如:
class Class1: i = 123 def func1(self): return 'Hello there!' x = Class1() print("Class1 类的属性 i 为:", x.i) print("Class1 类的方法 func1() 输出为:", x.func1())上述代码的运行结果如下所示:
>>> class Class1:
... i = 123
... def func1(self):
... return 'Hello there!'
>>> x = Class1()
>>> print("Class1 类的属性 i 为:", x.i)
Class1 类的属性 i 为: 123
>>> print("Class1 类的方法 func1() 输出为:", x.func1())
Class1 类的方法 func1() 输出为: Hello there!
类内部的变量分为类变量和实例变量两种,类变量的定义和普通变量一样,调用时使用的方式直接访问,类的实例也能访问类变量。实例变量则是以 self. 开头,仅供各个实例对象使用。
类名.变量名
类内部的方法分为三种:
- 实例方法:是指该类的每个实例都可以调用到的方法,只有实例能调用实例方法。与普通函数不同的是,实例方法有一个额外的第一个参数,其名称按惯例是 self。
- 类方法:是将类本身作为对象进行操作的方法,类本身和实例都可以调用类方法。定义时使用 @classmethod 进行装饰,其第一个参数是类,名称按惯例是 cls。实例方法和类方法都是依赖于 Python 的修饰器实现的。
- 静态方法:是一种存在于类中的普通函数,不会对任何实例类型进行操作,类本身和实例都可以调用静态方法,定义时以 @staticmethod 进行装饰声明。
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算