Python基礎知識十一 物件導向一

2021-10-10 13:38:51 字數 2392 閱讀 8113

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 或者別的語言編寫的...