1. 程式人生 > >python 學習彙總57:class類定義(初級學習- tcy)

python 學習彙總57:class類定義(初級學習- tcy)

 類定義 建立時間:2018/8/7 修改時間:2018/11/19 

 目錄: 

1. class定義
2. 內部類
3.外部定義函式
4.高階函式與類的關係
5.物件記憶體管理
6.類作用域
7.使用輸出引數
8.類屬性
9.類特性
10.描述符
11.檢視類屬性
12.繼承
13.型別檢測測試,檢視父子類

15.元類
16.基類
17.類裝飾器
18.Enum類
其他參考本人博文。 

1.類定義: 

繫結方法: 可以訪問類變數,類屬性,類方法。
靜態方法: 無self ,無法訪問類屬性、例項屬性方法,相當於一個相對獨立的函式
類成員方法:可以訪問類屬性,無法訪問例項屬性方法。
#
class MyClass:
x = 10 # 類變數 :推薦訪問:MyClass.x(不推薦:物件.x)

def __init__(self ,y=20):
self.y = y # 類屬性:例項變數

def show(self): # 例項方法
print('1.x=%s;y=%s;' %(self.x ,self.y),end="")
self.view('show...')

def view(self ,name): # 例項方法
print('name=' ,name)

@staticmethod # 靜態方法
def s_show():
print( '2.靜態方法:無法訪問x和y')

@classmethod # 類方法 將類本身作為物件進行操作
def cls_show(cls):
print ('3.類方法:(無法訪問屬性y) x=' ,cls.x) 

2.類例項 :

c= MyClass(-1000) # 呼叫MyClass.__init__(1000)

c_show = c.show
c_show() # 繫結方法;等價c.show()#1.x=10;y=-1000;name= show...

MyClass.s_show() #類靜態方法 # 2.靜態方法:無法訪問x和y

MyClass.x += 100
MyClass.cls_show() # 3.類方法:(無法訪問屬性y) x= 110
c.show() #1.x=110;y=-1000;name= show...
# 在類主體執行期間建立的值放在類物件中,這個物件充當著名稱空間