天天看點

python--類屬性的調用方法

測試時候類的調用是經常會用到的。簡單看下類的調用使用的方法吧。

來看例子:

目錄結構:

python--類屬性的調用方法

我們現在要在do_class.py這個檔案裡調用class_learn.py裡的類

代碼(do_class.py):

#!/usr/bin/env python3
#coding=utf-8
'''@Author:Jock'''

from all_python_learn.class_and_funcation.class_learn import *

b = Learn(1,2)
b.get()
print(Learn.a)           

複制

這裡通過from導入了子產品class_learn裡的類,然後通過類的執行個體化執行個體了一個b的對象,然後通過對象b調用了類裡的get函數。這裡我加了個print(Learn.a)就是想說直接通過類名接上變量名可以調用類的變量。

運作結果:

python--類屬性的調用方法

如果我們不執行個體化直接調用會有什麼結果呢?來看看

修改do_class.py為:

python--類屬性的調用方法

如果這麼寫那就報錯了,因為沒有執行個體化。

報錯:

python--類屬性的調用方法

上面的例子是帶傳入參數的類,也可以有不帶參數的類,然後被調用。

把class_learn.py改成下面:

python--類屬性的調用方法

在do_class.py就可以這麼寫:

python--類屬性的調用方法

運作結果:

python--類屬性的調用方法

通過上面的例子基本知道怎麼去調用類裡的函數、類裡的變量了(這個非常重要,寫用例時經常會跨檔案去通路類裡的屬性!!)

但我估計你們在看了上面代碼後對self比較疑惑,其實開始類的定義時有講過,這個是必須寫的,是類的執行個體。

例子裡的初始化函數裡的

self.x=x #這裡的x和y就是執行個體變量
self.y=y           

複制

這是定義了兩個變量x和y,并賦給執行個體self.x和self.y,在後面的所有函數中如果要用到這個兩個變量,都需要通過self.x的寫法來調用,并且函數的參數清單必須帶有self,并且把執行個體傳了進去。否則調用就會報錯。