class相當於房子圖紙,每個物件是參照圖紙建立的實際的房子,self相當於每一棟房子的門牌號,在下面這段**裡,每個物件都是呼叫了自己那棟房子裡的方法,就是因為self
tips:在方法裡,self必須是第乙個
class
build()
:def
setname
(self,name)
: self.name = name
defcall
(self)
:print
("your name is %s"
% self.name)
building1 = build(
)building1.setname(
"white house"
)building2 = build(
)building2.setname(
"black house"
)building1.call(
)building2.call(
)
如果你的物件實現了魔法方法中的某乙個,這個魔法方法就會在特殊的情況下被python所呼叫
tips:此類魔法方法會被雙下滑線所包圍
class
build()
:def
setname
(self,name)
: self.name = name
defcall
(self)
:print
("your name is %s"
% self.name)
building1 = build(
)building1.setname(
"white house"
)building2 = build(
)building2.setname(
"black house"
)building1.call(
)building2.call(
)class
build()
:def
__init__
(self,num)
:#redefine class make it add a parameter
self.num = num
defkick
(self)
:print
("your num is %s"
% self.num)
building3 = build(3)
# new object
building3.kick(
)# call method
物件的屬性和方法都是公有的,在python中定義私有變數只要在變數名或函式名前加「__」兩個下劃線,那麼這個變數或函式就會變成私有的了,例子如下
class
person()
: name =
"carl"
a = person(
)print
(a.name)
carl
class
person()
: __name =
"carl"
a = person(
)print
(a.name)
attributeerror: 'person' object has no attribute 'name'
想要呼叫則需在類內進行呼叫,**如下
class
person()
: __name =
"carl"
defkick
(self)
:print
("your name is %s"
% self.__name)
return
"finish"
a = person(
)print
(a.kick(
))
your name is carl
finish
但其實python的私有只是偽私有,也可以直接通過別的方法進行呼叫
class
person()
: __name =
"carl"
a = person(
)print
(a._person__name)
carl
python入門 P39類和物件 拾遺
組合就是把舊類例項化放到新類裡面進行呼叫,如下 class chairs def init self,x self.num x class glasses def init self,y self.num y class build def init self,x,y self.chairs cha...
python入門 P36類和物件 給大家介紹物件
下面展示一些python3建立類,類的屬性 方法,以及呼叫的 這裡還用到了多型,物件fighter和defender都呼叫了相同名字的方法,但卻實現的是不同的功能 tips 類的定義首字母一般大寫,方法一般小寫,便於區分 class fight define class name color gre...
C 類和物件入門
物件的含義是指具體的某乙個事物,即在現實生活中能夠看得見摸得著的事物。在物件導向程式設計中,物件所指的是計算機系統中的某乙個成分。在物件導向程式設計中,物件包含兩個含義,其中乙個是資料,另外乙個是動作。物件則是資料和動作的結合體。物件不僅能夠進行操作,同時還能夠及時記錄下操作結果。這是什麼玩意,通俗...