python 类 对象 知乎_python基础知识:类,对象,模块三者的区别
長話短說,我線代作業(yè)還沒有寫呢。
有點(diǎn)編程語言知識(shí)的朋友應(yīng)該知道,編程語言有“面向?qū)ο蟆焙汀懊嫦蜻^程”兩種。
解釋一下:面向?qū)ο蠹夹g(shù)是目前流行的系統(tǒng)設(shè)計(jì)開發(fā)技術(shù),它包括面向?qū)ο蠓治龊兔嫦驅(qū)ο蟪绦蛟O(shè)計(jì)。面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù)的提出,主要是為了解決傳統(tǒng)程序設(shè)計(jì)方法--結(jié)構(gòu)化程序設(shè)計(jì)所不能解決的代碼重用問題。
"面向過程"(Procedure Oriented)是一種以過程為中心的編程思想。這些都是以什么正在發(fā)生為主要目標(biāo)進(jìn)行編程,不同于面向?qū)ο蟮氖钦l在受影響。與面向?qū)ο竺黠@的不同就是封裝、繼承、類
而python就是典型面向?qū)ο蟮木幊陶Z言。
什么是對象? 對象簡單的來說就是一切具體事物,比如一個(gè)杯子,它是一個(gè)對象;一個(gè)人,也是對象;一臺(tái)電腦也是一個(gè)對象。仔細(xì)想一下,每個(gè)對象,是不是都是由它的屬性和行為構(gòu)成的呢? 比如一個(gè)具體的人,他是性別是男,身高180,體重60,不戴眼鏡,諸如此類,就是一個(gè)對象的屬性。而“這個(gè)人,他正在操場跑步”,他的這個(gè)動(dòng)作,也就是對象的行為。
什么是類? 類就是具有相同屬性和行為的對象的集合。 比如,每個(gè)人都有性別,身高,體重,而他們都在做不同的事情。這里的“事情”,其實(shí)就可以看成一個(gè)容器,只是每個(gè)人的內(nèi)容不同罷了。(想想人類的意思,我想大家應(yīng)該能懂的)
由此對應(yīng)到python中的類來看,python中,每類都有自己的“屬性”和方法,屬性就是變量,方法則是函數(shù)。而這里的”屬性“則不能具體,因?yàn)橹挥袑ο蟛庞凶约旱膶傩浴?估計(jì)說的有點(diǎn)繞,我們直接看實(shí)例:
1.python中類的定義為:
class 類名:
....
值得注意的是,這里的類名必須是大寫字母開頭,(為了和函數(shù)做區(qū)別)
2.下面,我們給人定義一個(gè)類,每個(gè)人都有,名字,性別,年齡,所以我們可以這樣寫:
class People:
def __init__(self,name,gender,age):
self.name=name
self.gender=gender
self.age=age
def behavior(self):
print("我的名字:{} 性別:{} 年齡:{}".format(self.name,self.gender,self.age))
p=People("小徐子","女",20)
p.behavior()
_init_是一種魔法方法,它的作用是初始化實(shí)例對象p,(self函數(shù)代表p)同時(shí)將參數(shù)(也就是屬性)傳到內(nèi)部。
上面代碼的運(yùn)行結(jié)果是:
現(xiàn)在,不知道大家有沒有對類由一個(gè)感性的認(rèn)識(shí)了呢?
3.繼承
類里面有一個(gè)很大的特點(diǎn),就是能夠繼承父類。
繼承的聲明是:
class 類名(父類名):
....
舉個(gè)例子,上面只是對人與其他事物進(jìn)行了一個(gè)分別,下面,我們對人進(jìn)行細(xì)分:女人和男人。 很顯然,不管是女人還是男人,都有人的特點(diǎn),而女人又有自己獨(dú)特的特點(diǎn),比如:長頭發(fā)(舉個(gè)例子而已,大家不要細(xì)究),那么對女人這一類應(yīng)該怎么樣定義呢?
class Woman(People):
def hair(self):
print("我有長頭發(fā),我很美")
下面我來進(jìn)行繼承操作:
p=Woman("小徐子","女",20)
p.behavior()
p.hair()
輸出結(jié)果如下:
4.super方法
super之所以是super的原因,就在于他能夠繼承父類的初始化定義。舉個(gè)例子:
class People:
def __init__(self,name,gender,age):
self.name=name
self.gender=gender
self.age=age
def behavior(self):
print("我的名字:{} 性別:{} 年齡:{}".format(self.name,self.gender,self.age))
class Woman(People):
def __init__(self,name,gender,age,chair):
super().__init__(name,gender,age)/*super繼承*/
self.chair="長頭發(fā)"
def hair(self):
print("我愛{}".format(self.name))
p=Woman("小徐子","女",18,"長頭發(fā)")
p.behavior()
p.hair()
輸出如下:
碼字有點(diǎn)累了,模塊的知識(shí)以后再講吧
總結(jié)
以上是生活随笔為你收集整理的python 类 对象 知乎_python基础知识:类,对象,模块三者的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 单片机读tf卡c语言程序,单片机读写U盘
- 下一篇: 画出微型计算机结构图,中级工792、画出