Python 物件導向(筆記)

2021-09-25 12:05:49 字數 2297 閱讀 5529

標籤(空格分隔): 2018-05-10

類:具有相同屬性和方法的物件集合

物件:萬物皆物件,具體實物和行為

類的建立

class cat:

"貓類"

age=1 #類成員,特徵

#建立建構函式

def __init__(self,name,color):

self.name=name

self.color=color

return

if __name__=="__main__":

def likedo(self):

print(self.name, "like fish")

mimi=cat("小白","red") #建立乙個mimi物件

mimi.likedo()

class employee:

empcount = 0

#建立建構函式(計算員工數)

def __init__(self1, name, salary):

self1.name = name

self1.salary = salary

employee.empcount += 1

#計算員工工資

def displaycount(self):

print(self.__class__) #返回當前類名稱

print ("total employee %d" % employee.empcount)

def displayemployee(self1):

print ("name : ", self1.name, ", salary: ", self1.salary)

#建立乙個員工物件

emp1=employee("麗麗",3000)

setattr(emp1,"age",10) #沒有的時候則建立,有該屬性時則修改

print(getattr(emp1,"age")) #獲取該age屬性值

print(hasattr(emp1,"age")) #檢驗是否有

delattr(emp1,"age") #刪除屬性

print(hasattr(emp1,"age"))

內建類屬性

__dict__: 類的屬性(包括字典,由類的資料屬性組成)

__doc__:類的文件字串

__name__:放在modules模組中,就表示該模組名字;放在class類中,就表示類的名字

__moduble__:類定義所在的模組

__bases__:類的所有父類構成元素(包含了乙個由父類所組成的元組)

__main__:模組,***.py檔案本身,被執行時,對應的模組名就是__main__;可以在if__name__=="__main__":新增自己想要的,用於測試模組,演示模組用法等**。作為模組,被別的python程式匯入時,模組名就是本身***.py

類的私有

__name

兩個下劃線加名稱,屬性跟方法一樣,只能在內部呼叫

class justcounter:

__aa = 0 # 私有變數

bb = 0 # 公開變數

def count(self):

self.__aa += 1

justcounter.bb += 1

print ("私有值:",self.__aa) #私有的只能在內部呼叫

s1=justcounter()

s1.count()

s1.count()

print("公開值:",justcounter.bb)

繼承

#父類

class f1:

name="父親"

def likedo(self,color):

print(color,"喜歡散步")

#父類class m1:

name="母親"

def mm(self):

print("喜歡唱歌")

class s1(m1,f1):

def likedo(self,name):

print(name,"喜歡跳舞")

son1=s1()

son1.likedo("小明")

son1.mm()

print(son1.name)

# 子類繼承父類的屬性,方法,子類可以繼承多個父類,當兩個父類的屬性名或方法名一樣時,呼叫時選擇class s1(f1,m1)選擇第乙個

python 物件導向筆記

python 物件導向小結,最近在學習python,在學習到物件導向時有些記不住,特寫此筆記 1.定義類 class people num 0 def sayhello self print hello 2.定義物件 p people p.sayhello 3.建構函式 init class peo...

Python物件導向筆記

1.最簡單的類的定義 class student name lili age 0 sum1 0def init self,name,age,sum1 建構函式 self.name name self.age age self.sum1 sum1 defprint msg self print sel...

python物件導向筆記

封裝繼承 多型class man defeat self print 吃 def slpee self print 睡 建立乙個例項 xm man xm.eat 例項就是類建立出來的物件 dir defdemo test print 這是乙個函式 print dir demo print xm ma...