python定义类object_Python之ClassObject用法详解
類和對象的概念很難去用簡明的文字描述清楚。從知乎上面的一個回答中可以嘗試去理解:
對象:對象是類的一個實例(對象不是找個女朋友),有狀態和行為。例如,一條狗是一個對象,它的狀態有:顏色、名字、品種;行為有:搖尾巴、叫、吃等。
類:類是一個模板,它描述一類對象的行為和狀態。
我覺得有一本書對這個類與對象描述的特別好:Head First Java第2版中文版,大家可以通過Java去學習類和對象。
class
class是用來定義類的。類在面向對象編程里面是很有用的,能夠大大提升開發效率和代碼維護性。直接上代碼學習:
class student(object):
def print_info(self):
print("student's info is very important!")
student1 = student()
student1.print_info()
運行結果如圖:
class student():
def __init__(self,name,gender):
self.Name = name
self.Gender = gender
print("student's name is ",name,' and it is a ',gender)
testman = student("Mike","Male")
這個類可以通過一個__init__ 進行初始化,相當于定義類了。在主代碼中,先要進行實例化,即testman = student() 然后才能調用里面的方法。運行結果如下:
繼承
關于繼承,就是子類可以繼承父類的公有函數。例如:
class Parent:
def Family(self):
print("we are family")
class Child(Parent):
pass
father = Parent()
son = Child()
father.Family()
son.Family()
在這里,Parent 類是父類,Child 類是子類,但是通過定義,繼承了父類。所以在后面實例化之后,son 依然可以調用父類的函數。最后的運行結果如下:
override
當然,子類除了繼承,還可以重寫父類的函數功能。
class Parent:
def Family(self):
print("we are family")
class Child(Parent):
def Family(self):
print("hey,i am son")
father = Parent()
son = Child()
father.Family()
son.Family()
在這個例子中,Child 類重寫了父類函數里面的Family 函數,最后的運行結果如下:
super
super是一個超類。這個概念很抽象,但是用例子來說明一下就不會那么抽象了。
class Parent:
def Family(self):
print("we are family")
class Child(Parent):
def Family(self):
print("hey,i am son")
super(Child,self).Family()
print("again, i am son")
father = Parent()
son = Child()
father.Family()
son.Family()
運行結果如下:
從上面的例子很容易看出,super 就是將父類的函數再調用了一次。
以上這篇Python之Class&Object用法詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持我們。
本文標題: Python之Class&Object用法詳解
本文地址: http://www.cppcns.com/jiaoben/python/295276.html
總結
以上是生活随笔為你收集整理的python定义类object_Python之ClassObject用法详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python包安装_Python及图像处
- 下一篇: python获取网页源码不完整_pyth