在java中構造函數是與類同名的,而且會伴隨著實例化的動作而執行。在python中呢?
python中的構造函數叫做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')
作為實例方法,self入參當然少不了,其他參數就按照順序排開,若參數不夠,就用默認值來代替。
str方法怎么寫?
在java中,我們一般會覆蓋toString()方法來返回對象中包含的值得關注的信息。python中也有這樣一個方法,叫做__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)
作為最佳實踐的一部分,建議你在每個創建的類中都覆蓋這個方法。
多態是什么?
還記得面向對象的幾個特征嗎?封裝性,繼承性,多態性。嗯,來聊下python對多態的實現。
什么叫做多態?
在java中,如果在一個class中有多個函數,函數名相同而參數不同(個數或類型不同),就叫做多態。
而在python中,多態的概念則更進一步,對于同一個函數,如果能夠處理多種類型的數據,也叫做多態。
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一個函數可以同時打印元組,列表以及字典,充分發揮代碼復用的功效,是不是很方便。
以上內容為大家介紹了Python構造函數該怎么寫?,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。