文章目錄
- Python
- 解釋器
- 縮進
- 海象運算子
- f字串除錯
- 型別
- 簡單型別
- 串列型別
- 元組型別
- 字串型別
- 字典型別
- 集合型別
- 流程控制
- 函式
- 函式的定義
- 函式的引數
- 函式的呼叫和回傳
- lambda函式
- 嵌套函式
- 函式作用域
Python環境搭建-從安裝到Hello World
Python
解釋器
解釋器的行為就像是一個計算器,可以說輸入一個運算式,它會回傳結果,
出現主提示符>>>,則表示解釋器已經啟動了,
- IDEL中啟動解釋器

- PyCharm中啟動解釋器
點擊底部Python Console


縮進
縮進是Python語言和其他語言非常不一樣的地方,Python用縮進(4個空格)來表示程式塊,而不是用大括號或者begin、end,
比如以下C語言:
int fib(int a)
{
if(a==||a==2)
{
return 1;
}
else
{
return fib(a-1)+fib(n-2);
}
}
轉換為Python為:
def fib(a):
if a == 1 or a == 2:
return 1
else:
return fib(a - 1) + fib(a - 2)
再比如以下兩個函式運行結果截然不同:
def print1(a):
if a == 1:
print('ok')
print('a is 1')
def print2(a):
if a == 1:
print('ok')
print('a is 1')
print1(0)
print('-----------')
print2(0)

海象運算子
海象運算子:=是Python3.8后提供的,:=可以將一個值賦給一個變數,即使該變數不存在也可以,
舉例:
a = '記得一鍵三連'
if (n := len(a)) < 10:
print(n)
把a的長度賦值給新變數n,若a長度小于10,輸出n

若不用:=則會報錯

f字串除錯
f除錯也是Python3.8后的新特性,就像數學中的函式
f
(
x
)
f(x)
f(x)一樣,可以計算出運算式的值,
舉例:
x=5
print(f'{x + 3}')
print(f'{x + 3 = }')

型別
簡單型別
-
布爾bool
取值為True或False,邏輯運算(與或非、判斷等)的結果,

-
整數int
比較不同的是冪可以用**表示,比如2**3表示 2 3 2^3 23
0o可以轉換八進制
0x可以轉換十六進制
其余沒什么好講的

-
浮點float
帶圓點符號的數值都被認為是浮點數,

-
復數complex
即數學概念里的復數,由實數和虛陣列成

-
空None
類似于C/C++中的null,表示空,
串列型別
串列list是順序存盤資料的容器,類似C的陣列,C++的vector,
定義:使用[]符號定義,中間元素用逗號隔開,
訪問:下標從0開始,此外還增加了負下標(如下標1表示第二個元素,下標-2表示倒數第二個元素),
也能通過切片操作劃分子list,一個表示開始位置(默認0),一個表示結束位置(默認-1),中間用冒號隔開,特別注意的是結束位置不包括它本身,是區間[)前閉后開,

運算:


方法:
太多不一一演示了,根據這些方法,list可以模擬堆疊和佇列,
| 方法 | 描述 |
|---|---|
| append() | 在末尾添加物件 |
| count() | 統計串列元素個數 |
| extend() | 將一個序列物件轉換為串列并添加到末尾 |
| index() | 回傳查找值得第一個下標 |
| insert() | 插入物件到指定下標后 |
| pop() | 彈出下標元素(默認最后一個) |
| remove() | 洗掉指定值,存在多個時刪第一個 |
| reverse() | 順序倒置 |
| sort() | 排序(默認從小到大) |
推導式List Comprehension:
使用過濾和映射生成特定要求的串列,語法[<expr1> for k in L if <expr2> ],for k in L是對L串列的回圈,if expr2使用expr2對回圈的元素k進行過濾,expr1是回傳的運算式,

元組型別
元組tuple通過一對括號()表示,元組的常量是list,也可以通過help(tuple)查看tuple的自省資訊,基本操作和list類似,支持下標和切片操作以及比較運算和加乘運算,但是不支持+=、*=操作和list的方法,

字串型別
字串可以看成特殊的元組,用單引號或雙引號表示,
轉義符用反斜杠\表示,此外反斜杠也可用于拆分為很多行,

