【Python刷题】_3
11、簡(jiǎn)述面向?qū)ο笾衉_new__和__init__區(qū)別
__init__是初始化方法,創(chuàng)建對(duì)象后,就立刻被默認(rèn)調(diào)用了,可接收參數(shù), 如下圖
1、__new__至少要有一個(gè)參數(shù)cls,代表當(dāng)前類(lèi),此參數(shù)在實(shí)例化時(shí)由Python解釋器自動(dòng)識(shí)別
2、__new__必須要有返回值,返回實(shí)例化出來(lái)的實(shí)例,這點(diǎn)在自己實(shí)現(xiàn)__new__時(shí)要特別注意,可以return父類(lèi)(通過(guò)super(當(dāng)前類(lèi)名, cls))__new__出來(lái)的實(shí)例,或者直接是object的__new__出來(lái)的實(shí)例
3、__init__有一個(gè)參數(shù)self,就是這個(gè)__new__返回的實(shí)例,__init__在__new__的基礎(chǔ)上可以完成一些其它初始化的動(dòng)作,__init__不需要返回值
4、如果__new__創(chuàng)建的是當(dāng)前類(lèi)的實(shí)例,會(huì)自動(dòng)調(diào)用__init__函數(shù),通過(guò)return語(yǔ)句里面
調(diào)用的__new__函數(shù)的第一個(gè)參數(shù)是cls來(lái)保證是當(dāng)前類(lèi)實(shí)例,如果是其他類(lèi)的類(lèi)名,;那
么實(shí)際創(chuàng)建返回的就是其他類(lèi)的實(shí)例,其實(shí)就不會(huì)調(diào)用當(dāng)前類(lèi)的__init__函數(shù),也不會(huì)調(diào)用
其他類(lèi)的__init__函數(shù)。
12、簡(jiǎn)述with方法打開(kāi)處理文件幫我我們做了什么?
????????打開(kāi)文件在進(jìn)行讀寫(xiě)的時(shí)候可能會(huì)出現(xiàn)一些異常狀況,如果按照常規(guī)的f.open寫(xiě)法,我們需要
try,except,finally,做異常判斷,并且文件最終不管遇到什么情況,都要執(zhí)行finally f.close()關(guān)閉文
件,with方法幫我們實(shí)現(xiàn)了finally中f.close。
13、列表[1,2,3,4,5],請(qǐng)使用map()函數(shù)輸出[1,4,9,16,25],并使用列表推導(dǎo)式提取出大于10的數(shù),
最終輸出[16,25]
思路:map()函數(shù)第一個(gè)參數(shù)是fun,第二個(gè)參數(shù)一般是list,第三個(gè)參數(shù)可以寫(xiě)list,也可以不寫(xiě)
14、python中生成隨機(jī)整數(shù)、隨機(jī)小數(shù)、0--1之間小數(shù)方法
????????隨機(jī)整數(shù):random.randint(a,b),生成區(qū)間內(nèi)的整數(shù)
????????隨機(jī)小數(shù):習(xí)慣用numpy庫(kù),利用np.random.randn(5)生成5個(gè)隨機(jī)小數(shù)
????????0-1隨機(jī)小數(shù):random.random(),括號(hào)中不傳參
????????編程演示如下:
15、避免轉(zhuǎn)義給字符串加哪個(gè)字母表示原始字符串?
????????r , 表示需要原始字符串,不轉(zhuǎn)義特殊字符
總結(jié)
以上是生活随笔為你收集整理的【Python刷题】_3的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Original error was:
- 下一篇: 【Python刷题】_4