在java中構(gòu)造函數(shù)是與類同名的,而且會(huì)伴隨著實(shí)例化的動(dòng)作而執(zhí)行。在python中呢?
python中的構(gòu)造函數(shù)叫做init方法,全名是__init__
具體看下面代碼
classPerson():
__gender='male'
__age='0'
def__init__(self,gender='male',age=0):
self.__gender=gender
self.__age=age
person1=Person('female',10)
person2=Person()
person2=Person('male')
作為實(shí)例方法,self入?yún)?dāng)然少不了,其他參數(shù)就按照順序排開,若參數(shù)不夠,就用默認(rèn)值來代替。
str方法怎么寫?
在java中,我們一般會(huì)覆蓋toString()方法來返回對(duì)象中包含的值得關(guān)注的信息。python中也有這樣一個(gè)方法,叫做__str__。
classPerson:
__name='Tom'
__gender='male'
__age=10
def__str__(self):
return('name:%s,gender:%s,age:%d'%(self.__name,self.__gender,self.__age))
person=Person()
print(person)
作為最佳實(shí)踐的一部分,建議你在每個(gè)創(chuàng)建的類中都覆蓋這個(gè)方法。
多態(tài)是什么?
還記得面向?qū)ο蟮膸讉€(gè)特征嗎?封裝性,繼承性,多態(tài)性。嗯,來聊下python對(duì)多態(tài)的實(shí)現(xiàn)。
什么叫做多態(tài)?
在java中,如果在一個(gè)class中有多個(gè)函數(shù),函數(shù)名相同而參數(shù)不同(個(gè)數(shù)或類型不同),就叫做多態(tài)。
而在python中,多態(tài)的概念則更進(jìn)一步,對(duì)于同一個(gè)函數(shù),如果能夠處理多種類型的數(shù)據(jù),也叫做多態(tài)。
tuple_list=[(1,2,),(2,3,),(4,5)]
list=[1,2,3,4]
dict1={
'a':1,
'b':2
}
defprintSomething(something):
foriinsomething:
print(i)
print(tuple_list)
print(dict1)
print(list)
printSomething一個(gè)函數(shù)可以同時(shí)打印元組,列表以及字典,充分發(fā)揮代碼復(fù)用的功效,是不是很方便。
以上內(nèi)容為大家介紹了Python構(gòu)造函數(shù)該怎么寫?,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。