我們來演示下:
類的建立,成員變數,建構函式和析構函式,普通成員函式,訪問私有成員變數。
print
("test class"
)class
video
(object):
# 4、私有成員變數 兩個下劃線開頭定義的變數就是私有成員變數
__name =
"private name"
# 3、直接宣告成員變數
# 宣告的意思是這個變數的空間不產生,只有當video生成物件的時候這個空間才產生,所以叫宣告
age =
20 path =
""# 建構函式
def__init__
(self, path)
:print
("create video"
) self.name =
"public name"
self.path = path
print
("path is"
, self.path)
# python約定了我們函式名全部是小寫
defget_name
(self)
:return self.__name
# 析構函式
def__del__
(self)
:print
("delete video"
)# 其中的這個__main__是入口模組名稱
# 建構函式傳遞引數的方式,是在我們生成物件的時候直接傳進去
video1 = video(
"d:/video.mp4"
)print
(video)
# 1、隱式的通過物件生成成員變數
video1.title =
"title test"
print
("title ="
, video1.title)
print
(video1)
print
(dir
(video1)
)print
("end"
)# 2、隱式的通過self生成成員變數
print
("video1.name ="
, video1.name)
# 3、直接宣告成員變數
print
("video1.age ="
, video1.age)
# 私有成員變數無法直接訪問
# print(video1.__name)
print
("video1.get_name() ="
, video1.get_name(
))
程式輸出:
test class
create video
path is d:/video.mp4
delete video
'__main__.video'
>
title = title test
<__main__.video
object
at0x000001e5adf30a58
>
['_video__name', '__class__', '__del__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'age', 'get_name', 'name', 'path', 'title']
endvideo1.name = public name
video1.age = 20
video1.get_name() = private name
python類的成員 Python類成員
乙個是乙個類屬性,另乙個是乙個例項屬性。它們是不同的,但是它們之間的關係密切相關,使得它們在時間上看起來一樣。它與python查詢屬性的方式有關。有層次結構。在簡單的情況下,它可能如下所示 instance subclass superclass object built in type 當你在這樣...
類的普通成員函式的指標
很 多朋友都知道虛函式有虛函式指標,並且存放在物件的虛函式表中,它和普通成員變數一樣與物件相關,因此虛函式的指標是和物件級的。乙個類的普通成員函式是 類級的,因此普通成員函式的指標也是類級的。乙個類的普通成員函式的指標,少有文獻提及,因為很少需要用到普通成員函式的指標。儘管如此,在一些特殊的場 合,...
類的普通成員函式的指標
很多朋友都知道虛函式有虛函式指標,並且存放在物件的虛函式表中,它和普通成員變數一樣與物件相關,因此虛函式的指標是物件級的。乙個類的普通成員函式是類級的,因此普通成員函式的指標也是類級的。乙個類的普通成員函式的指標,少有文獻提及,因為很少需要用到普通成員函式的指標。儘管如此,在一些特殊的場合,還是有可...