測試時候類的呼叫是經常會用到的。簡單看下類的呼叫使用的方法吧。
來看例子:
目錄結構:
我們現在要在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)就是想說直接通過類名接上變數名可以呼叫類的變數。
執行結果:
如果我們不例項化直接呼叫會有什麼結果呢?來看看
修改do_class.www.cppcns.compy為:
如果這麼寫那就報錯了,因為沒有例項化。
報錯:上面的例子是帶傳入引數的類,也可以有不帶引數的類,然後被呼叫。
把class_learn.py改成下面:
在do_cwww.cppcns.comlass.py就可以這麼寫:
執行結果:
通過上面的例子基本知道怎麼去呼叫類裡的函式、類裡的變數了(這個非常重要,寫用例時經常會跨檔案去訪問類裡的屬性!!)
但我估計你們在看了上面**後對se程式設計客棧lf比較疑惑,其實開始類的定義時有講過,這個是必須寫的,是類的例項。
例子裡的初始化函式裡的
self.x=x #這裡的x和y就是例項變數
self.y=y
這是定義了兩個變數x和y,並賦給例項self.x和self.y,在後面的所有函式中如果要用到這個兩個變數,都需要通過self.x的寫法來呼叫,並且函式的引數列表必須帶有self,並且把例項傳了進去。否則呼叫就會報錯。
本文標題: 對python 呼叫類屬性的方法詳解
本文位址: /jiaoben/python/264253.html
python 類屬性方法 例項屬性方法
型別 描述類變數 靜態變數 所有例項共有,每個例項可以不加self呼叫 類方法 靜態方法 所有例項共有,每個例項都可以呼叫 例項變數 非靜態變數 單個例項所有,需通過self呼叫 例項方法 非靜態方法 單個例項所有,下例中class name是類屬性,所有的例項都具有該屬性,而且任何乙個例項修改都可...
python 類屬性 用處 Python類屬性詳解
類屬性1.類定義後就存在,而且不需要例項化 2.類屬性使得相同類的不同例項共同持有相同變數 類屬性例項 attrb.py class testcss cssa class attribe def init self self.a 0 self.b 10 def info self print a s...
Python 類屬性和方法
import types class dog object slots name color info 定義 slots 該類中只允許 類物件 動態增加 name,color,info,body len 屬性或方法 都是例項屬性或方法 slots 對類的 動態新增屬性和方法 沒有限制,而 類物件 不...