python注意事項

前段時間做網易的入職作業,用python寫一個C++宏定義解析。

這裏主要記錄幾點python需要注意的地方:

1.傳引用問題。C++中很喜歡傳引用,但是python中傳引用跟C++還是有區別的。

不可變類型:字符串、元組、固定集合、整數、浮點數、複數。不可變類型的數據傳參時,函數內部不會改變原數據的值。

可變類型:列表、字典、集合。可變類型的數據傳參時,函數內部可能改變原數據的值。

2.for循環的索引是每次都重新賦值,所以裏面改變索引的值不影響最終的循環次數。

如:for i in range(0,10):             #range(0,10)相當於生成了一個數組裏面是0~9,每一次i逐個重新賦值

i+=2

最終還是會循環十次。

所以我比較傾向於使用while循環,比較貼近於之前的習慣。

3.python中的數據定義都是不需要指定類型的,所以要注意局部變量和全局變量的問題,避免使用相同的名字進行命名不同含義的變量,很容易就導致錯誤,而且這種錯誤一般不容易看出來。

如: Len=len(a)

i=0

while i<Len:

Len=len(b)

#進行一系列操作之後

i+=1

本意是想遍歷a中的每個元素,然後對每個元素進行一系列操作,但是中間使用了相同的名字Len=len(b),從而改變了程序運行的結果,與我們本意相差甚遠。

如果是C++語言,我們重新int Len=len(b)是不會影響到while i<Len的運行的。所以項目很大的時候一定要注意規範。

4.python中有一個比較好用的語法in,

如 if '123' in a:

就可以判斷a中是否存在123的字串,就不需要我們寫一個for循環再判斷,時間複雜度應該是差不多的。

 

暫時就這麼多,以後遇到更多再補充~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章