python:面向對象基本知識(一)

1.類

類是現實世界或思維世界的實體在計算機中的反映
它將數據以及這些數據上的操作封裝在一起
首字母大寫;單詞之間大寫連接

2.類包含:變量和方法

變量:
    類變量
    實例變量

方法:
    1.實例方法
    2.類方法 @classmethod(裝飾器)
        1.特殊的類方法:構造函數 def __init__(self,x,y):
            作用:讓模板創建不同的對象,初始化對象的特性
            默認被調用;亦可被主動調用

    3.靜態方法 @staticmethod

3.方法訪問變量

1.實例方法訪問實例變量
    def 方法(self,x):
        self.實例變量=x

2.實例方法訪問類變量
    self.__class__.類變量=

3.類方法訪問類變量
    def plus_sum(cls):
        cls.類變量

4.成員的可見性

1.原則:只允許內部的方法操作變量,避免直接修改數據變量
2.__ 前面加 雙下劃線 變量變成私有
    def 方法(self,x):
        self.__變量=x
3.在外部調用 self.__變量=x 時,不是訪問而是新建一個
4.可通過__dict__查變量字典

5. 案例

class Student():
    #類變量
    sum1=0

    # 構造函數(類方法)
    def __init__(self,name,age):
        #實例變量
        self.name=name
        self.age=age
        #調用類變量
        self.sum1+=1
        #構造函數默認被調用
        print('學員人數',self.sum1)

    #通過方法對變量進行賦值(不提倡直接訪問類變量的方式來修改值)
    def marking(self,score):
        self.__score=score
        print(self.name+'同學的成績爲:'+str(self.__score))

    #實例方法,調用內部實例方法
    def do_homework(self):
        self.do_eng_homework()

    #實例方法
    def do_eng_homework(self):
        print(self.name,'do eng homework')

student1=Student('小明',21)
student1.do_homework()
student1.marking(90)



# 偷偷調用私有變量的方法
#print(student1.__dict__) #->{'name': '小明', 'age': 21, '_Student__score': 90}
#print(student1._Student__score)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章