大小寫轉換:
偷懶不演示了
| 方法 | 描述 |
|---|---|
| capitalize() | 首字母大寫 |
| lower() | 全部轉小寫 |
| upper() | 全部轉大寫 |
| swapcase() | 大小寫互換 |
| title() | 單詞首字母大寫,其余小寫 |
字串搜索:
| 方法 | 描述 |
|---|---|
| find() | 查找并回傳第一個字母下標,找不到回傳-1(從左向右) |
| index() | 查找并回傳第一個字母下標,找不到報錯(從左向右) |
| rfind() | 同find,從右向左 |
| rindex() | 同index,從右向左 |
字串替換:
| 方法 | 描述 |
|---|---|
| replace() | 替換 |
| strip() | 去掉頭尾指定字符 |
| rstrip() | 從右邊開始 |
| lstrip() | 從左邊開始 |
| expandtabs() | 用空格替換tab鍵 |
字串判斷:
| 方法 | 描述 |
|---|---|
| startwith() | 判斷是否以…為開頭 |
| endwith() | 判斷是否以…為結尾 |
| isalnum() | 判斷是否由字母和數字組成 |
| isdight() | 判斷是否全是數字 |
| isalpha() | 判斷是否全是字母 |
| isspace() | 判斷是否全是空格 |
| iflower() | 判斷是否全是小寫 |
| siupper() | 判斷是否全是大寫 |
| istitle() | 判斷是否首字母大寫 |
(
插播反爬資訊)博主CSDN地址:https://wzlodq.blog.csdn.net/
字典型別
字典是Python中關聯的容器型別,使用大括號{}創建,字典中的元素都是一對,每對包括key和value兩部分,key值不能重復,
字典的創建:
- 直接創建,語法{key1:value1,key2:value2,…}

- dict()創建空字典

- 通過映射型別的組生成dist

- 通過序列容器生成佇列

- 通過輸入方法引數

字典的操作:
- 通過key訪問value

- 各比較運算子

- 清空

- 洗掉

- 序列訪問
items()回傳一個串列,iteritems()、iterkeys()、itervalues()回傳迭代器物件,keys()回傳以key為元素的串列,

集合型別
集合是無序并唯一地存放容器元素的型別,可分為可變集合和不可變集合兩種,
集合的創建:
set()方法創建可變集合,frozenset()創建不可變集合,

集合的方法
| 方法 | 描述 |
|---|---|
| union()或| | 并 |
| intersection()或& | 交 |
| difference()或- | 差 |
| symmetric_difference()或^ | 補 |
| issubset()或<= | 判斷子集 |

流程控制
選擇結構:
if...elif...else
elif就是else if的縮寫
if x == 0:
print('x is 0')
elif x < 0:
print('x is less than 0')
else:
print('x is more than 0')
for回圈結構:
for...in...
a = [1, 2, 3, 4]
for x in a:
print(x)
while回圈結構:
while 運算式
i = 0
while i < 6:
i += 1
print(i)
continue和break:
-
continue不執行后續陳述句,但會繼續執行剩余回圈

-
break也不執行后續陳述句,同時結束回圈

函式
函式的定義
語法:
def <function_name> ( <parameters_list> ):
<code block>
- def關鍵字用來宣告定義函式
- function_name是函式的名字
- parameters_list是函式輸入的引數
- code block是函式的模塊代碼
函式的引數
-
固定引數


-
引數默認值
當沒有指定引數值時,會使用默認值呼叫,

-
不定引數
*args
arg實際上是一個元組

-
引數/
/符號前的引數必須使用默認引數輸入方式,不能再帶關鍵字,
/符號后面的引數依然可以使用關鍵字輸入形式,

函式的呼叫和回傳
-
可以直接使用函式名呼叫

-
函式名本身也可做引數傳遞

-
函式名可傳參被另一個函式呼叫

-
使用
return回傳值,未使用return時回傳None

lambda函式
lambda可以理解為單行的匿名函式,可含參
lambda 引數1,引數2,...:運算式


嵌套函式
在函式內部定義函式(套娃 )

內層函式可以訪問外層函式,但是沒有提供由內而外的系結措施,

函式作用域
遵循LGB原則,L即local name space,G即global name space,B即buildin name space,
意思是對于一個變數名稱,先查找區域命名空間,再查找全域命名空間,最后查找內部命名空間,

原創不易,請勿轉載(
本不富裕的訪問量雪上加霜)
博主首頁:https://wzlodq.blog.csdn.net/
微信公眾號:唔仄lo咚鏘
如果文章對你有幫助,記得一鍵三連?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/257474.html
標籤:python
上一篇:Python之多行程與多執行緒
下一篇:二十個集合常見面試題(附答案)
