python编程基础(四):编程习惯、代码规范、易混淆之处
目錄
編程習(xí)慣
代碼規(guī)范
python中self的作用
易混淆之處
編程習(xí)慣
1. 添加主函數(shù)if __name__ == 'main':
2. 使用project_path = os.getcwd()自動(dòng)獲取文件路徑,將代碼和數(shù)據(jù)文件夾放在一個(gè)project下,可以更輕松的獲取文件路徑,不必?fù)?dān)心代碼移植出現(xiàn)的文件路徑問(wèn)題。
3. 設(shè)置pycharm 編程模版
4. 可以將自定義的python函數(shù)封裝成一個(gè)類(lèi)class Solution(object),通過(guò)創(chuàng)建對(duì)象o = class_name(),對(duì)象調(diào)用類(lèi)內(nèi)創(chuàng)建的函數(shù)獲得運(yùn)行結(jié)果o.longestPalindrome(s)
5. 輕量級(jí)循環(huán)
# 列表推導(dǎo)式 [x*x for x in range(10) if x % 3 ==0] [(x,y) for x in range(3) for y in range(3)] [b+'+'+g for b in boys for g in girls if b[0] == g[0]]?6. 字符串匹配,返回True or False
re.match(pattern,x) # 正確返回True,錯(cuò)誤返回False7. python利用正則表達(dá)式提取指定字符串內(nèi)容?
?方法:re.findall,re.finditer
import reresult = re.findall(r'(\w+)=(\d+)', 'set width=20 and height=10') print(result) [('width', '20'), ('height', '10')]代碼規(guī)范
python中self的作用
參考:python——類(lèi)中的self到底有什么作用
- 在python的類(lèi)中self代表實(shí)例本身,具體來(lái)說(shuō),是該實(shí)例的內(nèi)存地址。
需要注意的是,self不是關(guān)鍵字,換言之,可以用其它的合法變量名替換self,但是,規(guī)范和標(biāo)準(zhǔn)建議我們一致使用self。
- 和普通的函數(shù)相比,在類(lèi)中定義的函數(shù)只有一點(diǎn)不同,就是第一個(gè)參數(shù)永遠(yuǎn)是實(shí)例變量self,并且,調(diào)用時(shí),不用傳遞該參數(shù)。除此之外,類(lèi)的方法和普通函數(shù)沒(méi)有什么區(qū)別,所以,你仍然可以用默認(rèn)參數(shù)、可變參數(shù)、關(guān)鍵字參數(shù)和命名關(guān)鍵字參數(shù)”(廖雪峰老師說(shuō)的)。
- 實(shí)例變量有什么作用,或者說(shuō),什么時(shí)候應(yīng)該使用self修飾變量比較好?我的總結(jié)如下:
當(dāng)我們想將某個(gè)變量綁定給實(shí)例時(shí),就在類(lèi)中,使用self修飾該變量。一般來(lái)說(shuō),類(lèi)實(shí)例化為不同實(shí)例后,為了不同實(shí)例的某一變量互不干擾,就將該變量綁定給實(shí)例。
具體的使用場(chǎng)景,
1)若需要在類(lèi)的不同方法中調(diào)用同一變量,且屬于同一個(gè)類(lèi)的不同實(shí)例的該變量互不影響(即排除類(lèi)屬性),則在類(lèi)中將該變量綁定給實(shí)例。
2)需要在類(lèi)實(shí)例化得到實(shí)例后,修改、或引用實(shí)例的某變量,則在類(lèi)中將該變量綁定給實(shí)例。
易混淆之處
1. list[a:b]分片取子列表和range(10)都取不到最后一個(gè)數(shù)的索引值
? 比如,list[3:6]取不到6這個(gè)索引值;range(10)取不到10這個(gè)索引值
? --> python2 range()返回的是列表;python3 range()返回的是一個(gè)可迭代的對(duì)象。
==?為什么編程語(yǔ)言不能從1開(kāi)始呢,為什么不能從頭取到尾呢?
2. 換行符--'\n',TAB制表符--'\t',是用轉(zhuǎn)義字符'\'(反斜杠)而不是'/'。
?
總結(jié)
以上是生活随笔為你收集整理的python编程基础(四):编程习惯、代码规范、易混淆之处的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python编程基础(一):编程思想
- 下一篇: python编程基础(二)~python