最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python面向?qū)ο笏枷肱c應(yīng)用入門(mén)教程【類(lèi)與對(duì)象】

 更新時(shí)間:2019年04月12日 10:49:11   作者:微信1257309054  
這篇文章主要介紹了Python面向?qū)ο笏枷肱c應(yīng)用,較為詳細(xì)的分析了Python面向?qū)ο笏枷肱c原理,并結(jié)合實(shí)例形式分析了類(lèi)與對(duì)象相關(guān)定義、用法及操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了Python面向?qū)ο笏枷肱c應(yīng)用。分享給大家供大家參考,具體如下:

面向?qū)ο笏枷?/strong>

1、面向?qū)ο蟮脑O(shè)計(jì)思想

面向?qū)ο笫腔谌f(wàn)物皆對(duì)象這個(gè)哲學(xué)觀點(diǎn)。

2、面向?qū)ο蠛兔嫦蜻^(guò)程的區(qū)別

面向過(guò)程

在生活中:
它是一種看待問(wèn)題的思維方式,在思考問(wèn)題的時(shí)候,著眼問(wèn)題是怎樣一步一步解決的,然后親力親為去解決問(wèn)題[類(lèi)似于公司里的執(zhí)行者]。
在程序中:
​ 代碼是從上而下順序執(zhí)行,各個(gè)模塊之間的關(guān)系盡可能簡(jiǎn)單,在功能上相對(duì)獨(dú)立,程序的流程在寫(xiě)程序的時(shí)候就已經(jīng)決定。

面向?qū)ο?/p>

在生活中:
它是另一種看待問(wèn)題的方式,它著眼于找到一個(gè)具有特殊功能的個(gè)體,然后委托這個(gè)個(gè)體去幫你完成某件事.這更符合人類(lèi)思考習(xí)慣的思想[指揮者]。
在程序中:
把數(shù)據(jù)以及對(duì)數(shù)據(jù)的操作方法放在一起,作為一個(gè)相互依存的整體–對(duì)象;
把同類(lèi)的對(duì)象進(jìn)行抽象出其共性,形成類(lèi);
類(lèi)中大多數(shù)數(shù)據(jù),只能用本類(lèi)的方法進(jìn)行處理;
類(lèi)通過(guò)一個(gè)簡(jiǎn)單的外部接口與外界發(fā)生關(guān)系,對(duì)象與對(duì)象之間通過(guò)消息進(jìn)行通信;
程序執(zhí)行的流程由用戶(hù)在使用的過(guò)程中決定;
使用面向?qū)ο笏枷脒M(jìn)行開(kāi)發(fā),需要先找到具有所需功能的對(duì)象來(lái)使用,如果這個(gè)對(duì)象不存在,那么則需要?jiǎng)?chuàng)建這么一個(gè)具有所需功能的對(duì)象。
注意:面向?qū)ο笾皇且环N思想,并不是一門(mén)編程語(yǔ)言。

區(qū)別總結(jié)

a. 都是看待問(wèn)題的一種思維方式,都能解決問(wèn)題;
b. 面向過(guò)程著眼于所有的事情親力親為;
c. 面向?qū)ο笾塾谡业揭粋€(gè)具有特殊功能的對(duì)象,委托這個(gè)對(duì)象實(shí)現(xiàn)你需要實(shí)現(xiàn)的功能。

python語(yǔ)言是面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,類(lèi)和對(duì)象是面向?qū)ο蟮暮诵摹?/p>

類(lèi)和對(duì)象

1、類(lèi)和對(duì)象的概念

類(lèi):一個(gè)具有特殊功能的實(shí)體的集合[群體]。

對(duì)象:在一個(gè)類(lèi)中,一個(gè)具有特殊功能的實(shí)體,能夠幫忙解決特定的問(wèn)題,對(duì)象通常也被稱(chēng)為實(shí)例。

