日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

python编程基础(四):编程习惯、代码规范、易混淆之处

發(fā)布時(shí)間:2025/4/5 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python编程基础(四):编程习惯、代码规范、易混淆之处 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

編程習(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ò)誤返回False

7. 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)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。