我要糾正推薦答案中的說法!
雁塔ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
del并不是用來“刪除引用指向的內(nèi)存空間”,python中的del和c++中的delete是完全兩個(gè)概念,不要誤人子弟。。
一般來講,del是用來刪除變量的引用的,例如a = 1; del a,這里a是對(duì)1這個(gè)值的引用(python中所有的變量都可視作引用),而del a就是刪除這一引用關(guān)系,也就是說,1不再被a這個(gè)變量引用了,同時(shí)a這個(gè)變量名也從變量表中剔除了。
如果還是不太清楚,我舉這個(gè)例子你就明白了:
a = object()
b = a
del a
print b
print a # 該句會(huì)報(bào)a未定義的異常
這段代碼中,a引用了一個(gè)新對(duì)象object(),而b=a使得b也引用了這個(gè)對(duì)象,a和b雖然是兩個(gè)變量,但它們引用的是同一個(gè)對(duì)象,有點(diǎn)類似于c++中的兩個(gè)指針指向同一個(gè)對(duì)象。
而后面del a僅僅只是把a(bǔ)這個(gè)變量對(duì)object()的引用刪掉了,同時(shí)a的變量名也失效了,但并不表示object()這個(gè)對(duì)象被刪除了,它還在,并且b還引用著它呢。從后面print b能正常輸出就可以看出這一點(diǎn)。
python的內(nèi)存釋放采用的是引用計(jì)數(shù)機(jī)制,也就是當(dāng)一個(gè)對(duì)象沒有任何引用它的變量了,那么它就會(huì)自動(dòng)被釋放,無需人工干預(yù)。
此外,del對(duì)于不同的對(duì)象也會(huì)有不同的功能,這取決于對(duì)象本身對(duì)__del__系統(tǒng)方法的實(shí)現(xiàn)。例如一個(gè)列表a = [1,2,3],del a[0]表示將列表的首項(xiàng)刪除,此時(shí)a就變成[2,3]了。如果是自定義的對(duì)象,那del的功能更是可以定義成你想要的任何樣子,詳情請(qǐng)參考python幫助中的__del__詞條。
字符串是Python中基本的數(shù)據(jù)類型,幾乎在每個(gè)Python程序中都會(huì)使用到它。
▍1、Slicing
slicing切片,按照一定條件從列表或者元組中取出部分元素(比如特定范圍、索引、分割值)
▍2、****strip()
strip()方法用于移除字符串頭尾指定的字符(默認(rèn)為空格或換行符)或字符序列。
在使用strip()方法時(shí),默認(rèn)去除空格或換行符,所以#號(hào)并沒有去除。
可以給strip()方法添加指定字符,如下所示。
此外當(dāng)指定內(nèi)容不在頭尾處時(shí),并不會(huì)被去除。
第一個(gè)\n前有個(gè)空格,所以只會(huì)去取尾部的換行符。
最后strip()方法的參數(shù)是剝離其值的所有組合,這個(gè)可以看下面這個(gè)案例。
最外層的首字符和尾字符參數(shù)值將從字符串中剝離。字符從前端移除,直到到達(dá)一個(gè)不包含在字符集中的字符串字符為止。
在尾部也會(huì)發(fā)生類似的動(dòng)作。
▍3、****lstrip()
移除字符串左側(cè)指定的字符(默認(rèn)為空格或換行符)或字符序列。
同樣的,可以移除左側(cè)所有包含在字符集中的字符串。
▍4、rstrip()
移除字符串右側(cè)指定的字符(默認(rèn)為空格或換行符)或字符序列。
▍5、****removeprefix()
Python3.9中移除前綴的函數(shù)。
和strip()相比,并不會(huì)把字符集中的字符串進(jìn)行逐個(gè)匹配。
▍6、removesuffix()
Python3.9中移除后綴的函數(shù)。
▍7、****replace()
把字符串中的內(nèi)容替換成指定的內(nèi)容。
▍8、****re.sub()
re是正則的表達(dá)式,sub是substitute表示替換。
re.sub則是相對(duì)復(fù)雜點(diǎn)的替換。
和replace()做對(duì)比,使用re.sub()進(jìn)行替換操作,確實(shí)更高級(jí)點(diǎn)。
▍9、****split()
對(duì)字符串做分隔處理,最終的結(jié)果是一個(gè)列表。
當(dāng)不指定分隔符時(shí),默認(rèn)按空格分隔。
此外,還可以指定字符串的分隔次數(shù)。
▍10、****rsplit()
從右側(cè)開始對(duì)字符串進(jìn)行分隔。
▍11、****join()
string.join(seq)。以string作為分隔符,將seq中所有的元素(的字符串表示)合并為一個(gè)新的字符串。
▍12、****upper()
將字符串中的字母,全部轉(zhuǎn)換為大寫。
▍13、****lower()
將字符串中的字母,全部轉(zhuǎn)換為小寫。
▍14、capitalize()
將字符串中的首個(gè)字母轉(zhuǎn)換為大寫。
▍15、****islower()
判斷字符串中的所有字母是否都為小寫,是則返回True,否則返回False。
▍16、isupper()
判斷字符串中的所有字母是否都為大寫,是則返回True,否則返回False。
▍17、****isalpha()
如果字符串至少有一個(gè)字符并且所有字符都是字母,則返回 True,否則返回 False。
▍18、isnumeric()
如果字符串中只包含數(shù)字字符,則返回 True,否則返回 False。
▍19、isalnum()
如果字符串中至少有一個(gè)字符并且所有字符都是字母或數(shù)字,則返回True,否則返回 False。
▍20、count()
返回指定內(nèi)容在字符串中出現(xiàn)的次數(shù)。
▍21、****find()
檢測(cè)指定內(nèi)容是否包含在字符串中,如果是返回開始的索引值,否則返回-1。
此外,還可以指定開始的范圍。
▍22、rfind()
類似于find()函數(shù),返回字符串最后一次出現(xiàn)的位置,如果沒有匹配項(xiàng)則返回 -1。
▍23、startswith()
檢查字符串是否是以指定內(nèi)容開頭,是則返回 True,否則返回 False。
**
**
▍24、****endswith()
檢查字符串是否是以指定內(nèi)容結(jié)束,是則返回 True,否則返回 False。
▍25、****partition()
string.partition(str),有點(diǎn)像find()和split()的結(jié)合體。
從str出現(xiàn)的第一個(gè)位置起,把字符串string分成一個(gè)3 元素的元組(string_pre_str,str,string_post_str),如果string中不包含str則 string_pre_str==string。
▍26、center()
返回一個(gè)原字符串居中,并使用空格填充至長(zhǎng)度width的新字符串。
▍27、ljust()
返回一個(gè)原字符串左對(duì)齊,并使用空格填充至長(zhǎng)度width的新字符串。
▍28、rjust()
返回一個(gè)原字符串右對(duì)齊,并使用空格填充至長(zhǎng)度width的新字符串。
▍29、f-Strings
f-string是格式化字符串的新語法。
與其他格式化方式相比,它們不僅更易讀,更簡(jiǎn)潔,不易出錯(cuò),而且速度更快!
▍30、swapcase()
翻轉(zhuǎn)字符串中的字母大小寫。
▍31、zfill()
string.zfill(width)。
返回長(zhǎng)度為width的字符串,原字符串string右對(duì)齊,前面填充0。
參考文獻(xiàn):
Python想要進(jìn)行刪除自定義函數(shù)的,可以去按一下它的delete按鍵,然后或者是你可以點(diǎn)擊右鍵刪除。
無法刪除函數(shù)調(diào)用是指索引工作錯(cuò)誤。函數(shù)必須先定義,才能調(diào)用,否則會(huì)報(bào)錯(cuò)。Python是一種廣泛使用的解釋型、高級(jí)和通用的編程語言。Python由荷蘭數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究學(xué)會(huì)的GuidovanRossum創(chuàng)造,第一版發(fā)布于1991年,它是ABC語言的后繼者,也可以視之為一種使用傳統(tǒng)中綴表達(dá)式的LISP方言。
在python中strip函數(shù)的意思:移除字符串頭尾指定的字符(默認(rèn)為空格或換行符)或字符序列。該方法只能刪除開頭或是結(jié)尾的字符,不能刪除中間部分的字符。
它的函數(shù)原型:string.strip(s[, chars]),它返回的是字符串的副本,并刪除前導(dǎo)和后綴字符。意思就是你想去掉字符串里面的哪些字符,那么你就把這些字符當(dāng)參數(shù)傳入。此函數(shù)只會(huì)刪除頭和尾的字符,中間的不會(huì)刪除。
如果strip()的參數(shù)為空,那么會(huì)默認(rèn)刪除字符串頭和尾的空白字符(包括\n,\r,\t這些)。注意刪除多個(gè)字符時(shí),只要頭尾有對(duì)應(yīng)其中的某個(gè)字符即刪除,不考慮順序,直到遇到第一個(gè)不包含在其中的字符為止。