兩者之間的關(guān)系:類(lèi)用于描述某一對(duì)象的共同特征,而對(duì)象則是類(lèi)的具體存在。

舉例:

學(xué)生 張三、李四
快遞 順豐、韻達(dá)

總結(jié):

類(lèi)與對(duì)象的關(guān)系:

a.類(lèi)是對(duì)象的抽象,對(duì)象是類(lèi)的具體體現(xiàn)。
b.類(lèi)也是一種數(shù)據(jù)類(lèi)型,只不過(guò)是自己定義的,類(lèi)似與number,string等,它本身并不占用空間,但是它的實(shí)例[對(duì)象]是占用空間的。

2、類(lèi)的定義

格式:

class 類(lèi)名(object):
​ 類(lèi)體

說(shuō)明:

a.python中使用class關(guān)鍵字定義類(lèi);

b.類(lèi)名只要是一個(gè)合法的標(biāo)識(shí)符即可,命名規(guī)則遵循”大駝峰式命名”【每個(gè)單詞的首字母大寫(xiě)】;

c.盡量使用單個(gè)或者多個(gè)有意義的單詞連接而成

演示

# 一個(gè)簡(jiǎn)單的類(lèi)的實(shí)例
class Person():
  print("hello")

3、類(lèi)的設(shè)計(jì)

只需要關(guān)心3樣?xùn)|西

1.事物名稱(chēng)[類(lèi)名]: 如人類(lèi) (Person);
2.特征(屬性): 如身高(height) 年齡(age)等 ——>名詞;
3.行為(方法): 如跑(run) 說(shuō)話(huà)(say) —————>動(dòng)詞。

類(lèi)中的方法和屬性

1、方法和屬性的定義

生活中描述事物的無(wú)非就是描述事物的特征和行為。

python中用類(lèi)來(lái)描述事物也是如此,前面已經(jīng)定義了類(lèi),但是,如果只有類(lèi)單獨(dú)存在,沒(méi)有任何意義,所以定義類(lèi)其實(shí)就是定義類(lèi)中的成員[成員變量和成員方法]。

在類(lèi)中的變量我們稱(chēng)之為成員變量,在類(lèi)中的方法我們稱(chēng)之為成員方法(函數(shù))。

成員變量—>類(lèi)具有的特征 例如:人—>身高,性別,體重。

成員方法 —>類(lèi)具有的行為 例如人—>吃喝玩樂(lè)。

因此,擁有相同的(或者類(lèi)似)屬性和行為的對(duì)象都可以抽取出一個(gè)類(lèi)。

class Persion():
  #成員變量,初始值就是相當(dāng)于默認(rèn)值
  name = ""
  age = 0
  height = 0
  weight = 0
  #成員方法
  #在類(lèi)的內(nèi)部,使用def關(guān)鍵字來(lái)定義的一個(gè)方法
  #注意:區(qū)別于普通方法,類(lèi)中方法的參數(shù)必須包含參數(shù)self,且為第一個(gè)參數(shù)
  #self代表類(lèi)的實(shí)例(某個(gè)對(duì)象)
  def run(self):
    print("run")
  def eat(self, food):
    print("eat",food)
  def sleep(self):
    print("sleeping")

說(shuō)明:定義了類(lèi),并在類(lèi)中定義了成員變量和成員方法,但是成員變量和成員方法是如何使用的呢?

2、方法和屬性的使用

2.1、實(shí)例化對(duì)象:

前面說(shuō)過(guò),對(duì)象是實(shí)實(shí)在在的個(gè)體,負(fù)責(zé)去完成某件指定的事情。

對(duì)象的創(chuàng)建的過(guò)程又被稱(chēng)作對(duì)象的實(shí)例化過(guò)程。

語(yǔ)法:

對(duì)象名 = 類(lèi)名()

