Python函數(shù)調(diào)用的幾種方式(類里面,類之間,類外面)
第一種 是在class內(nèi)部,方法之間的互相調(diào)用
舉一個(gè)簡單的例子
class cat(): def __init__(self,age): cat.age = age def show_color(self): print("The color of the cat is white") def show_age(self): self.show_color() print("The age of the cat is "+str(self.age)) Ragdoll = cat(2) Ragdoll.show_age()
結(jié)果為
這里我只用實(shí)例Ragdoll調(diào)用了show_age方法,但因?yàn)樵趕how_age中調(diào)用了show_color方法,所以兩個(gè)方法最后都執(zhí)行了
類里面的方法想調(diào)用另外一個(gè)方法,需要在方法體中用self.方法名的方式來調(diào)用
同樣,類里面的方法想調(diào)用類的屬性,需要用self.屬性名的方式
第二種 是在類的外面,def函數(shù)之間的彼此調(diào)用
還是來看一個(gè)簡單的例子
def show_num(num): print(num) def test(num): if num>3: show_num(num) test(4)
結(jié)果為
在類外面的函數(shù)之間,只需要函數(shù)名就可以調(diào)用彼此
另外要記得參數(shù)列表保持一致,如果你要調(diào)用的函數(shù)參數(shù)列表中有多個(gè)參數(shù),那么自身這個(gè)函數(shù)的參數(shù)列表中也要有那些參數(shù)
以下是錯(cuò)誤示范
def create_cat(color,age): print("The age and color of the cat are"+str(age)+color) def show_cat(): create_cat(color,age) show_cat()
結(jié)果是
正確的函數(shù)調(diào)用是這樣
def create_cat(color,age): print("The age and color of the cat are "+str(age)+" and "+color) def show_cat(color,age): create_cat(color,age) show_cat("white",3)
結(jié)果是
第三種 是在類外面的函數(shù),調(diào)用在類里面的方法
class cat(): def __init__(self,age): self.age = age def age_increase(self): self.age += 1 print("the age of the cat is "+str(self.age)) def year(): Ragdoll = cat(3) Ragdoll.age_increase() year()
結(jié)果為
創(chuàng)建該類的實(shí)例對(duì)象,再通過實(shí)例調(diào)用方法,最后運(yùn)行函數(shù)即可
class cat(): def __init__(self,age): self.age = age self.color = "white" def age_increase(self): self.age += 1 print("the age of the cat is "+str(self.age)) def year(): Ragdoll = cat(3) Ragdoll.age_increase() print(Ragdoll.color) year()
在函數(shù)中直接用實(shí)例調(diào)用屬性,獲取屬性值也是可以的結(jié)果為
第四種 是不同的類之間的方法的彼此調(diào)用
class cat(): def __init__(self,age1): self.age1 = age1 def show_age(self): print("the age of the cat is "+str(self.age1)) class dog(): def __init__(self,age2): self.age2 = age2 def show_cat_age(self): Ragdoll = cat(3) Ragdoll.show_age() Husky = dog(2) Husky.show_cat_age()
結(jié)果為
而如果想在這個(gè)類里面調(diào)用其他類里面的屬性值,則需要這樣做
class cat(): def __init__(self,age1): self.age1 = age1 self.color = "white" def show_age(self): print("the age of the cat is "+str(self.age1)) class dog(): def __init__(self,age2,Ragdoll): self.age2 = age2 self.Ragdoll = Ragdoll def show_cat_age(self,Ragdoll): Ragdoll = cat(3) Ragdoll.show_age() print(self.Ragdoll.color) if self.Ragdoll.age1 > self.age2: print("the cat is older than the dog") def run(): Ragdoll = cat(3) Husky = dog(2,Ragdoll) Husky.show_cat_age(Ragdoll) run()
結(jié)果為
需要將對(duì)象作為參數(shù)放入類里面
到此這篇關(guān)于Python函數(shù)調(diào)用的幾種方式(類里面,類之間,類外面)的文章就介紹到這了,更多相關(guān)Python函數(shù)調(diào)用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Pycharm中python調(diào)用另一個(gè)文件類或者函數(shù)
- python中類的相互調(diào)用的實(shí)踐
- Python類的定義繼承調(diào)用比較方法技巧
- python 子類調(diào)用父類的構(gòu)造函數(shù)實(shí)例
- Python實(shí)現(xiàn)子類調(diào)用父類的初始化實(shí)例
- python 中不同包 類 方法 之間的調(diào)用詳解
- python 定義類時(shí),實(shí)現(xiàn)內(nèi)部方法的互相調(diào)用
- python調(diào)用函數(shù)、類和文件操作簡單實(shí)例總結(jié)
- 調(diào)用其他python腳本文件里面的類和方法過程解析
- Python中不同類之間調(diào)用方法的四種方式小結(jié)
相關(guān)文章
Python使用pyfinance包進(jìn)行證券收益分析
在查找如何使用Python實(shí)現(xiàn)滾動(dòng)回歸時(shí),發(fā)現(xiàn)一個(gè)很有用的量化金融包——pyfinance。顧名思義,pyfinance是為投資管理和證券收益分析而構(gòu)建的Python分析包,主要是對(duì)面向定量金融的現(xiàn)有包進(jìn)行補(bǔ)充,如pyfolio和pandas等。pyfinance包含六個(gè)模塊,下面將一一介紹2021-11-11對(duì)pandas數(shù)據(jù)判斷是否為NaN值的方法詳解
今天小編就為大家分享一篇對(duì)pandas數(shù)據(jù)判斷是否為NaN值的方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-11-11Python還能這么玩之用Python修改了班花的開機(jī)密碼
今天帶大家學(xué)習(xí)如何用Python修改開機(jī)密碼,文中有非常詳細(xì)的代碼示例,喜歡惡作劇的小伙伴可以看一下,不過不要亂用哦,需要的朋友可以參考下2021-06-06