我要糾正推薦答案中的說法!
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、章丘網(wǎng)絡(luò)推廣、微信小程序定制開發(fā)、章丘網(wǎng)絡(luò)營銷、章丘企業(yè)策劃、章丘品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供章丘建站搭建服務(wù),24小時服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com
del并不是用來“刪除引用指向的內(nèi)存空間”,python中的del和c++中的delete是完全兩個概念,不要誤人子弟。。
一般來講,del是用來刪除變量的引用的,例如a = 1; del a,這里a是對1這個值的引用(python中所有的變量都可視作引用),而del a就是刪除這一引用關(guān)系,也就是說,1不再被a這個變量引用了,同時a這個變量名也從變量表中剔除了。
如果還是不太清楚,我舉這個例子你就明白了:
a = object()
b = a
del a
print b
print a # 該句會報a未定義的異常
這段代碼中,a引用了一個新對象object(),而b=a使得b也引用了這個對象,a和b雖然是兩個變量,但它們引用的是同一個對象,有點類似于c++中的兩個指針指向同一個對象。
而后面del a僅僅只是把a這個變量對object()的引用刪掉了,同時a的變量名也失效了,但并不表示object()這個對象被刪除了,它還在,并且b還引用著它呢。從后面print b能正常輸出就可以看出這一點。
python的內(nèi)存釋放采用的是引用計數(shù)機制,也就是當一個對象沒有任何引用它的變量了,那么它就會自動被釋放,無需人工干預(yù)。
此外,del對于不同的對象也會有不同的功能,這取決于對象本身對__del__系統(tǒng)方法的實現(xiàn)。例如一個列表a = [1,2,3],del a[0]表示將列表的首項刪除,此時a就變成[2,3]了。如果是自定義的對象,那del的功能更是可以定義成你想要的任何樣子,詳情請參考python幫助中的__del__詞條。
python中def意思是聲明函數(shù)。
Python 使用def 開始函數(shù)定義,緊接著是函數(shù)名,括號內(nèi)部為函數(shù)的參數(shù),內(nèi)部為函數(shù)的 具體功能實現(xiàn)代碼,如果想要函數(shù)有返回值, 在?expressions 中的邏輯代碼中用 return 返回。
expressions
實例def function():
print('This is a function')
a = 1+2
print(a)
相關(guān)內(nèi)容:
function 的函數(shù),函數(shù)沒有不接受參數(shù),所以括號內(nèi)部為空,緊接著就是 函數(shù)的功能代碼。如果執(zhí)行該腳本,發(fā)現(xiàn)并沒有輸出任何輸出,因為我們只定義了函數(shù),而并沒有執(zhí)行函數(shù)。 這時我們在 Python 命令提示符中輸入函數(shù)調(diào)用 function(), 注意這里調(diào)用函數(shù)的括號不能省略。
那么函數(shù)內(nèi)部的功能代碼將會執(zhí)行,輸出結(jié)果:This is a function。
定義一個函數(shù)
你可以定義一個由自己想要功能的函數(shù),以下是簡單的規(guī)則:
函數(shù)代碼塊以?def?關(guān)鍵詞開頭,后接函數(shù)標識符名稱和圓括號()。
任何傳入?yún)?shù)和自變量必須放在圓括號中間。圓括號之間可以用于定義參數(shù)。
函數(shù)的第一行語句可以選擇性地使用文檔字符串—用于存放函數(shù)說明。
函數(shù)內(nèi)容以冒號起始,并且縮進。
return [表達式]?結(jié)束函數(shù),選擇性地返回一個值給調(diào)用方。不帶表達式的return相當于返回 None。
list(range(0,100))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
望采納、點贊!