淺學python

1、python的發佈比unicode標準要早,所以編碼會有所問題。

      在2.x時,u'漢字'和‘漢字’表示的是不同的東西,第一個是unicode編碼之後的每個字用2個字節(16進制)表示的2個字符串(unicode一般用2個字節表示)u'\u6c49\u5b57' 長度的形式。第二個是直接將每個漢字用utf-8編碼生成對應的3個字節表示的6個字符串(utf-8一般用3個字節表示漢字)'\xe6\xb1\x89\xe5\xad\x97'  長度的形式。當然如果用encode編碼成gb18030或2312之類的形式,那每個漢字就只有2個字節,即字符串 '\xba\xba\xd7\xd6' 長度是(16進製表示的)4。

      在3.x時,上面兩種形式相同並且直接會以漢字形式顯示。

2、list = []和tuple = ()有向序列的比較

       除了表示形式和tuple沒有append、insert這些方法不同外,list更自由靈活,tuple更安全,因爲list提供多種對數據的操作,而tuple是不能修改已確定的元素的值的,因爲tuple對某一個元素的指向是不變的,但是tuple中某個元素被定義成list類型時,其值是可改的,因爲tuple對該元素的指向是沒變的(tuple在該位置存儲的list的指針)。另外tuple要定義一個元素的列表時必須加逗號,如(1,)否則會被解釋成一個語法塊。

3、python要支持中文得申明編碼,如# -*- coding: utf-8 -*-  或    #coding=utf-8放在文件頭就行了。

4、dict字典即map,存儲的鍵值對;set存儲的是鍵值,存儲類型不定。dict字典和set集合都不能存儲鍵值變化的值,所以像list[],dict{}就不能存儲,但是tuple可以存儲的,因爲指向不變。

      dict速度快,但浪費空間,因爲映射造成不在同一頁之類的等

      set元素都不重複的,可以添加,但是無意義

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