不可不知的python知識

jopen 11年前發布 | 14K 次閱讀 Python Python開發

1 python 列表元素是可變的

2變量是內存中的值 

3克隆列表 : 產生兩個值一樣,但卻有不同標示符的列表

 4傳遞列表參數實際上是傳遞列表的別名,而不是列表的拷貝。如果防止列表變量在函數中被更改,可以利用克隆類表

5嵌套列表可以代表矩陣

6字符串分割時默認的分界是空格

7復合數據類型 主要是: 字符組成的字符串和由任意類型的元素組成的列表, 不同之處在于,列表中的元素能夠被修改,而字符串中的字符則不能被修改。還有一種就是序列。 

8字典的索引可以是字符串,除了這一點,它與其他組合類型非常相似

9字典是可變的,想要修改字典,并且保留原來的備份,就要用到字典的copy方法

10其他類型變量換成字符串的方法:

1. str方法: str(xxx)

2. 利用格式化操作符"%" 

11解決輸入辦法是輸入pickle模塊,用它提供的方法就把各種類型的數據存入文件,數據結構的信息業同樣被保存了。主要利用packle中dump和load方法。12 異常處理   try --except : try塊的語句要求打開一個文件,如果沒有異常發生,就忽略except塊的內存;如果產生異常,就執行except塊內的語句,之后是再一次循環。也可用raise自己定義異常。

13. 類和對象利用"==" 操作符來判斷兩個點是否為同一個對象copy 模塊的方法copy 能夠復制任何對象淺拷貝: 一些簡單的對象中沒有包含任何嵌入的對象, copy 方法就已經足夠了例如:p2 = copy.copy(p1)深拷貝: 可以拷貝任何嵌入的對象copy.deepcopy

14. 對象的方法和函數區別   1> 方法定義在類的內部,是類的一部分    2> 調用的語法不一樣

15. 有些參數可以省略是因為函數中已經給出了缺省的參數   構造函數是任何類都有的特殊方法,名字是_init_

16. 操作符重定義 的目的就是為了使類的實例也可以進行數學操作,我們需要在類的內部重新定義數學操作符,使之支持用戶定義的數據類型。

17. 繼承的定義  class DerivedClass(BaseClass)  子類調用父類的方法: BaseClass.method(self,arguments)   

18. 私有方法標記   如果名字是以兩個下劃線開始,但并不是以兩個下劃線結束。 私有的方法和屬性不能在類的外部調用。

19. python 的類型分為可變類型(mutable)和不可變類型(immutable) Python中所有變量都是值的引用,也就是說變量通過綁定的方式指定值。不可變指的就是值的不可變。對于不可變類型的變量,如果要更改變量,則會創建一個新值,把變量綁定到新值上,而舊值如果沒有被引用舊等待垃圾回收。不可變的類型還有一個特性,就是可以計算其hash值,這樣才能夠進一步作為字典的 key .可變數據類型對對象操作的時候,不要再在其他地方申請內存,只要在此對象后面聯系申請+/-即可,也就是它的地址會保持不變。但是區域會變長或變短。不可變類型包括: int string float tuple.可變類型包括: list dict. 

20. Pythonic 是什么  pythonic 就是以清晰、可讀的慣用法應用patyon理念和數據結構。舉個例子, 應該多使用動態類型,在務必要之后引入靜態類型而走向了另一端。另外避免使用經驗豐富的python程序員不熟悉的方式去完成任務。(遵循最小驚喜原則),pythonic 也適用于底層的慣用法。一個pythonic 的庫或框架能使程序員更加容易、更加自然得學會利用它來完成任務。   

來自:http://blog.csdn.net/sxb0841901116/article/details/21569823

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!