Python資料模型

2021-09-13 21:52:02 字數 1200 閱讀 5684

1、了解python資料模型和介面的概念;

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

1、資料模型(data model)是資料特徵的抽象,這裡是對python框架的描述。

資料模型規範了python自身構建模組的介面,模組包括但不限於序列、迭代器、函式、類和上下文管理器。

2、介面:介面泛指實體把自己提供給外界的一種抽象化物(可以為另一實體),用以由內部操作分離出外部溝通方法,使其能被修改內部而不影響外界其他實體與其互動的方式。

介面的作用:可以為不同類順利互動提供標準。

3、中綴運算子的基本原則:不改變操作物件。

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

1、特殊方法的定義:

(1).定義在某些class當中;

(2).不需要直接呼叫,被python直譯器呼叫;

(3).python的某些函式或者是操作符會呼叫相應的特殊方法。

2、作用:特殊方法能讓物件實現和支援以下的語言構架,並與之互動:

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:

python 資料模型

usr bin env python coding utf 8 import collections card collections.namedtuple card rank suit class frenchdeck 通過實現特殊方法利用python資料模型的好處 1.作為你類的使用者,他們不必...

Python 資料模型

資料模型規範了 python 構建自身模組的介面。在 python 直譯器遇到特殊的句法時,會使用特殊方法 即魔術方法 去啟用基本的物件操作,這些特殊方法以 開頭與結尾。通過實現特殊方法,自定義資料型別可以表現得跟內建型別一樣,從而寫出更 pythonic 的 python 物件的乙個基本要求就是有...

python資料模型

參考流暢的python第一章 python資料模型定義了一些特別操作,使用者通過重寫這些特殊方法即可實現一些特別操作。比如 init 我理解這個就是建構函式 len 通過重寫該函式可以實現len 方法 str 通過重寫該函式可以實現物件字串化,即將物件以字串的形式顯示 call 通過重寫該函式,物件...