廖雪峰python教程整理笔记_廖雪峰python教程笔记(一)
變量與變量名 如 a = 123,此時,python解釋器在做了兩件事,在內存中創(chuàng)建了一個整數(shù)123對象,在內存中創(chuàng)建了一個名為a的變量。并把它指向123,一個賦值語句被執(zhí)行后,內存中一個變量名與它所指向的對象就是一對一的映射關系
把函數(shù)作為參數(shù)傳入稱為高階函數(shù),map()函數(shù)接受兩個參數(shù):函數(shù)和iterable,如map將傳入的函數(shù)依次作用到序列的每個元素,并把結果作為新的iterator返回,又如sorted()函數(shù)也是一個高階函數(shù),它還可以接收一個key函數(shù)來實現(xiàn)自定義的排序,key指定的函數(shù)將作用于list的每一個元素上,并根據(jù)key函數(shù)返回的結果進行排序,要進行反向排序,不必改動key函數(shù),可以傳入第三個參數(shù)reverse=True
字符編碼 8個比特(bit)作為一個字節(jié)(byte),所以,一個字節(jié)能表示的最大的整數(shù)就是255(二進制11111111=十進制255),最早只有127個字母被編碼到計算機里,也就是大小寫英文字母、數(shù)字和一些符號,這個編碼表被稱為ASCII編碼,但是隨著計算機的不斷發(fā)展和普及,各國有各國的標準,就會不可避免地出現(xiàn)沖突,結果就是,在多語言混合的文本中,顯示出來會有亂碼。Unicode應運而生。Unicode把所有語言都統(tǒng)一到一套編碼里,這樣就不會再有亂碼問題了。Unicode標準也在不斷發(fā)展,但最常用的是用兩個字節(jié)表示一個字符。ASCII編碼是1個字節(jié),而Unicode編碼通常是2個字節(jié)。如果統(tǒng)一成Unicode編碼,亂碼問題從此消失了。但是,如果你寫的文本基本上全部是英文的話,用Unicode編碼比ASCII編碼需要多一倍的存儲空間,在存儲和傳輸上就十分不劃算。
所以,本著節(jié)約的精神,又出現(xiàn)了把Unicode編碼轉化為“可變長編碼”的UTF-8編碼。UTF-8編碼把一個Unicode字符根據(jù)不同的數(shù)字大小編碼成1-6個字節(jié),常用的英文字母被編碼成1個字節(jié),漢字通常是3個字節(jié),只有很生僻的字符才會被編碼成4-6個字節(jié)。如果你要傳輸?shù)奈谋景罅坑⑽淖址?#xff0c;用UTF-8編碼就能節(jié)省空間。
tuple和list tuple和list都是有序列表,區(qū)別在于tuple不可變而list可變。注意定義只有一個元素的tuple時應用這種形式a=(1,)。
條件判斷 特殊形式為if x:print('True')只要x是非零數(shù)值、非空字符串、非空list等,就判斷為True,否則為False。
dict 使用鍵-值(key-value)存儲,dict根據(jù)key來計算value的存儲位置。通過key計算位置的算法稱為哈希算法(Hash)。要保證hash的正確性,作為key的對象就不能變,并且key不能重復。
set 和dict類似,是一組key的集合,但不存儲value。由于key不能重復,所以,在set中,沒有重復的key。要創(chuàng)建一個set,需要提供一個list作為輸入集合。set可以看成數(shù)學意義上的無序和無重復元素的集合,因此,兩個set可以做數(shù)學意義上的交集、并集等操作。
借助抽象,我們才能不關心底層的具體計算過程,而直接在更高的層次上思考問題
函數(shù) Python的函數(shù)返回多值其實就是返回一個tuple,在語法上,返回一個tuple可以省略括號,而多個變量可以同時接收一個tuple,按位置賦給對應的值
函數(shù)的默認參數(shù)必須是不可變對象,*args是可變參數(shù),args接收的是一個tuple。**kw是關鍵字參數(shù),kw接收的是一個dict
生成器(generater)是為了節(jié)省空間,一邊循環(huán)一邊計算后續(xù)的元素,這樣就不用創(chuàng)建完整的list。生成器保存的是算法,并且生成器是一個可迭代對象,一般用for來調用,當推算的規(guī)則太復雜,我們可以用函數(shù),當一個函數(shù)中出現(xiàn)了yield語句,它就變成了一個生成器
迭代器(iterator):可以直接作用于for循環(huán)的對象統(tǒng)稱為可迭代對象,可以被next()函數(shù)調用并不斷返回下一個值的對象稱為迭代器,它表示的是一個數(shù)據(jù)流,一個惰性計算的序列,我們可以把它看作一個有序序列,但是我們事先不能知道他的長度,因此list,str不是迭代器##
總結
以上是生活随笔為你收集整理的廖雪峰python教程整理笔记_廖雪峰python教程笔记(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 树精上单天赋s4(树精上单天赋)
- 下一篇: python3 爬虫例子_如何让你写的爬