最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
  • 注意:要想將文件寫(xiě)成多行,要在每一行的后面加上換行符\n

    查看全部
  • read(n)讀取n個(gè)字符

    readline()讀一行

    readlines(n)讀n行,以列表形式返回


    讀取一個(gè)文件,并把文件內(nèi)容打印出來(lái)

    with?open('requirements.txt','r')?as?f:
    ????lines?=?f.readlines()
    ????print(lines)
    ????txt?=?''
    ????for?line?in?lines:
    ????????txt?+=?line
    ????print(txt)
    ==>
    ['paddlepaddle==2.3.2\n',?'paddlenlp==2.4.1\n',?'regex\n',?'fastcore\n',?'scikit-image']
    paddlepaddle==2.3.2
    paddlenlp==2.4.1
    regex
    fastcore
    scikit-image

    注意:

    換行符也是字符!

    查看全部
  • 在Python中,模塊(功能模塊)就是一個(gè).py文件

    查看全部
    0 采集 收起 來(lái)源:Python定義模塊

    2024-09-01

  • __call__()

    工作原理:

    當(dāng)你嘗試以函數(shù)的方式調(diào)用一個(gè)對(duì)象時(shí),Python會(huì)自動(dòng)查找該對(duì)象的__call__()。

    class?Fib(object):
    ????def?__init__(self):
    ????????pass
    ????????
    ????def?__call__(self,n):
    ????????fib_list?=?[]
    ????????a,b?=?0,1
    ????????for?i?in?range(n):
    ????????????fib_list.append(a)
    ????????????a,b?=?b,a+b
    ????????????
    ????????return?fib_list
    
    f?=?Fib()
    print(f(10))
    ==>
    [0,?1,?1,?2,?3,?5,?8,?13,?21,?34]

    f(10) == f.__call__(10)

    查看全部
  • Python是動(dòng)態(tài)語(yǔ)言,實(shí)例可動(dòng)態(tài)添加屬性

    student.age = 12


    __slots__是一個(gè)特殊的內(nèi)置類(lèi)屬性,用于限定實(shí)例屬性

    用法:

    __slots__ = ('屬性1', '屬性2'...)

    class?Person(object):
    ????__slots__?=?('name','gender')
    ????def?__init__(self,name,gender):
    ????????self.name?=?name
    ????????self.gender?=?gender
    ????????
    class?Student(Person):
    ????__slots__?=?('score')
    ????def?__init__(self,name,gender,score):
    ????????super().__init__(name,gender)
    ????????self.score?=?score
    ????????
    s?=?Student('Alice','gril',27)
    s.age?=?18
    ==>AttributeError

    __slots__的繼承

    在上面的例子中,Student 類(lèi)繼承了 Person 類(lèi)的?slots,同時(shí)額外定義了一個(gè) score 屬性。這意味著 Student 類(lèi)的實(shí)例只能擁有 name、age 和 score 這三個(gè)屬性。

    查看全部
  • Rational類(lèi)的四則運(yùn)算
    class?Rational(object):
    ????def?__init__(self,?p,?q):
    ????????self.p?=?p
    ????????self.q?=?q
    
    ????def?__add__(self,?r):
    ????????return?Rational(self.p?*?r.q?+?r.p?*?self.q,?self.q?*?r.q)
    
    ????def?__sub__(self,?r):
    ????????return?Rational(self.p?*?r.q?-?r.p?*?self.q,?self.q?*?r.q)
    
    ????def?__mul__(self,?r):
    ????????return?Rational(self.p?*?r.p,?self.q?*?r.q)
    
    ????def?__truediv__(self,?r):
    ????????return?Rational(self.p?*?r.q,?self.q?*?r.p)
    
    ????def?__str__(self):
    ????????return?'{}/{}'.format(self.p,?self.q)
    
    
    r1?=?Rational(1,?2)
    r2?=?Rational(2,?3)
    print(r1?+?r2,r1-r2,r1*r2,r1/r2)
    ==>
    7/6?-1/6?2/6?3/4

    解釋:

    1、r1 + r2 相當(dāng)于 r1.add(r2)? r1調(diào)用__add__(self,r2)

    2、可以在實(shí)例方法中創(chuàng)建本類(lèi)的實(shí)例對(duì)象

    查看全部
  • 對(duì)于內(nèi)建對(duì)象(int, list, tuple, dict...),通過(guò)str()可以把對(duì)象轉(zhuǎn)換為字符串對(duì)象輸出

    num = 12
    str(num)? ==> '12'

    l = [1,2,3,4,5]
    str(l)? ==> '[1, 2, 3, 4, 5]'

    t = ('Alice',17)

    str(t) ==> '('Alice', 17)'

    d = {1: 1, 2: 2}
    str(d)? ==> '{1: 1, 2: 2}'


    對(duì)于自定義對(duì)象,需要重新定義內(nèi)建方法__str__()輸出你想輸出的內(nèi)容

    查看全部
  • 斐波那契數(shù)列是由 0, 1, 1, 2, 3, 5, 8...構(gòu)成。

    請(qǐng)編寫(xiě)一個(gè)Fib類(lèi),F(xiàn)ib(10)表示數(shù)列的前10個(gè)元素,print Fib(10) 可以打印出數(shù)列的前 10 個(gè)元素,len(Fib(10))可以正確返回?cái)?shù)列的個(gè)數(shù)10。

    class?Fib(object):
    ????def?__init__(self,n):
    ????????self.fib_list?=?[]
    ????????a,b?=?0,1
    ????????for?i?in?range(n):
    ????????????self.fib_list.append(a)
    ????????????a,b?=?b,a+b
    ????????????
    ????def?__str__(self):
    ????????return?str(self.fib_list)
    ????????
    ????def?__len__(self):
    ????????return?len(self.fib_list)
    ????????
    f?=?Fib(10)
    print(f)
    print(len(f))
    ==>
    [0,?1,?1,?2,?3,?5,?8,?13,?21,?34]
    10
    查看全部
  • 單繼承

    class?Person(object):
    ????def?__init__(self,?name,?gender):
    ????????self.name?=?name
    ????????self.gender?=?gender
    ????????
    ????????
    class?Teacher(Person):
    ????def?__init__(self,name,gender,subject):
    ????????super(Teacher,self).__init__(name,gender)????????
    ????????self.subject?=?subject
    ????????
    t?=?Teacher('Bob','boy','english')
    print(t.name,t.gender,t.subject)
    ==>Bob?boy?english


    多重繼承

    多重繼承的目的是從兩種繼承樹(shù)中分別選擇并繼承出子類(lèi),以便組合功能使用。
    舉個(gè)例子,Python的網(wǎng)絡(luò)服務(wù)器有TCPServer、UDPServer、UnixStreamServer、UnixDatagramServer,而服務(wù)器運(yùn)行模式有多進(jìn)程ForkingMixin和多線(xiàn)程ThreadingMixin兩種。
    要?jiǎng)?chuàng)建多進(jìn)程模式的 TCPServer:

    class MyTCPServer(TCPServer, ForkingMixin)
    ? ?pass

    要?jiǎng)?chuàng)建多線(xiàn)程模式的 UDPServer:

    class MyUDPServer(UDPServer, ThreadingMixin):
    ? ?pass

    如果沒(méi)有多重繼承,實(shí)現(xiàn)上述所有可能的組合需要 4x2=8 個(gè)類(lèi)。


    例:

    已知類(lèi)Student繼承Person類(lèi),技能類(lèi)BasketballMixin繼承SkillMixin類(lèi),請(qǐng)通過(guò)多重繼承,定義“會(huì)打籃球的學(xué)生”

    class?Person(object):
    ????def?__init__(self,?name,?age):
    ????????self.name?=?name
    ????????self.age?=?age
    
    
    class?SkillMixin(object):
    ????def?__init__(self,?club):
    ????????self.club?=?club
    
    
    class?BasketballMixin(SkillMixin):
    ????def?__init__(self,?club):
    ????????super(BasketballMixin,?self).__init__(club)
    
    
    class?Student(Person,?BasketballMixin):
    ????def?__init__(self,?name,?age,?score,?club):
    ????????super(Student,?self).__init__(name,?age,?club)
    ????????self.score?=?score
    
    
    s?=?Student('Alice',?17,?98,?'ax')
    print(s.name,?s.age,?s.score,s.club)
    class?Student(Person,?BasketballMixin):
    ????def?__init__(self,?name,?age,?score,?club):
    ????????super().__init__(name,?age)?#等于super(Student,self)...
    ????????super(Person,self).__init__(club)
    ????????self.score?=?score
    
    
    s?=?Student('Alice',?17,?98,?'ax')
    print(s.name,?s.age,?s.score,s.club)
    ==>Alice?17?98?ax

    錯(cuò)誤理解:

    super().__init__() 會(huì)調(diào)用所有父類(lèi)的__init__方法


    正確理解:

    super(type, object_or_type=None)

    object_or_type?確定要用于搜索的?method resolution order。 搜索會(huì)從?type?之后的類(lèi)開(kāi)始。

    舉例來(lái)說(shuō),如果?object_or_type?的?__mro__?為?D?->?B?->?C?->?A?->?object?并且?type?的值為?B,則?super()?將會(huì)搜索?C?->?A?->?object。

    查看全部
    0 采集 收起 來(lái)源:Python中的多態(tài)

    2024-09-01

  • isinstance(變量, 類(lèi)型)判斷變量是否為該類(lèi)型

    例:

    isinstance(2,int)==>True

    查看全部
    0 采集 收起 來(lái)源:Python判斷類(lèi)型

    2024-08-31

  • 操作實(shí)例的私有屬性

    ==>定義實(shí)例方法??

    class?Person(object):
    
    ????def?__init__(self,?name):
    ????????self.__name?=?name
    
    ????def?get_name(self):
    ????????return?self.__name
    ????????
    ????def?set_name(self,name):
    ????????self.__name?=?name
    ????????
    p?=?Person('Alice')
    print(p.get_name())
    p.set_name('Bob')
    print(p.get_name())
    
    ==>
    Alice
    Bob
    查看全部
  • 操作類(lèi)的私有屬性

    ==>定義類(lèi)方法??

    class?Animal(object):
    ????__count?=?0
    ????
    ????@classmethod
    ????def?get_count(cls):
    ????????return?cls.__count
    ????????
    ????@classmethod
    ????def?set_count(cls,count):
    ????????cls.__count?=?count
    ????
    print(Animal.get_count())
    Animal.set_count(2)
    print(Animal.get_count())
    ==>
    0
    2

    和實(shí)例方法不同的:

    1、需要使用@classmethod來(lái)標(biāo)記為類(lèi)方法,否則定義的還是實(shí)例方法

    2、類(lèi)方法的第一個(gè)參數(shù)將傳入類(lèi)本身,通常將參數(shù)名命名為 cls,上面的 cls.__localtion 實(shí)際上相當(dāng)于A(yíng)nimal.__localtion。

    查看全部
    0 采集 收起 來(lái)源:Python定義類(lèi)方法

    2024-08-31

  • 私有屬性:以雙下劃線(xiàn)'__'開(kāi)頭


    # 類(lèi)私有屬性
    class Animal(object):
    ? ?__localtion = 'Asia'

    print(Animal.__localtion)

    ==>type object 'Animal' has no attribute '__localtion'


    # 實(shí)例私有屬性
    class Animal(object):
    ? ?def __init__(self, localtion):
    ? ? ? ?self.__localtion = localtion

    dog = Animal('GuangDong')
    print(dog.__localtion)

    ==>'Animal' object has no attribute '__localtion'

    查看全部
  • 請(qǐng)給 Animal類(lèi)添加一個(gè)類(lèi)屬性 count,每創(chuàng)建一個(gè)實(shí)例,count 屬性就加 1,這樣就可以統(tǒng)計(jì)出一共創(chuàng)建了多少個(gè) Animal的實(shí)例。

    class?Animal(object):
    ????count?=?0
    ????def?__init__(self):
    ????????count?+=?1
    ????????
    dog?=?Animal()
    cat?=?Animal()
    print(Animal.count)
    ==>local?variable?'count'?referenced?before?assignment
    class?Animal(object):
    ????count?=?0
    ????def?__init__(self):
    ????????Animal.count?+=?1
    ????????
    dog?=?Animal()
    cat?=?Animal()
    print(Animal.count)
    ==>2

    問(wèn):

    為什么在類(lèi)方法中不能直接訪(fǎng)問(wèn)類(lèi)屬性,而是要通過(guò)"類(lèi).類(lèi)屬性"?

    答:

    如果你不加“類(lèi).”,他會(huì)認(rèn)為count是__init__方法中的一個(gè)局部變量,就會(huì)出現(xiàn)上面的錯(cuò)誤:變量count未定義就使用

    所以請(qǐng)注意:

    在類(lèi)方法中引用類(lèi)屬性也要通過(guò)"類(lèi).類(lèi)屬性"的方式?。?!

    查看全部
    0 采集 收起 來(lái)源:Python類(lèi)屬性

    2024-08-31

  • 類(lèi)方法的第一個(gè)參數(shù)必須是self,但是在調(diào)用時(shí)不必傳入相應(yīng)的參數(shù)。

    self指的是類(lèi)實(shí)例對(duì)象本身,不是類(lèi)本身。

    查看全部

舉報(bào)

0/150
提交
取消
課程須知
本課程是Python入門(mén)的后續(xù)課程 1、掌握Python編程的基礎(chǔ)知識(shí) 2、掌握Python函數(shù)的編寫(xiě) 3、對(duì)面向?qū)ο缶幊逃兴私飧?/dd>
老師告訴你能學(xué)到什么?
1、什么是函數(shù)式編程 2、Python的函數(shù)式編程特點(diǎn) 3、Python的模塊 4、Python面向?qū)ο缶幊? 5、Python強(qiáng)大的定制類(lèi)

微信掃碼,參與3人拼團(tuán)

微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

友情提示:

您好,此課程屬于遷移課程,您已購(gòu)買(mǎi)該課程,無(wú)需重復(fù)購(gòu)買(mǎi),感謝您對(duì)慕課網(wǎng)的支持!