1. 程式人生 > 其它 >我的Python學習記錄

我的Python學習記錄

技術標籤: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()

  1. 可以輸出數字

    print(100)
    print(100.0)
    

在這裡插入圖片描述

  1. 可以輸出字串(’‘和""沒有區別,“”裡的’‘不用轉義字元,’'裡的“”不用轉義字元)

    print('Hello Python')
    print("Hello Python")
    print('"Hello Python"')
    print("'Hello Python'")
    

    在這裡插入圖片描述

  2. 可以輸出表達式的值

    print(3 + 1)
    

    在這裡插入圖片描述

  3. 可以不換行輸出

    print('Hello', 'Python', 'Python', 'Hello')
    

    在這裡插入圖片描述

  4. 可以輸出到檔案

    fileOpen = open('D:/FileOpen.txt', 'a+')
    #指定檔案可以不存在,但是碟符必須存在
    #a+ 如果指定檔案不存在則建立,如果存在則在原有檔案的基礎上追加
    print('Hello Python', file = fileOpen) #使用file=fileOpen fileOpen.close()

轉義字元

  1. 什麼是轉義字元:就是反斜槓\加上想要實現的轉義功能首字母
  2. 為什麼需要轉義字元:
    1. 當字串中包含反斜槓\,單引號’’,雙引號""等有特殊用途的字元時,必須使用反斜槓對這些字元進行轉義(表示這些字元就是這些字元本身,並不使用其特殊用途)
      • 反斜槓:\\
      • 單引號:\’
      • 雙引號:\"
    2. 當字串中包含換行,回車,製表或退格等無法直接表示的特殊字元時,也需要轉義字元
      • 換行:\n 另起一行
      • 回車:\r 回到本行開頭,覆蓋之前內容
      • 製表:\t 跳轉到本行下一製表的開頭
      • 退格:\b 刪除退格符前一字元

原字元

  1. 什麼是原字元:就是字串開頭加r或R
  2. 為什麼需要原字元:不希望字串中的轉義字元起作用,就是用原字元
  3. 注意:最後一個字元不能以單個反斜槓結尾

編碼方式

python採用unicode編碼,即用兩個位元組表示一個字元

識別符號和保留字

  1. 保留字

    • 定義:一些單詞被賦予了特定意義(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'
    
  2. 識別符號

    • 定義:為變數,函式,類,模組和其他物件所起的名字就是識別符號
    • 規則:
      • 由字母,數字,下劃線組成
      • 不能以數字開頭
      • 不能與保留字相同
      • 嚴格區分大小寫

變數

  1. 變數是記憶體當中一個帶標籤的盒子

  2. 變數由三部分組成

    • 標識:表示物件所儲存的記憶體地址,使用id()獲取
    • 型別:表示物件的資料型別,使用type()獲取
    • 值:表示物件所儲存的具體資料,使用變數名直接訪問
    print("標識", id(name))
    print("型別", type(name))
    print("值", name)
    

    在這裡插入圖片描述

  3. 變數可以多次賦值,當多次賦值之後,變數名會指向新的空間,原來的空間變為記憶體垃圾

    name = "我的變數"
    print("標識", id(name))
    print("值", name)
    name = "他的變數"
    print("標識", id(name))
    print("值", name)
    

    在這裡插入圖片描述

資料型別

  1. 常用資料型別

    • 整數型別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)
      

      在這裡插入圖片描述

  2. 資料型別轉換

    • 為什麼需要資料型別轉換:將不同資料型別的資料拼接在一起
    • 如何轉化
      • 其他資料型別轉字串 str()
        • 也可以用引號轉換
      • 其他資料型別轉整數 int()
        • 文字類和小數類字串,無法轉化成整數
        • 浮點數轉化成整數,抹零取整
      • 其他資料型別轉浮點數
        • 文字類無法轉化
          054851)]
  3. 資料型別轉換

    • 為什麼需要資料型別轉換:將不同資料型別的資料拼接在一起
    • 如何轉化
      • 其他資料型別轉字串 str()
        • 也可以用引號轉換
      • 其他資料型別轉整數 int()
        • 文字類和小數類字串,無法轉化成整數
        • 浮點數轉化成整數,抹零取整
      • 其他資料型別轉浮點數 float()
        • 文字類無法轉化
        • 整數轉成浮點數,末尾為.0

Day 2 (2021.1.12)

註釋

  1. 在程式碼中對程式碼的功能進行解釋性說明的標註性文字,可以提高程式碼的可讀性

  2. 註釋的內容會被Python直譯器忽略

  3. 通常包括三種類型的註釋

    • 單行註釋:以#開頭,直到換行結束

    • 多行註釋:沒有單多的多行註釋標記,將一對三引號之間的內容成為多行註釋

    • 中文編碼宣告註釋:在檔案開頭加上中文宣告註釋,用以指定原始碼檔案的編碼格式

      #coding:gbk
      #:後面是指定的編碼格式
      

input

  1. 作用:接受來自使用者的輸入
  2. 返回值型別:輸入值的型別為str
a = input()
b = input()
c = int(a) + int(b)
print(a + b)
print(c)

在這裡插入圖片描述

運算子

  1. 常用運算子

    1. 算術運算子

      1. 標準運算子
        • 加+
        • 減-
        • 乘*
        • 除/
        • 整除//(一正一負向下取整)
      print(1 + 1)  # 加法運算
      print(1 - 1)  # 減法運算
      print(2 * 2)  # 乘法運算
      print(1 / 2)  # 除法運算
      print(1 // 2)  # 整除運算(兩正)
      print(-1 // -2)  # 整除運算(兩負)
      print(-1 // 2)  # 整除運算(一正一負)
      

      在這裡插入圖片描述

      1. 取餘運算子
        • %
        • 一正一負 公式 餘數 = 被除數 - 除數 * 商(整除)
      print(-11 % 2)  # 取餘運算(一正一負)
      print(-11 - 2 * (-11 // 2))
      print(11 % -2)  # 取餘運算(一正一負)
      print(11 - -2 * (11 // -2))
      

      在這裡插入圖片描述

      1. 冪運算子
      print(2 ** 3)  # 冪運算
      

      在這裡插入圖片描述

    2. 賦值運算子 =

      1. 執行順序:由右到左
      2. 支援鏈式賦值:a = b = c = 20,注意:只有一個數值物件,a,b,c指向同一個物件
      3. 支援引數賦值:+=,-=,*=,/=,//=,%=
      4. 支援系列解包賦值:a,b,c = 20,30,40 注意:左右變數和值的數量要對應
      5. 交換兩變數的值
      a = 10
      b = 20
      a, b = b, a
      print('a = ' + str(a))
      print('b = ' + str(b))
      

      在這裡插入圖片描述

    3. 比較運算子

      1. 運算結果為bool型別
      2. 比較變數的值
        • <,>,>=,<=,!=,==
      3. 比較變數的標識(id)
        • is,is not
    4. 布林運算子

      1. and 有False為False
      2. or 有True為True
      3. not 取反
      4. in,not in 前者變數是否在後者變數之中
    5. 位運算子

      1. 按位與& 對應位數均為1才是1,否則為0
      2. 按位或| 對應數位均為0才是0,否則為1
      3. 左移位運算<< 高位溢位捨棄,低位補0,左移1位,相當於乘2
      4. 右移位運算>> 低位溢位捨棄,高位補0 ,右移1位,相當於除2

優先順序

  1. 算術運算->位運算->比較運算->布林運算->賦值運算