我的Python學習記錄
阿新 • • 發佈:2021-01-13
技術標籤:python
我的Python學習記錄
學習參考:https://www.bilibili.com/video/BV1wD4y1o7AS?p=1
Day 1 (2021.1.11)
下載
pycharm下載地址https://www.jetbrains.com/zh-cn/pycharm/download/#section=windows
python下載地址https://www.python.org/downloads/
print()
-
可以輸出數字
print(100) print(100.0)
-
可以輸出字串(’‘和""沒有區別,“”裡的’‘不用轉義字元,’'裡的“”不用轉義字元)
print('Hello Python') print("Hello Python") print('"Hello Python"') print("'Hello Python'")
-
可以輸出表達式的值
print(3 + 1)
-
可以不換行輸出
print('Hello', 'Python', 'Python', 'Hello')
-
可以輸出到檔案
fileOpen = open('D:/FileOpen.txt', 'a+') #指定檔案可以不存在,但是碟符必須存在 #a+ 如果指定檔案不存在則建立,如果存在則在原有檔案的基礎上追加
轉義字元
- 什麼是轉義字元:就是反斜槓\加上想要實現的轉義功能首字母
- 為什麼需要轉義字元:
- 當字串中包含反斜槓\,單引號’’,雙引號""等有特殊用途的字元時,必須使用反斜槓對這些字元進行轉義(表示這些字元就是這些字元本身,並不使用其特殊用途)
- 反斜槓:\\
- 單引號:\’
- 雙引號:\"
- 當字串中包含換行,回車,製表或退格等無法直接表示的特殊字元時,也需要轉義字元
- 換行:\n 另起一行
- 回車:\r 回到本行開頭,覆蓋之前內容
- 製表:\t 跳轉到本行下一製表的開頭
- 退格:\b 刪除退格符前一字元
- 當字串中包含反斜槓\,單引號’’,雙引號""等有特殊用途的字元時,必須使用反斜槓對這些字元進行轉義(表示這些字元就是這些字元本身,並不使用其特殊用途)
原字元
- 什麼是原字元:就是字串開頭加r或R
- 為什麼需要原字元:不希望字串中的轉義字元起作用,就是用原字元
- 注意:最後一個字元不能以單個反斜槓結尾
編碼方式
python採用unicode編碼,即用兩個位元組表示一個字元
識別符號和保留字
-
保留字
- 定義:一些單詞被賦予了特定意義(keyword),在為物件起名時不能重複
- 包括:
'False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'
-
識別符號
- 定義:為變數,函式,類,模組和其他物件所起的名字就是識別符號
- 規則:
- 由字母,數字,下劃線組成
- 不能以數字開頭
- 不能與保留字相同
- 嚴格區分大小寫
變數
-
變數是記憶體當中一個帶標籤的盒子
-
變數由三部分組成
- 標識:表示物件所儲存的記憶體地址,使用id()獲取
- 型別:表示物件的資料型別,使用type()獲取
- 值:表示物件所儲存的具體資料,使用變數名直接訪問
print("標識", id(name)) print("型別", type(name)) print("值", name)
-
變數可以多次賦值,當多次賦值之後,變數名會指向新的空間,原來的空間變為記憶體垃圾
name = "我的變數" print("標識", id(name)) print("值", name) name = "他的變數" print("標識", id(name)) print("值", name)
資料型別
-
常用資料型別
-
整數型別int
- 整數的不同進製表示方式
- 十進位制 預設表示
- 二進位制 以0b開頭
- 八進位制 以0o開頭
- 十六進位制 以0x開頭
bInt = 0b110010 dInt = 50 oInt = 0o62 xInt = 0x32 print(bInt) print(dInt) print(oInt) print(xInt)
- 整數的不同進製表示方式
-
浮點數型別float
-
浮點數由整數部分和小數部分組成
-
浮點數儲存具有不精確性
- 使用浮點數進行計算時,可能會出現小數位數不確定的情況
print(1.1 + 2.2) print(1.1 + 2.1)
-
匯入decimal解決精度不足問題
from decimal import Decimal print(1.1 + 2.2) print(Decimal('1.1') + Decimal('2.2'))
-
-
布林型別bool
- 用於表示真或假的值
- True為真,False為假
- 布林值可以轉化成整數
- True = 1
- False = 0
-
字串型別str
- 字串又被稱為不可變的字元序列
- 可以使用單引號’ ',雙引號" ",三引號”‘ “’或者”“” “”“來定義
- 單引號和雙引號定義的字串必須在一行
- 三引號定義的字串可以分佈在連續的多行
name1 = 'name1' name2 = "name2" name3 = '''name 3''' name4 = """name 4""" print(name1) print(name2) print(name3) print(name4)
-
-
資料型別轉換
- 為什麼需要資料型別轉換:將不同資料型別的資料拼接在一起
- 如何轉化
- 其他資料型別轉字串 str()
- 也可以用引號轉換
- 其他資料型別轉整數 int()
- 文字類和小數類字串,無法轉化成整數
- 浮點數轉化成整數,抹零取整
- 其他資料型別轉浮點數
- 文字類無法轉化
054851)]
- 文字類無法轉化
- 其他資料型別轉字串 str()
-
資料型別轉換
- 為什麼需要資料型別轉換:將不同資料型別的資料拼接在一起
- 如何轉化
- 其他資料型別轉字串 str()
- 也可以用引號轉換
- 其他資料型別轉整數 int()
- 文字類和小數類字串,無法轉化成整數
- 浮點數轉化成整數,抹零取整
- 其他資料型別轉浮點數 float()
- 文字類無法轉化
- 整數轉成浮點數,末尾為.0
- 其他資料型別轉字串 str()
Day 2 (2021.1.12)
註釋
-
在程式碼中對程式碼的功能進行解釋性說明的標註性文字,可以提高程式碼的可讀性
-
註釋的內容會被Python直譯器忽略
-
通常包括三種類型的註釋
-
單行註釋:以#開頭,直到換行結束
-
多行註釋:沒有單多的多行註釋標記,將一對三引號之間的內容成為多行註釋
-
中文編碼宣告註釋:在檔案開頭加上中文宣告註釋,用以指定原始碼檔案的編碼格式
#coding:gbk #:後面是指定的編碼格式
-
input
- 作用:接受來自使用者的輸入
- 返回值型別:輸入值的型別為str
a = input()
b = input()
c = int(a) + int(b)
print(a + b)
print(c)
運算子
-
常用運算子
-
算術運算子
- 標準運算子
- 加+
- 減-
- 乘*
- 除/
- 整除//(一正一負向下取整)
print(1 + 1) # 加法運算 print(1 - 1) # 減法運算 print(2 * 2) # 乘法運算 print(1 / 2) # 除法運算 print(1 // 2) # 整除運算(兩正) print(-1 // -2) # 整除運算(兩負) print(-1 // 2) # 整除運算(一正一負)
- 取餘運算子
- %
- 一正一負 公式 餘數 = 被除數 - 除數 * 商(整除)
print(-11 % 2) # 取餘運算(一正一負) print(-11 - 2 * (-11 // 2)) print(11 % -2) # 取餘運算(一正一負) print(11 - -2 * (11 // -2))
- 冪運算子
print(2 ** 3) # 冪運算
- 標準運算子
-
賦值運算子 =
- 執行順序:由右到左
- 支援鏈式賦值:a = b = c = 20,注意:只有一個數值物件,a,b,c指向同一個物件
- 支援引數賦值:+=,-=,*=,/=,//=,%=
- 支援系列解包賦值:a,b,c = 20,30,40 注意:左右變數和值的數量要對應
- 交換兩變數的值
a = 10 b = 20 a, b = b, a print('a = ' + str(a)) print('b = ' + str(b))
-
比較運算子
- 運算結果為bool型別
- 比較變數的值
- <,>,>=,<=,!=,==
- 比較變數的標識(id)
- is,is not
-
布林運算子
- and 有False為False
- or 有True為True
- not 取反
- in,not in 前者變數是否在後者變數之中
-
位運算子
- 按位與& 對應位數均為1才是1,否則為0
- 按位或| 對應數位均為0才是0,否則為1
- 左移位運算<< 高位溢位捨棄,低位補0,左移1位,相當於乘2
- 右移位運算>> 低位溢位捨棄,高位補0 ,右移1位,相當於除2
-
優先順序
- 算術運算->位運算->比較運算->布林運算->賦值運算