## 类
前面我讲到基本数据类型用来表示最常见的信息,但信息有无穷多种,为了更好的表达信息,我们可以创建自定义的数据类型。
一种数据类型就是一个类。例如整数,浮点数,字符串等。
### 类的定义
python中通过关键字`class`可以定义一个自定义的数据类型,基本语法如下:
```python
class 类名:
属性
方法
```
注意:python中类名规则同变量名,但是一般使用`大驼峰`来表示。
案例:创建一个`Point`类用于表示平面坐标系中的一个点
```python
class Point:
"""
表示平面坐标系中的一个点
"""
print(Cat)
<class '__main__.Point'>
```
三双引号中的类容是类的说明文档。
## 对象
某种数据类型的一个具体的数据称为这个类的一个对象或者实例。
例如,`1`是整数的一个对象,`'hello'`是字符串的一个对象。
我认为,所谓的面向对象,就是把一些数据抽象成类的思想。置于作用,深入学习之后才会有体会,这里不做过多的说明。
我们经常听到这样一句话:"python是一门面向对象的编程语言,python中一切皆对象。"
这意味着python中任何数据都有其对应的类型,例如函数也是一个类,定义的某个函数就是函数类型的一个具体实例。
```python
>>> def func():
... pass
>>> print(type(func))
<class 'function'>
```
### 实例化
通过类创建对象叫做实例化。
除了基本数据类型的实例化过程用到了特殊的语法外,所有自定义的数据类型进行实例化都是通过调用类名来实现的,非常简单,语法如下:
```python
类名([参数])
```
看起来和调用函数一样(实际上就是调用了一些函数)。
案例:
给上面创建的`Point`类创建一个实例。
```python
>>> p = Point()
>>> print(p, type(p))
<__main__.Point object at 0x000001FC02CBBD00> <class '__main__.Point'>
```
直接打印对象默认会返回其内存地址。
- 第1章 编程基础
- 零基础能学Python吗?
- 编程语言是什么
- 编译型与解释型编程语言的区别
- python是什么?
- 学python能干什么?
- 第2章 python开发环境搭建
- windows下安装python
- cmd命令行工具
- 环境变量如何设置?
- 如何运行python程序?
- 学习神器Jupyter lab
- 第3章 基本数据类型
- 基本数据类型概述
- 变量的定义和使用
- 整数类型
- 浮点数类型
- 算术运算符
- 赋值运算符
- 字符串类型
- 字符串常用方法
- 字符串格式化
- 列表类型
- 元组类型
- 可变与不可变类型
- 深浅拷贝
- 集合类型
- 字典类型
- 布尔型
- NoneType
- 第4章 程序流程控制
- 程序结构
- if分支语句
- while条件循环
- for循环
- 循环控制关键字
- 异常处理
- 第5章函数与代码复用
- 函数的定义和调用
- 函数的参数
- 函数的返回值
- lambda函数
- 变量作用域
- python内建函数
- 第6章 面向对象
- 类和对象
- 属性
- 方法
- 继承
- super()函数
- 多态
- 私有化
- 自省与反射机制
- 第7章 模块和包
- 模块
- 包
- 第三方库
- 第8章 文件IO操作
- 文件概述
- 字符编码
- 字节类型
- python读取文件
- python写文件
- 文件指针