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)