3、self引數
物件導向
# 語法
class 類名(
[父類]):
pass
# 定義乙個類
class
myclass()
:pass
print
(myclass)
# # 使用 myclass來建立乙個物件
mc = myclass(
)# mc就是通過myclass建立的物件,mc是myclass的例項
mc2 = myclass(
)mc3 = myclass(
)print
(mc,
type
(mc)
)# <__main__.myclass object at 0x00000169be07ecc0>
# isinstance() 用來檢測乙個物件是否是乙個類的例項 返回值是布林型別
r =isinstance
(mc3,
int)
print
(r)# false
上面通過myclass建立的物件都是乙個空物件。可以向物件中新增變數,物件中的變數稱為屬性。
語法 物件.屬性名 = 屬性值
呼叫方法
mc = myclass(
)mc2 = myclass(
)mc.name =
'葫蘆娃'
print
(myclass,
type
(myclass))#
print
(mc,
type
(mc)
)# <__main__.myclass object at 0x00000206509c8cf8>
print
(mc.name)
# 葫蘆娃
print
(mc2.name)
# attributeerror: 'myclass' object has no attribute 'name'
方法呼叫和函式呼叫的區別:
class
person
: name =
'鋼鐵俠'
defask
(self)
:print
('你叫什麼名字?'
)def
speak()
:print
('很高興認識你!'
)p1 = person(
)p2 = person(
)p1.name =
'超人'
print
(p1.name)
# 超人
print
(p2.name)
# 鋼鐵俠
p2.ask(
)# 你叫什麼名字?
p1.speak(
)# typeerror: speak() takes 0 positional arguments but 1 was given
屬性和方法的查詢流程:
class
person
:def
speak
(a):
print
('你好!我是%s'
%a.name)
print
(a)def
answer
(self)
:print
('我今年%s歲'
%self.age)
p1 = person(
)p2 = person(
)p1.name =
'鋼鐵俠'
p2.name =
'綠巨人'
p1.age =
'31'
p2.age =
'35'
p1.speak(
)p2.speak(
)p1.answer(
)p2.answer(
)# 執行結果:
# 你好!我是鋼鐵俠
# <__main__.person object at 0x0000023f891e8e10>
# 你好!我是綠巨人
# <__main__.person object at 0x0000023f891e8e80>
# 我今年31歲
# 我今年35歲
self引數在定義方法時需要定義,但是在呼叫方法時會自動傳入。
self的名字並不是規定死的,但是最好還是按照約定使用self。
self總是指呼叫時類的例項。
Python 基礎(十一) 物件導向
物件導向 oop 是一種對現實世界理解和抽象的方法,物件的含義是指在現實生活中能夠看得見摸得著的具體事物,一句比較經典的描述是一切皆物件,python 是一門物件導向的語言,物件導向程式設計簡單來說就是一種封裝 的方式。物件導向相關概念 物件導向三大特性 python 中類的定義使用class關鍵字...
python基礎知識(十一)
字典 格式 eg1 a b a.get name xy 如果查詢的鍵字典裡有,就用字典裡的 print b c a.get xy 如果查詢的鍵字典裡沒有,就預設查詢的第二項為值輸出 print c print a.keys 輸出a中所有鍵為列表形式 print a.values 輸出a中所有值為列表...
python基礎知識十一
圖形軟體 使用python的gui庫 你需要使用這些庫來用python語言建立你自己的圖形程式。使用gui庫和它們的python繫結,你可以建立你自己的i nview kuickshow軟體或者任何別的類似的東西。繫結讓你能夠使用python語言編寫程式,而使用的庫本身是用c c 或者別的語言編寫的...