溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

編程語言中面向?qū)ο蠛皖惖母拍钍鞘裁?/h1>
發(fā)布時(shí)間:2021-12-03 10:03:42 來源:億速云 閱讀:130 作者:柒染 欄目:編程語言

編程語言中面向?qū)ο蠛皖惖母拍钍鞘裁?,很多新手?duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

#一、面向?qū)ο?
#面向過程與面向?qū)ο?
#面向過程:過程即解決問題的過程,就是有邏輯順序,基于該思想寫程序。如設(shè)計(jì)流程圖,是一種機(jī)械式的思維方式。
#優(yōu)點(diǎn):復(fù)雜的過程流程化,進(jìn)而簡(jiǎn)單化
#缺點(diǎn):擴(kuò)展性差

#面向?qū)ο螅簩?duì)象是特征與技能的結(jié)合體,基于該思想編寫程序比如創(chuàng)造一個(gè)世界,世界是由一個(gè)個(gè)對(duì)象組成
#優(yōu)點(diǎn):可擴(kuò)展性強(qiáng)
#缺點(diǎn):編程復(fù)雜高,容易出現(xiàn)過度設(shè)計(jì)

#二、類
#對(duì)象是特征與技能的結(jié)合體,類是一系列對(duì)象相似的特征與技能的結(jié)合體。
#在實(shí)現(xiàn)中:一定是先有的一個(gè)個(gè)具體的對(duì)象,后總結(jié)出的類。如(人,人類)
#在程序中:一定是先定義類,后產(chǎn)生對(duì)象。

#類的格式: class 類名:
#類體內(nèi)的代碼在類的定義階段就會(huì)立即執(zhí)行,
#如:
class sut:
    sc='dagschool'
    def learn(self):
        print('is learing')

    def __init__(self,name,sex,age):   #__init__在調(diào)用類時(shí)會(huì)自動(dòng)觸發(fā)
        self.Name=name
        self.Sex=sex
        self.Age=age

        #self.Name='李'
        #self.Sex='男'
        #self.Age=18

    def choose_cou(self):
        print('choose')

#類的查看屬性
print(sut.__dict__)  #__dict__查看類的名稱空間
print(sut.sc)    #訪問類的名稱空間,"."訪問前面名稱空間的屬性。
print(sut.learn)  #learn類的函數(shù)屬性

#類的增加屬性
sut.counttry='china'
print(sut.counttry)

#類的修改屬性
sut.sc='DAGSCHOOL'
print(sut.sc)

#類的刪除屬性
del sut.counttry
print(sut.counttry)

#類函數(shù)的調(diào)用,必須傳參
sut.learn('ss')

#調(diào)用類的過程又稱之為實(shí)例化
#1.得到的返回值,即是一個(gè)對(duì)象,該對(duì)象是一個(gè)空對(duì)象。
#2.把空對(duì)象,連同調(diào)用類時(shí)類括號(hào)參數(shù),把它拼接成一堆參數(shù),其中空對(duì)象本身要當(dāng)成第一個(gè)參數(shù),然后傳給初始化的函數(shù)__init__。如:sut.__init__(sut1,'李','男',18)
sut1=sut('李','男',18)  #sut1就是一個(gè)對(duì)象
print(sut1.__dict__)
print(sut1.Name,sut1.Sex,sut1.Age)

#類中定義的函數(shù)是綁定給對(duì)象使用的,不同的對(duì)象就是不同的綁定方法,綁定給誰,就應(yīng)該由誰來調(diào)用。誰來調(diào)用,就會(huì)誰當(dāng)做第一個(gè)參數(shù)傳給對(duì)象的函數(shù)。
class sut:
    sc='dagschool'
    def learn(self,x,y):
        print('%s is learing' %self.Name)
        print(x,y)
    def __init__(self, name, sex, age):  # __init__在調(diào)用類時(shí)會(huì)自動(dòng)觸發(fā)
        self.Name=name
        self.Sex=sex
        self.Age=age

sut1=sut('李','男',18)   #sut1就是一個(gè)對(duì)象
print(sut1.__dict__)
print(sut1.Name,sut1.Sex,sut1.Age)
sut2=sut('羅','男',8)
sut3=sut('候','男',181)

print(sut.learn)
print(sut1.learn)
print(sut2.learn)
print(sut3.learn)

sut1.learn(1,2)
sut.learn(sut1,1,2) #結(jié)果相同

#在類內(nèi)部定義的函數(shù),都應(yīng)該默認(rèn)有一個(gè)參數(shù)。

例:
class Teac:
    schoo='oldboy'
    count=0
    def __init__(self,name,sex,age,level,salary):
        self.name=name
        self.sex=sex
        self.age=age
        self.level=level
        self.salary=salary
        Teacher.count+=1

    def teach(self):
        print('%s is tacahing' %self.name)

t1=Teac('ii','sdf',19,56,20)
t2=Teac('tr','tf',58,60,1000)
t3=Teac('hg','aop',68,40,100)

print(t1.count)

#類及類型
g=[1,2,3,4] #g=list([1,2,3,4])
g1=list([1,2,3,4])
g2=list([1,2,3,4])

g1.append(5)
#等于
list.append(g1,5)  #g1相當(dāng)于默認(rèn)參數(shù)self
print(g1)

#綁定方法的理解
g1.append('a')
g2.append('b')

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI