導語:本文章記錄了本人在學習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…