變數:識別符號(變數名,函式名,類名)
識別符號命名規則:1、只能包含字母、數字和下劃線。變數名可以以字母或者下劃線開頭。但是不能以數字開頭。
2、不能包含空格,但可以使用下劃線來分隔其中的單詞。
3、不能使用python中的關鍵字作為變數名
4、建議使用駝峰命名法,駝峰式命名分為大駝峰(username)。和小駝峰(username)。
資料型別:number string list tuple sets dict
list:使用方括號表示,有序可變物件,可以使用切片進行修改和訪問
tuple:使用圓括號,有序不可變物件,只能使用切片進行訪問
sets:使用花括弧,無序可變物件
dict:使用花括弧,key與value之間用冒號隔開,每個鍵值對用逗號,無序可變物件
總結:不可變物件(number,string,tuple)可變物件(list,sets,dict)
運算子:算術,賦值,比較,邏輯(and or not),位運算子
字串處理
輸入和輸出:input print
下標和切片:下標沒有冒號,切片是有冒號[start:end:step],類似於range(start,end,step)
常見的字串函式:find,replace
列表訪問列表:可以用下標進行訪問,也可以使用切片
列表函式:
元祖和字典
元祖:使用圓括號,有序不可變物件,只能使用切片進行訪問
元祖的函式:可以直接使用的函式len,max,min;元祖可以直接呼叫的方法index,count
字典:使用花括弧,key與value之間用冒號隔開,每個鍵值對用逗號,無序可變物件
操作字典:
深淺拷貝:只有可變物件才有深淺拷貝的概念;直接賦值;淺拷貝只是對原物件的應用,修改:如果物件元素是可變物件會影響原來的物件;深拷貝是對原物件乙個完整的拷貝
條件控制和迴圈語句
條件控制:if
迴圈:while(迴圈條件不確定時)for(迴圈條件已經確定),都可以巢狀if判斷
break,continue,pass:1:終止當前迴圈,如果還有上一層迴圈,從上一層迴圈從頭開始;2:跳出當前迴圈,從當前迴圈從頭開始;3:就是乙個空語句,起到佔位符的作用
range:range(start:end:step)
列表推導式:[expr for value in collection ifcondition]
函式函式定義:def,函式名,形參(實參),縮排**塊
函式引數:必備引數(位置引數,關鍵字引數),預設值引數,不定長引數:加了星號(*)的變數名會存放所有未命名的變數引數。加了(**)會存放所有命名的變數引數
(*返回乙個元祖,**返回的是字典)
返回值:return(遞迴函式使用),乙個函式只有一次返回值,return後面的語句不會執行,返回值需要用print列印出來
區域性變數:在函式裡面定義的變數稱為區域性變數
全域性變數:函式外面定義的變數稱為全域性變數(只有針對不可變物件才有意義)
注意:不可變物件(在函式中傳遞的是變數的值),在函式裡面進行修改,等於宣告乙個新的變數,如果想在全域性作用域生效,需要使用global進行宣告
匿名函式:lambda 引數:表示式
遞迴函式:就是自己呼叫自己,結合return
高階函式:map,filter,reduce
物件導向程式設計
物件導向:把物件的特徵和行為提取出來進行分類和封裝,提高**的利用率
定義類:類(一些屬性和方法的集合);類屬性;例項屬性;方法(類中定義的函式);方法重寫(過載,在繼承的時候用的多);例項化物件(類是物件的型別,物件是類的例項)
繼承和多型:單繼承(主要),super(),__init__();多型:多型即多種形態,在執行時確定其狀態,在編譯階段無法確定其型別,這就是多型。
訪問限制:__foo(私有屬性),在類裡面包裝成 _類名__foo,在外面呼叫的話使用 物件名._類名__foo
類方法:裝飾器@classmetho,不能訪問例項屬性,需要cls
靜態方法:通過裝飾器@staticmethod 裝飾;不能訪問例項屬性;引數不能傳入self(都可以通過類名,或者物件名呼叫)
模組和包
模組:簡單py檔案看成是乙個包,也可以把不包含__init__.py檔案的目錄看成是乙個包
呼叫方法:import...;from...import... ;import as...;from...import*
自定義模組之間呼叫順序:1,首先是當前目錄;2,pythonpath下的目錄;3,安裝python的預設目錄
注意事項:1,如果自定義是math(與系統模組重名),使用import math,不能覆蓋系統模組;如果使用from...import math 會覆蓋系統模組
2,如果自定義是第三方類庫(numpy)模組array(自定義重名模組),使用importarray,第三方系統(numpy)模組array會被覆蓋
dir():一般檢視你所要查詢的物件的變數,模組,方法
包:包含__init__.py檔案,我們就稱為包
__init__.py:初始化檔案,當呼叫這個包的時候,首先會執行__init__.py中的**,可以為空,使用 fromimport *就會報錯
__all__:模組和包都可以使用這個屬性,主要用在包的__init__.py檔案裡面,定義了當我們使用 from import * 匯入某個模組的時候能匯出的符號(這裡代表變數,函式,類等)
檔案和異常
檔案:open(name[, mode[,buffering[,encoding]]]) 需要結合close()方法關閉檔案
with open(name[, mode[,buffering[,encoding]]]) as 名稱,這種方式會在合適的時候自動關閉檔案
write(),向檔案中寫入內容,如果想寫入數字,需要包裝成字串
read(),讀取檔案的內容,r(唯讀)
readlines(),也是讀取檔案的內容,每一行作為列表的元素,返回的是乙個列表
模式:r:唯讀模式,不能寫入;如果檔案不存在會報錯
w:只能寫入,不能讀取;當檔案不存在時,會建立乙個新的檔案;如果檔案存在會重寫
a:追加,指標放在檔案最後一位;當檔案不存在時,會建立乙個新的檔案
r+:可讀可寫,如果檔案不存在會報錯
w+:可讀可寫,當檔案不存在時,會建立乙個新的檔案
a+:可讀可寫可追加
seek():設定檔案指標的位置,seek(0,0)就是把指標放在檔案開頭
異常:# 第一:except語句不是必須的(else語句必須和except語句搭配使用,不能單獨出現),finally語句也不是必須的,但是二者必須要有乙個,否則就沒有try的意義了。
#第二:except語句可以有多個,python會按except語句的順序依次匹配你指定的異常,如果異常已經處理就不會再進入後面的except語句。
#第三:except語句可以以元組形式同時指定多個異常。except語句後面也不指定異常型別,則預設捕獲所有異常(不推薦)
#第四:如果要捕獲異常後要重複丟擲,請使用raise,後面不要帶任何引數或資訊。不建議捕獲並丟擲同乙個異常
Python基礎 小結
print語句如果在結尾處加逗號,接下來的語句與前一條語句同行列印 匯入所有功能from somemodule import 序列解包 賦值 x,y y,x python3中 a,b,rest 1,2,3,4 a 1 b 2 rest 3,4 鏈式賦值 x y somefuction 比較運算子 i...
python基礎小結
python標準資料型別 序列 數字 number 不可修改,單個 列表 list 中括號包圍,元素可為任意物件,可以修改,有序 字串 string 引號包圍,不可修改,有序 元組 tuple 圓括號包圍,可以看成穩定的列表,不可修改,有序 對映 字典 dictionary 大括號包圍,鍵值對構成,...
Python基礎小結
開啟執行視窗cmd win r 名詞解釋 url 也就是我們通常說的 html hyper text makeup launguge 是一種用來描述網頁的語言 快捷鍵 注釋 1單行 前 2選中需要注釋的內容 ctrl 取消注釋 選中 ctrl 3在需要注釋的內容前後行標註三個單引號,如 內容 全選 ...