備註:解決問題時,首先要看看python有沒有內建的函式或者方法能夠使我們更方便地解決問題。沒有的話,才去自己寫**解決。
開啟檔案
(1)使用open(filename, mode)函式開啟乙個檔案,並向函式傳遞兩個引數,第乙個是檔名字串,第二個是檔案的使用方式。
(2)open函式返回乙個file類物件,可以用乙個變數儲存起來以便之後使用。
(3)open函式的第三個引數緩衝區控制,使用後讀取會更快。
讀寫檔案內容
(1)使用file物件的read方法讀取檔案裡面的內容,內容以乙個string型別的文字返回。
(2)readlines方法讀取所有的行,並且存在乙個列表裡面。注意,讀取行的時候並不刪除換行符。
(3)有writelines方法可以將乙個列表的資料,按照每個元素為一行寫進檔案。
(4)seek(offset, start)方法可以移動檔案指標。
字串分割
(1)使用字串的split方法能夠將字串轉換成列表,向方法傳遞乙個字串引數作為分隔符,方法會以分隔符為界將字串的內容進行分割並儲存到乙個列表中,然後返回列表。
迴圈語句
(1)for迴圈,包含兩個元件:乙個是for…in…:本身,必須以冒號結束;另乙個是迴圈體,用於執行需要迴圈執行的**,每一行**都必須縮排。
(2)用於迭代序列的迭代變數只能在for迴圈體內被訪問、使用。
(3)對於迴圈體中的語句,如果沒有縮排將視為迴圈外的語句執行。
(4)for迴圈可以跟else連用,當程式正常結束迴圈,則執行else中**,有助於輸出在for迴圈結束時在其裡面定義的變數。
元組型別
(1)使用()來宣告定義。
(2)元組元素是不可以改變的,位置也不能改變,因此使用sort方法會報錯的。但是使用sorted函式可以,因為該函式新建了乙個元組,並沒有改變原來的元組。
(3)元組的作用:①在對映型別中當作鍵使用;②函式的特殊型別的引數;③作為很多內建函式的返回值。
(4)enumerate函式的返回值是元組。
(5)元組作為函式的常見返回型別,當返回物件的個數大於1時,返回的就是元組。
列表解析
(1)動態建立列表,簡單靈活有用。
(2)使用切片操作能夠替換乙個範圍的列表元素。
以列表為元素的列表
(1)列表除了能夠儲存數字和字串等值外,還能以列表本身為元素。
(2)在列表變數後名使用操作符並在操作符內加上索引能夠得到該索引下的元素。
(3)對於列表的列表,可以使用雙重操作符來訪問列表深處的元素。
(4)使用for迴圈可以遍歷含列表的列表中的元素。
(5)使用int函式可以將字串型別的資料轉換成整型型別。
boolean布林型別及相關操作符
(1)boolean型別能夠幫助我們表達條件邏輯,它只包含兩個值true和false。
(2)python含有一下基本的布林運算子:==,!=,>,<,>=,<=。
(3)我們可以用布林運算子來用作數字,字串,布林型別甚至是列表的比較。
(4)python使用if語句來測試特定條件是否存在,對於不同條件的值會執行相應的**。
(5)if語句中的條件判斷不用加括號,但是必須在最後加上冒號。
(6)if語句是可以巢狀的,巢狀時要注意語句縮排的正確.
(7)if語句和for語句可以相互巢狀。
資料集的操作
(1)檔案解析:所謂檔案解析就是使用檔案操作讀取檔案中的內容,然後使用列表結構儲存好內容。
(2)獲取某列資料:遍歷某個列表的列表,將外層列表中所有元素(內層列表)的某乙個索引下的資料都新增到乙個新的列表去,這樣就提取了某一列的資料。
(3)移除表頭資料:很多資料都會包含表頭表示每一列資料是什麼,要獲取真實資料,就要移除表頭,做法是使用list表的切片運算。
(4)in語句:python允許我們使用in語句去判斷在乙個列表中是否包含某個元素,這樣就不用使用for迴圈了,有利於發現新資料並進行資料的新增。
字典
(1)使用{}操作符來初始化乙個空字典。
(2)也可以利用dict函式建立字典,傳入乙個具有清晰對映關係的物件,無論是列表還是元組形式都可以,作為引數。
(3)使用操作符作為索引(鍵)來指定訪問哪個元素,或者新增什麼元素。
(4)可以使用冒號分割鍵值對,逗號分隔每對鍵值對的方式來定義乙個包含很多元素的字典。
(5)可以使用in語句來判斷乙個鍵或者乙個值是否在字典裡面。
(6)使用fromkeys方法可以讓字典中所有鍵的值都為同乙個值,該方法中第乙個引數為乙個序列,裡面是我們要設定的值,第二個引數是要設定成的值。
(7)對字典使用sorted函式會返回乙個包含所有鍵且排好序的列表。
(8)使用keys方法獲取所有的鍵,返回乙個列表;使用values方法獲取所有的值,也返回乙個列表。
(9)字典的格式化字串,%(key)格式說明符 % 字典物件名。有了這樣的方式,我們可以製作乙個輸出模板。
(10)通過操作符來查詢乙個不存在於字典的元素是會報錯的,但是使用get方法查詢的話就會返回乙個none,不會報錯,因此get方法會更好。
(11)字典可以使用update方法來更新它的資訊。方法的引數可以是乙個字典。
(12)函式形參前用兩個星號**表示的是以字典作為函式的形式引數,是可變長的關鍵字引數,也就是在該位置傳遞實參的時候需要指定所有引數的名稱。
函式
(1)函式除了可重用性的優點外,還有三個主要的優點:①允許我們使用別人的**,而不用理解它裡面寫什麼,這就是資訊隱藏;②能夠將非常複雜的邏輯分割成小的模組,也就是程式的模組化,能夠提高程式的可讀性;③抽象化,盡量使函式泛化,能夠應用到更多的地方。
(2)函式由5個部分組成:①def關鍵字;②函式名;③形參;④函式體;⑤返回值。
(3)函式內宣告的變數都是臨時變數,只能在函式內使用。
(4)函式還能返回列表。
(5)當函式有多個形參時,如果我們制定引數名去傳入實參,引數的位置就不那麼重要了。
(6)預設引數必須放到所有引數的最後。即使在傳遞實參時,如果指定名字的傳遞後跟了沒有指定名字的實參,也會報錯,所以一旦使用指定名字的實參,之後所有的實參都需要指定名字。
(7)函式名可以作為實參傳遞給另乙個函式。
(8)使用lambda關鍵字定義匿名函式。
(9)使用global關鍵字表明乙個函式內的變數是全域性變數。
(10)若函式引數前面加乙個星號*,用於讓多個實參構成元組作為元素的引數傳給形參,而且這樣實參的個數是不定長的。
集合
(1)集合是乙個無序不重複的元素的集合。可變集合用set,不可變集合用frozenset。
(2)集合的建立只需要在set()函式中傳遞乙個序列即可,返回的就是沒有重複元素的集合。
(3)集合也有相應的標準型別運算子進行比較。但是對於<,>,<=,>=的意義有所不同,相應的表示真包含於,真包含,包含於,包含的集合概念。
(4)集合可以進行關係運算,交集運算用&符號,並集運算用|符號,差運算用-符號,對稱方差(異或)運算用^符號。運算子是可以復合的,如&=,|=,-=,^=。
(5)集合也有內建函式,分成兩類,第一類面向所有的集合(這些方法會返回新的集合而不改變原來的集合) ,第二類面向可變集合。
python語言基礎 Python語言基礎與應用
spcontent 本課基於主講教師在北京大學講授資料結構與演算法課 python版 的多年教學實踐經驗,面向零程式設計基礎的大學生和社會公眾,全面講授python語言基礎,培養學生計算思維的能力,並講解python語言中經典的擴充套件模組,讓學生能用python語言解決各種常見問題。課程團隊 課程...
python語言繼承 Python語言基礎
類的繼承 物件導向的程式設計帶來的主要好處之一是 的重用,實現這種重用的方法之一是通過繼承機制。繼承完全可以理解成類之間的型別和子型別關係。繼承語法為class 派生類名 基類名 基類名寫作括號裡,基本類是在類定義的時候,在元組之中指明的。派生類的宣告,與他們的父類類似,繼承的基類列表跟在類名之後,...
python語言基礎
sys.maxint 9223372036854775807得到的結果為2 63 1,其實上得到2 31 1還是2 31 1取決於你的作業系統。見python原始碼的misc history sys.maxint is the largest python int,which is actually...