Python07

1、閉包
閉包是函數(shù)里面嵌套函數(shù),外層函數(shù)返回里層函數(shù),這種情況稱(chēng)之為閉包,內(nèi)函數(shù)調(diào)用外部函數(shù)的變量,外函數(shù)返回內(nèi)函數(shù)的調(diào)用

def dome1():
    a = 100
    def dome2():
        return a + a
    return dome2
a = dome1()               # a存的是dome2的函數(shù)體,<function dome1.<locals>.dome2 at 0x000001EC7E472940>
print(a())                    # 相當(dāng)于調(diào)用函數(shù)dome2

2、遞歸
在函數(shù)內(nèi)部調(diào)用自身本身,這個(gè)就是遞歸函數(shù),遞歸函數(shù)要有出口,沒(méi)有出口會(huì)出現(xiàn)內(nèi)存溢出

def funs(n):
    if n==1:
        return 1
    return n+funs(n-1)
print(funs(4))

3、類(lèi)
類(lèi):用來(lái)描述具有相同的屬性和方法的對(duì)象的集合,包含類(lèi)名、屬性和方法(類(lèi)屬性、類(lèi)方法不是必須的,需不需要取決于程序設(shè)計(jì)),類(lèi)名一般用單駝峰(Myperson)或雙駝峰(MyPerson)表示

# 類(lèi)的定義 
class Myperson:            # 類(lèi)名
    name='sunwukong'       # 屬性
    age='500'              # 屬性
    def fly(self):         # 方法
        print('我能飛超級(jí)遠(yuǎn)')
# 類(lèi)的實(shí)例化(類(lèi)的使用)
sunwukong=Myperson()

4、構(gòu)造方法
通過(guò)init()方法來(lái)實(shí)現(xiàn),如果類(lèi)里面沒(méi)有寫(xiě)init方法,Python會(huì)自動(dòng)創(chuàng)建,不需要做任何操作,如果要實(shí)現(xiàn)添加自己的一些屬性,就需要自己定義,一個(gè)類(lèi)里面無(wú)論是自己寫(xiě)還是系統(tǒng)自動(dòng)創(chuàng)建,一定要有init這個(gè)方法

class Person:
    def __init__(self,name):
        print(f'{name}構(gòu)造方法')
p1=Person('我是第一個(gè)')
p2=Person('我是第二個(gè)')
#
我是第一個(gè)構(gòu)造方法
我是第二個(gè)構(gòu)造方法

5、析構(gòu)方法
通過(guò)del方法實(shí)現(xiàn)的,是一種特殊的方法,用在對(duì)象被銷(xiāo)毀時(shí)執(zhí)行一些清理操作,如資源釋放等,當(dāng)對(duì)象被銷(xiāo)毀時(shí),無(wú)論是程序結(jié)束還是對(duì)象被手動(dòng)刪除,Python解釋器都會(huì)自動(dòng)調(diào)這個(gè)方法。

凡是以--開(kāi)頭--結(jié)尾的方法統(tǒng)稱(chēng)為魔法方法

6、定義一個(gè)長(zhǎng)方形類(lèi),綁定長(zhǎng)和寬這兩個(gè)屬性,創(chuàng)造一個(gè)計(jì)算面積的方法。

class Rectangle:
    def __init__(self, length, width):
        self.length = length
        self.width = width
    def area(self):
        return self.length * self.width
reactangle_area = Rectangle(3,4)
print(f'長(zhǎng)方形的面積是:{reactangle_area.area()}')
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容