日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Python面向?qū)ο蟮乃拇筇卣魇鞘裁?/div>

這篇文章主要講解了“Python面向?qū)ο蟮乃拇筇卣魇鞘裁础保闹械闹v解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Python面向?qū)ο蟮乃拇筇卣魇鞘裁础卑桑?/p>

成都創(chuàng)新互聯(lián)一直通過網(wǎng)站建設(shè)和網(wǎng)站營銷幫助企業(yè)獲得更多客戶資源。 以"深度挖掘,量身打造,注重實(shí)效"的一站式服務(wù),以成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、移動(dòng)互聯(lián)產(chǎn)品、成都全網(wǎng)營銷服務(wù)為核心業(yè)務(wù)。十余年網(wǎng)站制作的經(jīng)驗(yàn),使用新網(wǎng)站建設(shè)技術(shù),全新開發(fā)出的標(biāo)準(zhǔn)網(wǎng)站,不但價(jià)格便宜而且實(shí)用、靈活,特別適合中小公司網(wǎng)站制作。網(wǎng)站管理系統(tǒng)簡(jiǎn)單易用,維護(hù)方便,您可以完全操作網(wǎng)站資料,是中小公司快速網(wǎng)站建設(shè)的選擇。

Python面向?qū)ο蟮乃拇筇卣魇鞘裁?></p><h3><strong>1.抽象</strong></h3><p>抽象是隱藏多余細(xì)節(jié)的藝術(shù)。在面向?qū)ο蟮母拍钪?,抽象的直接表現(xiàn)形式通常為類。Python基本上提供了面向?qū)ο缶幊陶Z言的所有元素,如果你已經(jīng)至少掌握了一門面向?qū)ο笳Z言,那么利用Python進(jìn)行面向?qū)ο蟪绦蛟O(shè)計(jì)將會(huì)相當(dāng)容易。</p><p>忽略一個(gè)主題中與當(dāng)前目標(biāo)無關(guān)的東西,專注的注意與當(dāng)前目標(biāo)有關(guān)的方面.( 就是把現(xiàn)實(shí)世界中的某一類東西, 提取出來, 用程序代碼表示, 抽象出來的一般叫做類或者接口).</p><p>抽象并不打算了解全部問題, 而是選擇其中的一部分,暫時(shí)不用部分細(xì)節(jié).抽象包括兩個(gè)方面,一個(gè)數(shù)據(jù)抽象,二是過程抽象.</p><p>數(shù)據(jù)抽象 -->表示世界中一類事物的特征,就是對(duì)象的屬性.比如鳥有翅膀,羽毛等(類的屬性)</p><p>過程抽象 -->表示世界中一類事物的行為,就是對(duì)象的行為.比如鳥會(huì)飛,會(huì)叫(類的方法)</p><h3><strong>2.封裝</strong></h3><p>面向?qū)ο蟮某绦蛟O(shè)計(jì)中,某個(gè)類把所需要的數(shù)據(jù)(也可以說是類的屬性)和對(duì)數(shù)據(jù)的操作(也可以說是類的行為)全部都封裝在類中,分別稱為類的成員變量和方法(或成員函數(shù))。這種把成員變量和成員函數(shù)封裝在一起的編程特性稱為封裝。</p><h3><strong>2.1公有成員變量和私有成員變量</strong></h3><p>Python中用成員變量的名字來區(qū)分是公有成員變量或者是私有成員變量。</p><p>Python中,以兩個(gè)下劃線‘_ _’開頭的變量都是私有成員變量,而其余的變量都屬于公有成員變量。</p><p>其中,私有的成員變量只能在類的內(nèi)部訪問,而共有的公有的成員變量可以在類的外部進(jìn)行訪問。</p><h3><strong>2.2公有方法和私有方法</strong></h3><p>類的方法是對(duì)類行為的封裝。</p><p>類的方法也分為公有方法和私有方法。</p><p>類的私有方法只能通過對(duì)象名(在類內(nèi)部也就是self)在類的內(nèi)部進(jìn)行訪問。而公有方法可以在類的外部通過對(duì)象名進(jìn)行訪問。同樣,公有的成員方法和私有的成員方法也是通過名字來區(qū)分的,雙下劃線‘__’開頭的方法是私有成員方法。</p><p>私有方法:只能在類的內(nèi)部進(jìn)行訪問,對(duì)象無法訪問。</p><p>私有屬性: 提高代碼安全性,不允許別人隨意修改</p><pre>class Test(object):
    #私有方法
    def __test2(self):
        print(

#私有方法應(yīng)用場(chǎng)景--發(fā)短信

#私有方法應(yīng)用場(chǎng)景--發(fā)短信
class Test:
    #核心私有方法,用于發(fā)送短信
    def __sendMsg(self):
        print("---正在發(fā)送短信---")
    #公共方法
    def sendMsg(self,newMoney):
        if newMoney>10000: #余額大于10000才可以調(diào)用發(fā)短信功能
            self.__sendMsg()
        else:
            print("抱歉,余額不足,請(qǐng)先充值!")
t = Test()
t.sendMsg(1000000000)
#帳號(hào)不允許更改
class Person(object):
    def __init__(self,name,sex):
        self.__name = name
        self.__sex = sex
    def getSex(self):
        return self.__sex
    def getName(self):
        return self.__name
    def setName(self,newName):
        if len(newName)>=5:
            self.__name = newName
        else:
            print("名字長(zhǎng)度必須大于等于才可修改!")
xiaoming = Person("hoongfu","男")
print(xiaoming.getName())
print(xiaoming.getSex())
xiaoming.setName("xiaoming")
print(xiaoming.getName())

2.2.1 練習(xí)

定義一個(gè)類Person,類中有私有方法和普通方法,私有屬性和普通屬性

能通過普通方法調(diào)用私有方法,也能通過普通方法更改私有屬性。

class Test(object):
    def test(self):
        self.__sex = "保密"
        print("普通公有方法test")
        #調(diào)用私有方法
        self.__test1()
    def __test1(self):
        print("私有方法__test1")
        #調(diào)用私有屬性
        print("私有屬性__sex:",self.__sex)
t = Test()
t.test()

3. 繼承

3.1繼承的概念

在程序中,繼承描述的是事物之間的所屬關(guān)系,例如貓和狗都屬于動(dòng)物,程序中便可以描述為貓和狗繼承自動(dòng)物;同理,波斯貓和巴厘貓都繼承自貓,而沙皮狗和斑點(diǎn)狗都繼承狗

#繼承

#繼承
class Animal(object):
    def eat(self):
        print("----吃----")
    def dirk(self):
        print("----喝----")
    def run(self):
        print("----跑----")
    def sleep(self):
        print("----睡覺----")
class Dog(Animal):
    '''
    def eat(self):
        print("----吃----")
    def dirk(self):
        print("----喝----")
    def run(self):
        print("----跑----")
    def sleep(self):
        print("----睡覺----")
    '''
    def call(self):
        print("旺旺叫...")
class Cat(Animal):
    def catch(self):
        print("抓老鼠....")
dog = Dog()
dog.call()
dog.eat()
tom = Cat()
tom.catch()
tom.sleep()

#多繼承

#多繼承
class Animal(object):
    def eat(self):
        print("----吃----")
    def dirk(self):
        print("----喝----")
    def run(self):
        print("----跑----")
    def sleep(self):
        print("----睡覺----")
class Dog(Animal):
    def call(self):
        print("旺旺叫...")
class XiaoTq(Dog):
    def fly(self):
        print("----飛嘍-------")
xtq = XiaoTq()
xtq.fly()
xtq.call()
xtq.eat()
class Cat(object):
    def __init__(self,name,color="白色"):
        self.name = name
        self.color = color
    def run(self):
        print("%s -- 在跑"%self.name)
class Bosi(Cat):
    def setName(self,newName):
        self.name = newName
    def eat(self):
        print("%s -- 在吃"%self.name)
bs = Bosi("印度貓")
print(bs.name)
print(bs.color)
bs.eat()
bs.setName("波斯貓")
bs.run()

3.2重寫父類方法與調(diào)用父類方法

所謂重寫,就是子類中,有一個(gè)和父類相同名字的方法,在子類中的方法會(huì)覆蓋掉父類中同名的方法.

使用super調(diào)用父類的方法:可以直接調(diào)用父類方法,不需要通過 父類名.父類方法名 的方式

class Cat(object):
    def sayHello(self,name):
        print("hello---1")
class Bosi(Cat):
    def sayHello(self):
        print("hello---2")
        #Cat.sayHello(self)
        super().sayHello("Zhangsan")
bs = Bosi()
bs.sayHello()

3.3多繼承

多繼承舉例:

class Base(object):
    def test(self):
        print("----Base-----")
class A(Base):
    def test(self):
        print("----test1-----")
class B(Base):
    def test(self):
        print("----test2-----")
class C(A,B):
    pass
c = C()
c.test()
print(C.__mro__) #可以查看C類的搜索方法時(shí)的先后順序

4.多態(tài)

4.1多態(tài)的定義

所謂多態(tài):定義時(shí)的類型和運(yùn)行時(shí)的類型不一樣,此時(shí)就成為多態(tài)。

多態(tài)指的是一類事物有多種形態(tài),(一個(gè)抽象類有多個(gè)子類,因而多態(tài)的概念依賴于繼承)。

當(dāng)子類和父類都存在相同的print_self()方法時(shí),我們說,子類的print_self()覆蓋了父類的print_self(),在代碼運(yùn)行的時(shí)候,總是會(huì)調(diào)用子類的print_self()。這樣,我們就獲得了繼承的另一個(gè)好處: 多態(tài)。

class Dog(object):
    def printSelf(self):
        print("大家好,我是xxx,請(qǐng)大家多多關(guān)照!")
class XiaoTq(Dog):
    def printSelf(self):
        print("Hello,ereybody,我是你們的老大,我是哮天神犬!")

#定義一個(gè)執(zhí)行函數(shù)
def exec(obj):

    """

    #定義時(shí)的類型并不知道要調(diào)用哪個(gè)類的方法,

    當(dāng)運(yùn)行時(shí)才能確定調(diào)用哪個(gè)類的方法,這種情況,我們就叫做多態(tài)

    """

    obj.printSelf()
dog = Dog()
exec(dog)
xtq = XiaoTq()
exec(xtq)

4.2新式類和經(jīng)典類的區(qū)別

新式類都從 object 繼承,經(jīng)典類不需要

Python 2.x中默認(rèn)都是經(jīng)典類,只有顯式繼承了object

Python 3.x中默認(rèn)都是新式類,經(jīng)典類被移除,不必顯式的繼承object

#新式類和經(jīng)典類的區(qū)別

class A:
    def __init__(self):
        print('a')
class B(A):
    def __init__(self):
        A().__init__()
        print('b')
b = B()
print(type(b))
class A():
    def __init__(self):
        pass
    def save(self):
        print("This is from A")
class B(A):
    def __init__(self):
        pass
class C(A):
    def __init__(self):
        pass
    def save(self):
        print("This is from C")
class D(B,C):
    def __init__(self):
        pass
fun = D()
fun.save()

感謝各位的閱讀,以上就是“Python面向?qū)ο蟮乃拇筇卣魇鞘裁础钡膬?nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Python面向?qū)ο蟮乃拇筇卣魇鞘裁催@一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!


分享標(biāo)題:Python面向?qū)ο蟮乃拇筇卣魇鞘裁?
轉(zhuǎn)載來于:http://www.dlmjj.cn/article/jhsdis.html