一、Python開發環境與基礎知識
python解釋器:用于解釋python代碼
方式:
1.直接安裝python解釋器
2.安裝Anaconda管理python環境
python開發環境:用于編寫python代碼
1.vscode
2.pycharm
# 3.安裝Anaconda后可以使用網頁版的jupyter notebook
以上三個三選一
第一個python程序
注釋
#單行
'''
....
多行
....
'''
"""
...
也是多行
...
"""
代碼默認頂格,依靠縮進表示代碼塊
print('打印結果,輸出')
輸入輸出
print 輸出
語法:print(*object,sep=' ',end=‘\n’)
參數說明:
1.object:表示輸出一個或者多個對象,輸出多個對象需要用sep分隔
2.sep后接用于分隔的符號或者字符串,默認值是一個空格
3.end:輸出結束后以end結尾,默認值是換行,可以賦值為一個空格,實現一行多個輸出
input 輸入
語法:a=input()
參數說明:
1.默認存儲類型為str字符串,需要輸入整數,則手動轉型,a=int(input())
2.多個輸入分別存到不同變量里,使用map和split函數:a,b=map(int,input().split())
3.輸入一個列表:lst=list(map(int,input().split()))
變量與常量
常量:不可改變
變量:存儲單元,所存的值可變
變量命名規則:
1.只能包含數字,字母,下劃線
2.只能以字母、下劃線開頭
3.不能使用關鍵字作為變量名
基礎數據類型
四種
整數:int
浮點數:float
字符串:str
布爾:bool
獲取變量類型的函數:type(變量)
類型轉換
int轉float:直接轉換
float轉int:舍棄小數部分
int轉bool:非0->True;0->False
bool轉int:True->1;False->0
轉str:直接轉換
運算符
算術運算符
+ - * / //(整除) %(求余) **(求冪)
關系運算符
>????????<????????==????????!=? ? ? ? <=? ? ? ? >=
賦值運算符
=? ? ? ? +=? ? ? ? -=? ? ? ? *=? ? ? ? /=? ? ? ? //=? ? ? ? %=? ? ? ? **=
邏輯運算符
and? ? ? ? or? ? ? ? not
成員運算符
in? ? ? ? not in
身份運算符
is????????not is
選擇結構
條件表達式
>????????<????????==????????!=? ? ? ? <=? ? ? ? >=
特點:
1.雙目運算符,需要兩個參數進行運算
2.運算結果是bool型,值只有true和false
邏輯表達式
and? ? 與? ? or? ?或? ? ?not? ? 非
特點;
1.與、或均為雙目運算符,具有左結合性(從左往右進行結合,即先結合左邊的運算符,然后再結合右邊的運算符)
2.非 為單目運算符,具有右結合性(與左結合性相反)
3.短路:在python中,and和or不一定會計算右邊的值,有的時候只計算左邊的值就得到最終結果
4.and和or會將其中一個表達式的值作為最終結果,而不是輸出True和False
5.and同真為真,若先算左的為假,則不需要計算右邊即可得到答案
6.or有真為真,not取反
7.運算順序:算術>關系>邏輯>賦值
if語句
格式:
if 表達式;
? ? ? ? 代碼塊
說明;
1.表達式可以是單一的值或者變量,也可以是由運算符組成的復雜語句,表達式成立才會運行if的代碼塊
2.代碼塊之間的聯系需要用相同的縮進
3.if-else語句:else后接不滿足lf表達式后的執行語句
? ? ? ? if 表達式:
? ? ? ? ? ? ? ? 代碼塊
? ? ? ? else:
? ? ? ? ? ? ? ? 代碼塊
4.if-elif-else語句:如果滿足第一個表達式,執行語句1,如果滿足另一個,執行語句2,如果都不滿足,執行else后的語句(中間可使用多個elif)
????????if 表達式1:
? ? ? ? ? ? ? ? 代碼塊1
????????elif 表達式2:
? ? ? ? ? ? ? ? 代碼塊2
????????elif 表達式3:
? ? ? ? ? ? ? ? 代碼塊3
? ? ? ? else:
? ? ? ? ? ? ? ? 代碼塊
循環結構
for語句
range函數:生成一系列數字,用于循環結構的遍歷
格式:range(start,stop,step)
說明:
1.可只設置stop,則start默認為0,step默認為1
2.stop實際上取不到,左閉右開區間
3.步長step為負,說明倒著取值
for語句
格式:
for <variable> in <sequence>:
? ? ? ? 代碼塊
說明:
1.<variable>,循環變量,一般為i,j,k
2.<sequence>,可迭代對象 或者序列,一般為range(xx),也可為字符串或者列表
while語句
格式:
while 條件表達式:
? ? ? ? 代碼塊
說明:
1.條件表達式成立,執行代碼塊
2.實際情況下,需要避免while True:這種死循環出現
對比:
for vs while
for循環:常用于已知循環次數的情況,或者遍歷List、Dict等數據結構
while循環:不知道循環次數,但是可以通過終止條件停止循環
在一定程度上兩者可以互相轉換
循環嵌套
break語句適用于嵌套循環中,它的作用只是使程序跳出本層循環結構
continue語句也可以適用于循環結構中,作用仍然跳過本次循環,執行下一次循環。
▲如何跳出多重循環?
可以設置一個跳出循環的標記
如果需要一次跳出多重循環的時候,可以將這個標記為標記成true,那么在下一層循環也判斷一下是否需要繼續跳出循環