本周學(xué)習(xí)了Python語(yǔ)言的基礎(chǔ)語(yǔ)法,現(xiàn)在總結(jié)一下學(xué)習(xí)的內(nèi)容
變量和簡(jiǎn)單數(shù)據(jù)類型
Python變量主要用來(lái)存儲(chǔ)和訪問(wèn)內(nèi)存空間內(nèi)的數(shù)據(jù),變量的命名需要滿足以下條件:
- 變量名有數(shù)字,字母和下劃線組成
- 變量名的首字母不能是數(shù)字
- 不能與關(guān)鍵字和函數(shù)名重名
- 變量名命名時(shí)應(yīng)該盡量簡(jiǎn)短又具有描述性,當(dāng)含有兩個(gè)或多個(gè)單詞可以使用下劃線連接單詞或者使用駝峰命名法,其中小駝峰為第一個(gè)單詞首字母小寫(xiě),之后的單詞首字母大寫(xiě),大駝峰則是所有單詞的首字母都大寫(xiě),另外python的變量區(qū)分大小寫(xiě),大小寫(xiě)不同時(shí)為兩個(gè)不同的變量
python的數(shù)據(jù)類型有字符串(str),布爾值(bool),整數(shù)(int),浮點(diǎn)數(shù)(float)共4種。
- 字符串
變量名.lower()和變量名.upper()可以將字符串變成小寫(xiě)和大寫(xiě)
通過(guò)+號(hào)合并字符串,連接其他類型數(shù)據(jù)需要通過(guò)變量名.str()將該數(shù)據(jù)轉(zhuǎn)換成字符串
\n和\t分別是換行符和制表符,通過(guò)這兩個(gè)符號(hào)可以添加空白
變量.strip()可以刪除字符串兩端的空白,rstrip()刪除右端的空白,lstrip()刪除左端空白
字符串可用*加數(shù)字輸出指定數(shù)字的重復(fù)字符串 - 數(shù)字
布爾值、整數(shù)和浮點(diǎn)數(shù)都屬于數(shù)字型類型,互相之間可以直接運(yùn)算,使用+、-、、/進(jìn)行運(yùn)算,另外**表示冪運(yùn)算,//表示取整,%表示取余
布爾值為判斷對(duì)錯(cuò),有True和False兩類,可類比為1和0
結(jié)果輸出
使用print(變量名)可以輸出變量中存儲(chǔ)的數(shù)據(jù),使用格式化操作符可以將字符串和數(shù)字類型一同輸出,即
print("%s"%變量名),其中%s指字符串,%d為有符號(hào)十進(jìn)制整數(shù),%f為浮點(diǎn)數(shù)
注釋
python中添加注釋通過(guò)#號(hào)來(lái)加注釋,或者連續(xù)三個(gè)雙引號(hào),在雙引號(hào)中填寫(xiě)注釋 """注釋"""
列表、元組和字典
-
列表
列表是一個(gè)有序集合,用[ ]定義,列表的索引是從0開(kāi)始的
列表操作
- append()追加列表時(shí),是將追加的列表作為一個(gè)元素添加到列表中,而extend()是將追加列表的元素一個(gè)個(gè)添加到列表中
- 列表.pop()是將值從列表中彈出,可以定義一個(gè)變量來(lái)接收刪除的值方便后面使用
- 元組
元組與列表類似,但使用()來(lái)定義,元組無(wú)法更改,只能查詢,但當(dāng)元組中的元素是列表或者字典等可更改數(shù)據(jù),可以更改內(nèi)部的可變數(shù)據(jù)。 -
字典
字典使用鍵值對(duì){key:value}定義,不同的鍵值對(duì)用逗號(hào)分開(kāi),字典的索引是key,是字符串類型,而value則是任何類型都行,鍵必須是唯一的,再次出現(xiàn)一樣的鍵會(huì)覆蓋前者,鍵只能是字符串、數(shù)字和元組。
字典操作
條件語(yǔ)句和循環(huán)語(yǔ)句
- 條件語(yǔ)句 if語(yǔ)句
if語(yǔ)句主要用于邏輯判斷,核心是一個(gè)值為True或False的條件測(cè)試表達(dá)式
if 條件1:
滿足條件1后要做的事情
elif 條件2:
滿足條件2后要做的事情
elif 條件3:
滿足條件3后要做的事情
...
else:
不滿足以上條件后要做的事情
上述條件表達(dá)式中只能滿足其中一個(gè)條件,并執(zhí)行滿足條件后的代碼,隨后會(huì)跳過(guò)if語(yǔ)句內(nèi)的其他代碼。每條if,elif和else語(yǔ)句后面必須帶冒號(hào):,緊跟條件表達(dá)式后的代碼必須要縮進(jìn),縮進(jìn)要保持一致,空格或TAB縮進(jìn)只選一樣。
邏輯運(yùn)算符有三種,and,or和not
當(dāng)需要同時(shí)滿足多個(gè)條件時(shí),使用and連接所有條件
當(dāng)多個(gè)條件中任一滿足一個(gè)條件時(shí),使用or連接所有條件
當(dāng)需要不滿足某條件時(shí),在條件前加not
- 循環(huán)語(yǔ)句 for語(yǔ)句
for語(yǔ)句用于循環(huán)遍歷,可以使用 for 循環(huán)遍歷所有非數(shù)字類型的遍歷:列表、元組、字典 以及 字符串,從頭到尾獲取元素。
for循環(huán)中可以包含任一行代碼,在for語(yǔ)句后縮進(jìn)的所有行都是for循環(huán)的一部分
for i in 列表名:
執(zhí)行代碼
- 循環(huán)語(yǔ)句 while語(yǔ)句
while語(yǔ)句是為了讓指定代碼重復(fù)運(yùn)行。
while 條件:
條件滿足時(shí),做的事情1
條件滿足時(shí),做的事情2
條件滿足時(shí),做的事情3
...
while循環(huán)內(nèi)部需要隨循環(huán)變化判斷條件,否則會(huì)造成死循環(huán)
當(dāng)滿足某一條件后需要結(jié)束循環(huán),不再執(zhí)行隨后的代碼,可以使用break
當(dāng)滿足某一條件后,不再執(zhí)行本次循環(huán)的后續(xù)語(yǔ)句,進(jìn)入下一次循環(huán)判斷,可以用continue,注意避免出現(xiàn)死循環(huán)問(wèn)題。
函數(shù)
函數(shù)是將具有獨(dú)立功能的代碼塊組織成一個(gè)整體,在使用時(shí)調(diào)用,可以在開(kāi)發(fā)時(shí)提高編寫(xiě)效率并使代碼能夠重復(fù)使用。
函數(shù)需要先定義函數(shù),將代碼塊組織成一個(gè)函數(shù)放入內(nèi)存空間,然后才能調(diào)用函數(shù)
def 函數(shù)名(形參):
"""注釋"""
函數(shù)封裝的代碼
函數(shù)名(實(shí)參)
形參可以在函數(shù)內(nèi)部當(dāng)做變量使用,且形參的作用域僅限于函數(shù)內(nèi)部,在函數(shù)外部無(wú)法調(diào)用,不同函數(shù)的形參可以相同,實(shí)參為調(diào)用函數(shù)時(shí)根據(jù)需要賦予的數(shù)據(jù),便于靈活使用函數(shù)
def用于定義函數(shù)
函數(shù)名稱與變量名命名規(guī)則一直,需要帶有描述性,可用注釋寫(xiě)明函數(shù)的作用
函數(shù)寫(xiě)完后應(yīng)盡量空兩行與隨后的代碼隔開(kāi)
文件操作
文件是用來(lái)存儲(chǔ)數(shù)據(jù)的具體形式,可以永久性保存數(shù)據(jù)
- 打開(kāi)文件
open(文件名,訪問(wèn)模式)
使用該語(yǔ)句可以打開(kāi)一個(gè)存在的文件,如果該文件不存在將新創(chuàng)建一個(gè)文件,訪問(wèn)模式分別為只讀(r),寫(xiě)入(w),追加(a),二進(jìn)制只讀(rb),二進(jìn)制寫(xiě)入(wb),二進(jìn)制追加(ab),讀寫(xiě)(r+、w+、a+)
- 寫(xiě)入文件
s=open(文件名,訪問(wèn)模式)
s.write(要寫(xiě)入的數(shù)據(jù))
- 讀文件
s=open(文件,訪問(wèn)模式)
s.read(num)
s.readlines()
s.readline()
read(num)表示從文件中讀取長(zhǎng)度為num的數(shù)據(jù)(單位為字節(jié)),若沒(méi)有傳入num則讀取文件中全部數(shù)據(jù)
readlines()讀取文件中的全部行數(shù)據(jù)
readline()讀取文件中單一一行數(shù)據(jù)
- 關(guān)閉文件
s.close()
- 獲取當(dāng)前位置
在讀取文件過(guò)程中,tell()函數(shù)可以獲取當(dāng)前位置
f=open(文件名,訪問(wèn)模式)
f.read(num)
f.tell() #值為num,即當(dāng)前位置是上面取的數(shù)據(jù)長(zhǎng)度
- 定位到某一位置
在讀寫(xiě)文件時(shí),需要從另一位置操作是,可以使用seek()
f.seek(offset,from)
offset:偏移量(數(shù)字)
from:方向,有3個(gè)值,0表示從文件開(kāi)題開(kāi)始,1表示從當(dāng)前位置開(kāi)始,2表示從尾端位置開(kāi)始
python3中當(dāng)文件訪問(wèn)模式不是二進(jìn)制(即不是rb,wb和ab)時(shí),seek()函數(shù)里的兩個(gè)參數(shù)必須有1個(gè)為0,python2沒(méi)有這一限制
- 文件和文件夾操作
可以使用python中的os模式對(duì)文件和文件夾進(jìn)行操作

