1、了解python資料模型和介面的概念;1、資料模型(data model)是資料特徵的抽象,這裡是對python框架的描述。2、掌握特殊方法的定義,作用和基本用法。
資料模型規範了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 通過重寫該函式,物件...