測(cè)試時(shí)候類(lèi)的調(diào)用是經(jīng)常會(huì)用到的。簡(jiǎn)單看下類(lèi)的調(diào)用使用的方法吧。
來(lái)看例子:
目錄結(jié)構(gòu):
我們現(xiàn)在要在do_class.py這個(gè)文件里調(diào)用class_learn.py里的類(lèi)
代碼(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)
這里通過(guò)from導(dǎo)入了模塊class_learn里的類(lèi),然后通過(guò)類(lèi)的實(shí)例化實(shí)例了一個(gè)b的對(duì)象,然后通過(guò)對(duì)象b調(diào)用了類(lèi)里的get函數(shù)。這里我加了個(gè)print(Learn.a)就是想說(shuō)直接通過(guò)類(lèi)名接上變量名可以調(diào)用類(lèi)的變量。
運(yùn)行結(jié)果:
如果我們不實(shí)例化直接調(diào)用會(huì)有什么結(jié)果呢?來(lái)看看
修改do_class.py為:
如果這么寫(xiě)那就報(bào)錯(cuò)了,因?yàn)闆](méi)有實(shí)例化。
報(bào)錯(cuò):
上面的例子是帶傳入?yún)?shù)的類(lèi),也可以有不帶參數(shù)的類(lèi),然后被調(diào)用。
把class_learn.py改成下面:
在do_class.py就可以這么寫(xiě):
運(yùn)行結(jié)果:
通過(guò)上面的例子基本知道怎么去調(diào)用類(lèi)里的函數(shù)、類(lèi)里的變量了(這個(gè)非常重要,寫(xiě)用例時(shí)經(jīng)常會(huì)跨文件去訪問(wèn)類(lèi)里的屬性!!)
但我估計(jì)你們?cè)诳戳松厦娲a后對(duì)self比較疑惑,其實(shí)開(kāi)始類(lèi)的定義時(shí)有講過(guò),這個(gè)是必須寫(xiě)的,是類(lèi)的實(shí)例。
例子里的初始化函數(shù)里的
self.x=x #這里的x和y就是實(shí)例變量 self.y=y
這是定義了兩個(gè)變量x和y,并賦給實(shí)例self.x和self.y,在后面的所有函數(shù)中如果要用到這個(gè)兩個(gè)變量,都需要通過(guò)self.x的寫(xiě)法來(lái)調(diào)用,并且函數(shù)的參數(shù)列表必須帶有self,并且把實(shí)例傳了進(jìn)去。否則調(diào)用就會(huì)報(bào)錯(cuò)。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
