-
super()的用法:
super()?函數(shù)是用于調(diào)用父類(超類)的一個(gè)方法。
super()?是用來解決多重繼承問題的,直接用類名調(diào)用父類方法在使用單繼承的時(shí)候沒問題,但是如果使用多繼承,會(huì)涉及到查找順序(MRO)、重復(fù)調(diào)用(鉆石繼承)等種種問題。
MRO 就是類的方法解析順序表, 其實(shí)也就是繼承父類方法時(shí)的順序表。
Python3.x 和 Python2.x 的一個(gè)區(qū)別是:?
Python 3 可以使用直接使用?super().xxx?代替?super(Class, self).xxx
查看全部 -
python聲明類時(shí)繼承和不繼承object類的區(qū)別
python3中,類定義默認(rèn)繼承object,所以寫不寫沒有區(qū)別
python2中定義一個(gè)類時(shí),不加object,稱為經(jīng)典類,加了object,稱為新式類
查看全部 -
#如果D繼承自B和C,但是D沒有自己的who()方法,那么D的who()方法是B的還是C的呢?
查看全部 -
def format_name(s):
? ?return s[0].upper() + s[1:].lower()
for item in map(format_name, ['alice', 'BOB', 'CanDY']):
? ?print(item)查看全部 -
from math import sqrt
def add(x,y,f):
??? return f(x)+f(y)
?? ?
result=add(4,9,sqrt)
print(result)查看全部 -
你妹啊,為什么一定要驗(yàn)證手機(jī)號(hào)查看全部
-
私有屬性沒有辦法從外部訪問,只能在類的內(nèi)部操作;那如果外部需要操作私有屬性怎么辦?
查看全部 -
并不是所有的屬性都可以被外部訪問的,這種不能被外部訪問的屬性稱為私有屬性。私有屬性是以雙下劃線'__'開頭的屬性。
查看全部 -
在Python中,通過class關(guān)鍵字定義一個(gè)類,比如我們需要定義一個(gè)人的類。按照 Python 的編程習(xí)慣,類名以大寫字母開頭。因此可以這樣定義:
class?Person:??pass
注意,在這個(gè)Person類的定義里面,并沒有繼承任何類,除了這樣定義以外,還可以有以下兩種定義方式。
class?Person():?pass?? class?Person(object):??pass
定義了類之后,就可以對(duì)類進(jìn)行實(shí)例化了,實(shí)例化是指,把抽象的類,賦予實(shí)物的過程。
比如,定義好Person這個(gè)類后,就可以實(shí)例化多個(gè)Person出來了。
創(chuàng)建實(shí)例使用類名+(),類似函數(shù)調(diào)用的形式創(chuàng)建:class?Person(object):??pass?xiaohong?=?Person()?xiaoming?=?Person()
查看全部 -
使用close()方法,也不是100%安全的,如果在close()文件之前,程序異常退出了,那么文件也得不到正確的關(guān)閉。
with關(guān)鍵字對(duì)資源進(jìn)行訪問的場合,會(huì)確保不管在使用過程中是否發(fā)生異常,都會(huì)執(zhí)行必要的“清理”的操作,釋放資源,比如文件使用后自動(dòng)關(guān)閉等等。
with open('test.txt', 'r') as f:
? ?content = f.readlines()
? ?for line in content:
? ? ? ?print(line)
當(dāng)文件使用結(jié)束后,不需要顯式的調(diào)用f.close()關(guān)閉文件。
查看全部 -
通過w的打開方式打開文件,會(huì)清空文件的內(nèi)容。
Python提供文件追加內(nèi)容的打開模式,可以往文件尾部添加內(nèi)容,又不清空文件原有的內(nèi)容。
使用a的打開方式打開文件,文件游標(biāo)默認(rèn)是在文件的尾部,因此,可以便捷的往文件尾部添加內(nèi)容。
除此以外,文件對(duì)象還提供seek()方法,可以移動(dòng)文件的游標(biāo)位置,它接受一個(gè)參數(shù),表示文件的位置,0:文件首部,1:當(dāng)前位置,2:文件尾部,通過seek()可以把文件游標(biāo)移動(dòng)到文件首部但不刪除文件的內(nèi)容。
查看全部 -
字符串反轉(zhuǎn)可以使用切片實(shí)現(xiàn): reverse = str_[::-1]。
f = open('test.txt', 'r')
lines = f.readlines()
f1 = open('test1.txt', 'w')
for line in lines:
? ?line = line[::-1]
? ?f1.write(line)
f1.close()
f.close()
查看全部 -
判斷變量屬性
????isinstance(變量, 數(shù)字類型)
????返回一個(gè)布爾值
查看全部 -
類的繼承:
????class子類定義時(shí),繼承的父類要寫在()
????在子類的 __init__()方法中,要初始化繼承父類的屬性,要使用
????????????super(子類名, self).__init__(繼承的屬性)
查看全部 -
操作類的私用屬性,使用類的方法
@classmethod 表示類方法
方法第一個(gè)參數(shù)cls表示類本身
查看全部
舉報(bào)