python是一門物件導向(oop)程式語言,同樣用類class實現封裝、繼承、多型,例項就是具體的物件,每個例項資料型別相同,但擁有的資料不同。方法就是與例項繫結的函式,和普通函式不同,方法可以直接訪問例項的資料;
1.類的方法在定義時第乙個引數必須為self,而普通函式定義時則不需要。例項呼叫方法時不需要傳入相應引數。
2.下劃線相關
(1)_ _foo__
: 定義的是特殊方法,一般是系統定義名字 ,類似__init__()
之類的。
(2)_foo
: 以單下劃線開頭的表示的是 protected 型別的變數,即保護型別只能允許其本身與子類進行訪問,不能用於 from module import *
(3)__foo
: 雙下劃線的表示的是私有型別(private)的變數, 只能是允許這個類本身進行訪問了。
_author_ =
'hanqingqing'
class
people
(object):
count =
4def
run(self)
:print
('people is running...'
)def
okk(self)
:print
('okkkkk'
)def
uuu(self)
:print
('3456'
)class
mainexe
(people)
:def
rat(da)
: da.run(
)def
rrr(self,grade)
:print
(grade)
people(
).uuu(
)#people()為乙個例項,例項呼叫方法時,若方法中沒有self引數,則會報錯
#people.uuu()
# '''people為類名,people.uuu()為類呼叫方法,若方法中定義了self引數,這裡需要傳入乙個例項,不然會出錯,即people.uuu(people());
#若方法中沒有定義self引數,使用people.uuu()不會出錯,也只是表示呼叫某類的某方法執行,而不是例項呼叫方法執行'''
3.isinstance()判斷物件的型別,判斷的是乙個物件是否是該型別本身,或者位於該型別的父繼承鏈上。而type()僅能判斷該型別本身。 python學習筆記 類與類的例項
一.class human object age 0 name li lei a human b human a.age 1 print a.age print b.age a.name 0 wang print a.name print b.name 執行結果 xiaoheng ubuntuxh ...
python 類與例項
私有變數 如想要內部屬性不被外部訪問,可在屬性的名稱前加上兩個下劃線 在python內部,例項的變數名如果以 開頭,就變成了乙個私有變數,只有內部可以訪問,外部不能訪問。當我們拿到乙個物件的引用時,如何知道這個物件的是什麼型別,有什麼方法?python是動態語言,根據類建立的例項可以任意繫結屬性。給...
Python類變數與例項變數學習筆記
classa aa為類變數 aa 1 xy為例項變數 def init self,x,y self.x x self.y y if name main a是例項a是乙個類 a a 2,4 這裡面xy就是例項變數,aa為類變數,a.aa會優先查詢物件的變數,找不到則向上查詢類變數 print a.aa...