Python数据模型

导语:本文章记录了本人在学习Python基础之绪论篇的重点知识及个人心得,以加深自己的理解。

本文重点:

1、了解Python数据模型和接口的概念;

2、掌握特殊方法的定义,作用和基本用法。

一、基本概念

1、数据模型(Data Model)是数据特征的抽象,这里是对Python框架的描述。
数据模型规范了Python自身构建模块的接口,模块包括但不限于序列、迭代器、函数、类和上下文管理器。
2、接口:接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被修改内部而不影响外界其他实体与其交互的方式。
接口的作用:可以为不同类顺利交互提供标准。
3、中缀运算符的基本原则:不改变操作对象。

二、特殊方法

特殊方法,昵称是魔术方法,又称双下方法。

1、特殊方法的定义:

(1).定义在某些class当中;
(2).不需要直接调用,被Python解释器调用;
(3).Python的某些函数或者是操作符会调用相应的特殊方法。

2、作用:特殊方法能让对象实现和支持以下的语言构架,并与之交互:

  • 迭代
  • 集合类
  • 属性访问
  • 运算符重载
  • 函数和方法的调用
  • 对象的创建和销毁
  • 字符串表示形式和格式化
  • 管理上下文(with块)

3、意义:通过内置函数调用特殊方法通常有额外好处(目前不明);对于内置的类而言,使用特殊方法速度更快。

4、字符串特殊方法

包括__repr__和__str__。
前者方便我们调试和记录日志,注重准确性,后者则是给终端用户看的,注重可读性。

eg:利用特殊方法知识自定义向量加法

# -*- coding: utf-8 -*-
class Vector:
    def __init__(self,x,y):#定义类的参数
        self.x=x
        self.y=y
    def __repr__(self):
        return "Vector(%r,%r)"%(self.x,self.y)#以字符串形式输出类便于辨认,重要!!!
    def __add__(self,other):#自定义向量的加法并返回值
        x=self.x+other.x
        y=self.y+other.y
        return Vector(x,y)
v1=Vector(2,3)
v2=Vector(1,4)
print(v1+v2)#输出Vector(3,7)

To Learn More:https://www.cnblogs.com/chang…

    原文作者:Hanwencheng
    原文地址: https://segmentfault.com/a/1190000014244877
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