'''
實(shí)例化對(duì)象
格式: 對(duì)象名 = 類(lèi)名()
注意: 沒(méi)有參數(shù)的時(shí)候,小括號(hào)也不能省略
'''
#實(shí)例化一個(gè)對(duì)象
pre1 = Person()
print(pre1)
print(type(per1))
print(id(per1))
per2 = Person()
print(per2)
print(type(per2))
print(id(per2))

3、對(duì)象調(diào)用方法和屬性

per = Preson()
'''
訪(fǎng)問(wèn)屬性
格式:對(duì)象名.屬性名
賦值:對(duì)象名.屬性名 = 新值
'''
per.name = 'lili'
per.age = 18
per.height = 160
per.weight = 80
print(per.name, per.age, per.height, per.weight)
'''
訪(fǎng)問(wèn)方法
格式:對(duì)象名.方法名(參數(shù)列表)
'''
per.run()
per.eat("apple")
per.sleep()
#問(wèn)題:目前來(lái)看Person創(chuàng)建的所有對(duì)象屬性都是一樣的
per2 = Person()
print(per2.age)
per3 = Person()
print(per3.age)

總結(jié):

訪(fǎng)問(wèn)變量采用: 對(duì)象名.屬性名;
訪(fǎng)問(wèn)方法采用: 對(duì)象名.方法名(參數(shù)列表)。

4、內(nèi)存中的對(duì)象

per = Person()

說(shuō)明:程序中定義Person類(lèi)型的變量per實(shí)際是一個(gè)變量名,它被存放在棧內(nèi)存中,它指向?qū)嶋H的Person對(duì)象,而真正的Person對(duì)象則存放在堆內(nèi)存中。

綜合練習(xí):

第一天開(kāi)學(xué),介紹一下你自己其中包括姓名,年齡以及愛(ài)好

#學(xué)生類(lèi)
class Student():
  #特征:成員變量
  self.name = ""
  self.age = ""
  self.hobby =""
  def introduce(self,name, age, hobby):
    print("大家好,我是%s,今年%d歲,愛(ài)好是%s"%(name,age, hobby))
  def singsong(self):
    print("娘子~啊哈")
  def dance(self):
    print("廣場(chǎng)舞跳起來(lái)...")
  def lie(self):
    print("我家特別窮,我小時(shí)候就一直在放牛,只有幾萬(wàn)頭....")
# 類(lèi)實(shí)例化
stu = Student()
# 成員方法調(diào)用
stu.introduce('ldc',18,'跑步')
stu.singsong()
stu.dance()
stu.lie()

輸出:

大家好,我是ldc,今年18歲,愛(ài)好是跑步
娘子~啊哈
廣場(chǎng)舞跳起來(lái)...
我家特別窮,我小時(shí)候就一直在放牛,只有幾萬(wàn)頭....

如何查看所有屬性和方法

class Test():
  def __init__(self,name):
    self.name = name
  def test(self):
    print('testing...')
test = Test('測(cè)試')
# 查看所有屬性和方法
list1 = dir(test)
# 檢查實(shí)例是否有這個(gè)屬性
print(hasattr(test, 'name'),hasattr(test, 'test'),hasattr(test, 'tt'))
# 設(shè)置屬性值
setattr(test,'name','測(cè)試2')
# 獲取屬性值
print(getattr(test, 'name'))

輸出:

True True False
測(cè)試2

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Python面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)與進(jìn)階教程》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》及《Python入門(mén)與進(jìn)階經(jīng)典教程

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

依兰县| 华容县| 莎车县| 那曲县| 漳州市| 常州市| 双柏县| 扎赉特旗| 工布江达县| 独山县| 景谷| 长葛市| 潜江市| 安西县| 股票| 四子王旗| 当涂县| 静安区| 淮安市| 密云县| 巴南区| 自治县| 阜康市| 丹巴县| 澄迈县| 武宁县| 辽源市| 高雄市| 息烽县| 新建县| 长兴县| 兴和县| 砚山县| 绍兴县| 长岛县| 乌拉特中旗| 晋州市| 黄梅县| 贵德县| 安达市| 德兴市|