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