Python數據模型

導語:本文章記錄了本人在學習Python基礎之緒論篇的重點知識及我的心得,以加深本身的理解。

本文重點:html

一、瞭解Python數據模型和接口的概念;
二、掌握特殊方法的定義,做用和基本用法。

1、基本概念

一、數據模型(Data Model)是數據特徵的抽象,這裏是對Python框架的描述。
數據模型規範了Python自身構建模塊的接口,模塊包括但不限於序列、迭代器、函數、類和上下文管理器。
二、接口:接口泛指實體把本身提供給外界的一種抽象化物(能夠爲另外一實體),用以由內部操做分離出外部溝通方法,使其能被修改內部而不影響外界其餘實體與其交互的方式。
接口的做用:能夠爲不一樣類順利交互提供標準。
三、中綴運算符的基本原則:不改變操做對象。python

2、特殊方法

特殊方法,暱稱是魔術方法,又稱雙下方法。框架

一、特殊方法的定義:

(1).定義在某些class當中;
(2).不須要直接調用,被Python解釋器調用;
(3).Python的某些函數或者是操做符會調用相應的特殊方法。函數

二、做用:特殊方法能讓對象實現和支持如下的語言構架,並與之交互:

  • 迭代
  • 集合類
  • 屬性訪問
  • 運算符重載
  • 函數和方法的調用
  • 對象的建立和銷燬
  • 字符串表示形式和格式化
  • 管理上下文(with塊)

三、意義:經過內置函數調用特殊方法一般有額外好處(目前不明);對於內置的類而言,使用特殊方法速度更快。

四、字符串特殊方法

包括__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...日誌

相關文章
相關標籤/搜索