python基礎第二十九章:面向對象的內置成員以及方法的分類

面向對象的內置成員以及方法的分類

內置成員:函數

#內置成員
#__dict__獲取類/對象的所屬成員組成的集合
# class Human:
# eye=2
# def think(self):
# print('人類會思考')
#
# ren=Human()
# print(Human.__dict__)


#__doc__獲取類中的文檔
# class Human:
# '''
# 這個類名是Human
# 成員屬性是eye
# 成員方法是think
# '''
# eye=2
# def think(self):
# print('人類會思考')
#
# ren=Human()
# print(Human.__doc__)
# 這個類名是Human
# 成員屬性是eye
# 成員方法是think

#__name__:獲取類名稱的字符串
# class Human:
# eye=2
# def think(self):
# print('人類會思考')
#
# ren=Human()
# print(Human.__name__,type(Human.__name__))

#主要會這麼用(後面講):
# if __name__ == '__main__':
# pass

# __module:獲取當前類所在的文件的名稱,若是當前文件顯示main
# class Human:
# eye=2
# def think(self):
# print('人類會思考')
#
# ren=Human()
# print(Human.__module__)

# __bases:獲取當前類的父親列表
# class Human:
# pass
# class Man(Human):
# pass
# class Woman(Human):
# pass
# class Child(Woman,Man):
# pass
# print(Child.__bases__)

方法分類:
1.對象方法:該方法中會直接傳入當前對象
調用方式:對象。成員方法()
特徵:會將當前對象傳入方法中

2.類方法:在方法中會直接傳入當前類
@classmethod
 類。成員方法()
特徵:會將當前類傳入方法中
3.綁定類方法:在方法中不會傳入類或者對象的方法
 調用方式:類。成員方法()
特徵:不會傳入類/對象,只能經過類來調用
4.靜態方法:與類和對象無關,可是存在於類結構中的方法
 @staticmethod:返回函數的靜態方法
調用方式:類。成員方法()/對象。成員方法()
class Human:    eye='2'    #對象方法    def think(self):        print('人類會思考')    #類方法    @classmethod    def eat(cls):        print('吃的真香')    #綁定類方法(只能用類來調用)    def sleep():        print('睡得真舒服')    #靜態方法    @staticmethod    def play():        print('玩的真愉快')ren=Human()#對象調用方法ren.think()#類調用方法Human.eat()#綁定類調用(只能用類來調用)Human.sleep()#靜態方法(對象和類均可以調用)Human.play()ren.play()
相關文章
相關標籤/搜索