2025python學習筆記

一.Python語言基礎入門

第一章

01.初識Python

  • Python的起源:

    • 1989年,為了打發圣誕節假期,Gudio van Rossum吉多·范羅蘇姆(龜叔)決心開發一個新的解釋程序(Python維形)
    • 1991年,第一個Python解釋器誕生
    • Python這個名字來自龜叔所摯愛的電視劇Monty Python’s Flying Circus
  • Python適用范圍:

02.什么是編程語言

  • 以Python為例
    • 用于人類和計算機進行交流的一種語言,通過編寫編程語言的代碼,去指揮計算機工作。?它無法直接和計算機溝通,需要翻譯工具(解釋器或編譯器)將代碼翻譯成二進制,從而實現和計算機的暢順溝通

03.Python安裝

想要使用Python語言編寫程序,我們必須下載Python安裝包并配置Python環境,Python目前最新版本是:3.13.3(發布于2025年4月8日)

  • 安裝Python開發環境

    • 第一步:打開網址:Welcome to Python.org

      • image-20250426224524748
    • 第二步:點擊“Downloads”

      • image-20250426224717192
    • 第三步:進入后,點擊“Download Python 3.13.3”

      • image-20250426224915286
    • 第四步:下載好后,點擊Python安裝包

      image-20250426230743199

    • 第五步:點擊“Customize installation”,并且勾選“Add python.exe to PATH”

      • image-20250426231437936
    • 第六步:默認是全選的,點擊“Next”

      • image-20250426231811572
    • 第七步:點擊”Browse“,選擇你想要放的位置

      • image-20250426232220065
    • 第八步:然后點擊”Inatall“,開始安裝

    • 第九步:安裝成功后,會出現”Setup was successful“,然后點擊”Disable path length limit“關閉路徑長度的限制,最后點擊close就行了

      • image-20250426232728867
    • 第十步:驗證Python是否安裝成功,同時按下”win+r“鍵,然后輸入”cmd“,在命令行中輸入”python“,如果出現如下情況,則證明安裝成功。

      • image-20250426233804143

04.第一個Python程序——”Hello world“

  • 同時按下”win+r“鍵,然后輸入”cmd“,在命令行中輸入”python“,出現下面這個界面

    • image-20250426233804143
  • 然后接著輸入“print(“Hello World”)”,然后按下回車,命令行便會打印“Hello World”,如下

    • image-20250427100745238
    需要注意的點:
    引號和括號必須要是英文的,不能是中文的,否則會報錯,如下image-20250427101648826

05.Python解釋器

基本原理:計算機只認識二進制,即0和1
  • 計算機并不認識Python代碼,但是Python有解釋器程序。安裝Python環境就是在安裝Python解釋器程序,如下圖:

Python解釋器原理

  • Python解釋器就兩個功能:
    • 1.翻譯代碼
    • 2.提交給計算機運行
  • Python解釋器在哪里
    • 存放在:<Python安裝目錄>/Python.exe
      • image-20250427105723307
    • 我們在CMD(命令提示符)程序內,執行的python,就是上圖的python.exe程序
那么問題來了,當我們在命令行中輸入完一行代碼后,按下回車,程序就直接運行了,有什么辦法可以同時運行多行代碼呢?
  • 思路實現
    • 我們可以將代碼,寫入一個以”.py”結尾的文件中,使用python命令去運行它。
    • 如,在Windows系統的D盤,我們新建一個名為:test.py的文件,并通過記事本程序打開它,輸入如下內容:
      • image-20250427111012796
    • 在“命令提示符”程序內,使用python命令,運行它,如圖:
      • image-20250427111240013

06.Pycharm開發工具的安裝

Python程序的開發有許多種方式,一般我們常見的有:

  • Python解釋器環境內,執行單行代碼

  • 使用Python解釋器程序,執行Python代碼文件

  • 使用第三方IDE(集成開發工具),如PyCharm軟件,開發Python程序

安裝步驟

  • 第一步:打開網址:https://www.jetbrains.com/zh-cn/pycharm/
  • 第二步:點擊“下載”
    • image-20250427113121918
  • 第三步:選擇社區版,點擊“下載”
    • image-20250427120915908
  • 第四步:點擊Pycharm安裝包
  • 第五步:點擊“下一步”
    • image-20250427114534189
  • 第六步:先選擇安裝路徑,再點擊下一步
    • image-20250427114746659
  • 第七步:選擇如下按鈕,然后點擊下一步
    • image-20250427120007116
  • 第八步:點擊“安裝”
    • image-20250427120110507
  • 第九步:等待安裝完成
    • image-20250427120319690
  • 第十步:點擊“完成”
    • image-20250427120355280
  • 第十一步:點擊安裝好后的Pycharm
  • 第十二步:點擊下一個
    • image-20250427124106775
  • 第十三步:勾選條款,然后點擊“繼續”
    • image-20250427124203761
  • 第十四步:點擊”新建項目“
    • image-20250427124557698
  • 第十五步:按照下圖操作,然后點擊創建
    • image-20250427125059775
  • 第十六步:得到下圖
    • image-20250427125451542
  • 第十七步:新建文件,鼠標右鍵點擊”1“,創建Python文件“test.py”
    • image-20250427125631156
  • 第十八步:在”test.py“文件中寫入”print(“Hello world”)“,然后點擊紅框處的綠色三角形,就會在底部的終端中顯示輸出結果
    • image-20250427125921746

07.Pycharm開發工具的使用

  • 如何修改主題
    • Pycharm的默認主題是黑色

    • 第一步:點擊右上角齒輪按鈕,找到”主題“并點擊

      image-20250427151732082
    • 第二步:選擇主題,有5個常用的主題可以選擇,也可以選擇獲取更多主題

      image-20250427151854537
  • 修改默認字體和大小
    • 第一步:點擊右上角齒輪按鈕,找到”設置“并點擊

      image-20250427152229815
    • 第二步:按照下面的步驟設置字體和字體大小

      • image-20250427152702211
    • 第三步:設置快捷鍵改變字體大小,點擊設置中的”按鍵映射“,然后在右邊的搜索框中輸入”字體“,接著搜索,出現下面的結果

      • image-20250427153412410
    • 第四步:先點擊上圖中的”減少字體大小“,再點擊”添加鼠標快捷方式“,如下圖

      • image-20250427153633014
    • 第五步:出現下圖后,同時點擊”Ctrl+鼠標滾輪下滑“

      • image-20250427153808367
    • 第六步:出現下圖后,就說明設置成功了,然后點擊確定

      • image-20250427153915672
    • 第七步:按照”設置減小字體大小“的方法,設置”增大字體大小“的快捷鍵,如下

      • image-20250427154109768
    • 第八步:都設置完畢后,記住一定要點擊“應用”

      • image-20250427154227141
  • 裝一些好用的插件
    因為在安裝最新版本的Pycharm時已經捆綁選擇了中文插件,所以就不需要再次安裝中文插件了!!!!
    • 安裝翻譯插件 ----------- 碰到不懂的英文,可以快速了解意思
      • 第一步:進入設置界面
      • 第二步:按照下圖操作
        • image-20250427172918994
      • 第三步:安裝好后,重啟Pycharm
      • 第四步:用鼠標選中要翻譯的單詞,然后單擊右鍵,點擊”翻譯“,出現下圖
        • image-20250427173459066
  • 常用快捷鍵
    • ctrl + alt + s:打開軟件設置

    • ctrl + alt + l:一鍵整理代碼

    • ctrl + d:復制當前行代碼

    • shift + alt + 上\下:將當前行代碼上移或下移

    • crtl + shift + f10:運行當前代碼文件

    • shift + f6:重命名文件

      如果遇到shift+f6快捷鍵不行的,可以在依次點擊:設置>插件,然后在插件中搜索”Imefix“,然后下載對應的插件即可image-20250427181812618

    • ctrl + a:全選

    • ctrl + c\v\x:復制、粘貼、剪切

    • ctrl + z:撤回

    • ctrl + f:搜索

第二章

01.數據類型

Python中常用的數據類型有六種:數字(Number)、字符串(String)、列表(List)、元組(Tuple)、集合(Set)、字典(Dictionary)。其中數字類型又包括:整數(Int)、浮點數(float)、復數(complex)、布爾(bool),具體如下圖:

9種常用Python數據類型

02.數據類型的轉換

有時候需要將數據從一種類型轉換為另一種類型。Python為此提供了內置函數:

03.字面量

  • 什么是字面量?
    • 字面量就是在代碼中,被寫下來固定的值,Python的9種數據類型就是字面量,例如:數字字面量,整數字面量,復數字面量,字典字面量。

    • 舉個例子:

      print("Hello, World!")
      

      在這行代碼中,“Hello, World!” 就是一個字面量。它是一個固定的值,我們告訴Python去顯示它。

  • Python字面量的類型
    • 整數字面量

      這些是正的或負的整數,沒有小數點。

      age = 23
      high = 176
      

      這里,23和176是整數字面量。它們表示精確的、整數值

    • 浮點數字面量

      這些是有小數點的數字。

      pi = 3.14159
      gravity = 9.81
      

      3.14159和9.81是浮點數字面量。它們允許我們處理更精確的數值。

    • 復數字面量

      這些數字有實部和虛部。

      complex_number = 3 + 4j
      

      這里,3 + 4j是一個復數字面量,3是實部,4是虛部。它在高級數學計算中使用。

    • 布爾字面量

      布爾字面量表示真值。

      is_xiaogudu_gudu = True
      is_xiaogudu_ugly = False
      

      True和False是布爾字面量,它們 在代碼中用于條件判斷。

    • 字符串字面量

      字符串是字符序列,用單引號(‘’)或雙引號(“”)括起來。

      # 單行字符串
      name = "xiaogudu"
      message = 'Hello, how are you?'# 多行字符串,使用三引號
      long_text = """這是
      一個多行
      字符串字面量。"""
      
    • 列表字面量

      列表是有序的項的集合(可以更改)

      friends = ["伊地知虹夏", "喜多郁代", "山田涼"]
      numbers = [1, 2, 3, 4, 5]
      

      方括號[]內的項創建列表字面量。

    • 元組字面量

      元組類似于列表,但它們是不可變的(不能更改)。

      tuple_one = (10, 20, 30)
      tuple_two = (255, 122, 128)
      

      圓括號()內的項創建元組字面量。

    • 集合字面量

      集合是無序的唯一項的集合。

      friends = {"伊地知虹夏", "喜多郁代", "山田涼"}
      numbers = {1, 2, 3, 4, 5}
      

      大括號{}內的項(但沒有鍵值對)創建集合字面量。

    • 字典字面量

      字典存儲鍵值對。

      person = {"name": "xiaogudu", "age": 16, "city": "神奈川縣"}
      

      大括號{}內的鍵值對創建字典字面量。

04.注釋

05.變量

  • 變量:在程序運行時,能儲存計算結果或能表示值的抽象概念。簡單來說變量就是在程序運行時,記錄數據用的
  • 變量的定義格式:
    • 變量名稱 = 變量的值
      • “變量名稱”:每一個變量都有自己的名稱,稱之為:變量名,也就是變量本身

      • “=”:賦值,表示將等號右側的值,賦予左側的變量

      • “變量的值”:每一個變量都有自己存儲的值(內容),稱之為:變量值

  • 創建變量:
    • 基本賦值:
      age = 16
      name = "小孤獨"
      hobby = "喜歡彈吉他"
      

      在這些例子中:

      ? age 是一個變量,存儲著年齡(整數)
      ? name 也是一個變量,存儲著名字(字符串)
      ? hobby 也是一個變量,存儲著愛好(也是字符串)

    • 多重賦值:

      Python 允許我們高效地在一行內給多個變量賦值

      age, name, hobby = 16, "小孤獨", "喜歡彈吉他"
      print(age)   # 打印“16”
      print(name)  # 打印“小孤獨”
      print(hobby) # 打印“喜歡彈吉他”
      

      這就像發牌一樣 - 每個變量按順序獲得自己的值

  • 刪除變量:

    在 Python 中,我們可以使用 del 關鍵字刪除不再需要的變量

    name = "小孤獨" #創建變量并賦值
    print(name)  # 輸出“小孤獨”
    del name     # 刪除變量
    print(name)  # 這將引發一個錯誤,說明變量刪除成功
    
  • 變量地址:

    Python 中的每個變量在計算機內存中都有一個唯一的地址,就像街道上的每座房子都有自己的地址一樣。我們可以使用 id() 函數找出變量所在的位置:

    name = "小孤獨"
    print("name 的內存地址:", id(name)) 
    #打印語句會輸出“name 的內存地址: 3141631801696”
    

    上述的數字就是變量在計算機內存中的地址

  • 變量類型:

    Python 允許我們使用·type() 函數檢查變量所持有的數據類型:

    age = 16
    name = "小孤獨"
    print(type(age))  # 打印語句輸出“<class 'int'>”
    print(type(name)) # 打印語句輸出“<class 'str'>”
    

    這告訴我們 age 是一個整數(int),而 name 是一個字符串(str)

  • 變量的類型轉換:

    有時,我們需要改變變量的類型。這個過程稱為類型轉換。

    age = 16
    print(type(age))  # 打印語句輸出“<class 'int'>”
    age_str = str(age) # 將變量從數字類型轉換成字符串類型
    print(type(age_str)) # 打印語句輸出“<class 'str'>”
    
  • 變量命名約定:
    • 變量以字母或下劃線開頭

    • 變量可以包含字母、數字和下劃線

    • 變量區分大小寫

    • 變量不能是 Python 關鍵字

    • 好名字:

      age = 16
      name = "小孤獨"
      hobby = "喜歡彈吉他"
      
    • 壞名字:

      2film = "電影"  # 不能以數字開頭
      my-age = 20    # 不允許使用連字符
      
  • 全局變量和局部變量:
    • 全局變量:

      全局變量就像派對的主持人 ,它們在整個程序中都是已知的:

      global_var = "我無處不在!"def use_global():print(global_var) # 打印“我無處不在!”use_global()  # 這可以正常工作
      print(global_var)   # 打印“我無處不在!”
      
    • 局部變量:

      在函數內部創建的變量稱為局部變量。它們就像只存在于該函數中的秘密:

      def party_planner():local_var = "我只在這個函數中存在"print(local_var)party_planner()
      print(local_var)  # 這將引發一個錯誤
      
  • 常量:

    常量是值不應該改變的變量。在 Python 中,我們使用全部大寫名稱來表示常量:

    PI = 3.14159
    MAX_GUESTS = 50print("Pi 總是", PI)
    print("我們不能有超過", MAX_GUESTS, "個賓客")
    

06.標識符

  • 什么是標識符
    • 在Python程序中,我們可以給很多東西起名字,比如:
      變量的名字,方法的名字,類的名字,等等
    • 這些名字,我們把它統一的稱之為標識符,用來做內容的標識。
      所以,標識符就是用戶在編程的時候所使用的一系列名字,用于給變量、類、方法等命名
  • 標識符命名規則(需要強制遵守)
    Python中,標識符命名的規則主要有3類:
    • 內容限定
      • 只允許出現:**英文、中文、數字、下劃線(_)**這四類元素
      • 注意:1.不推薦使用中文;2.數字不能在開頭
    • 大小寫敏感
      • 字母的大小寫是完全能夠分開的,例如:

        name = "小孤獨1"
        Name = "小孤獨2"
        print(name)   # 輸出:小孤獨1
        print(Name)   # 輸出:小孤獨2
        
    • 不可使用關鍵字
      • 關鍵字的定義:

        以下是 Python 3.10 及更高版本的關鍵字列表(共 35 個):

        False    None    True     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
        match    case    
        

        用途分類:

        邏輯值:True, False, None邏輯運算:and, or, not流程控制:if, elif, else, for, while, break, continue函數與類:def, return, class, lambda, pass, raise, yield異常處理:try, except, finally, with, assert作用域:global, nonlocal模塊操作:import, from, as異步編程:async, await
        
  • 標識符命名規范(建議遵守)
    不同的標識符有不同的命名規范,但是現在只學到了變量,所以只講變量的命名規范:
    變量的命名規范:
    • 見名知意
      • 明了:盡量做到,看到名字,就知道是什么意思
      • 簡潔:盡量在確保“明了”的前提下,減少名字的長度
    • 下劃線命名法
      • 多個單詞組合變量名,要使用下劃線做分隔

        first_number = 1
        student_name = "小孤獨"
        
    • 英文字母全小寫
      • 變量中的英文字母應該全部小寫

07.運算符

  • 算數運算符
    # 加法
    print(5 + 3)  # 輸出:8# 減法
    print(10 - 4)  # 輸出:6# 乘法
    print(3 * 4)  # 輸出:12# 除法
    print(20 / 5)  # 輸出:4.0# 整除/地板除(向下取整到最近的整數)
    print(17 // 3)  # 輸出:5# 取模(除法的余數)
    print(17 % 3)  # 輸出:2# 冪運算
    print(2 ** 3)  # 輸出:8
    
  • 比較運算符

    這些運算符就像編程比賽中的評委——它們比較值并返回TrueFalse

    # 等于
    print(5 == 5)  # 輸出:True# 不等于
    print(5 != 3)  # 輸出:True# 大于
    print(7 > 3)   # 輸出:True# 小于
    print(2 < 8)   # 輸出:True# 大于或等于
    print(5 >= 5)  # 輸出:True# 小于或等于
    print(3 <= 1)  # 輸出:False
    
  • 邏輯運算符
    # and 運算符
    print(True and True)   # 輸出:True
    print(True and False)  # 輸出:False# or 運算符
    print(True or False)   # 輸出:True
    print(False or False)  # 輸出:False# not 運算符
    print(not True)        # 輸出:False
    print(not False)       # 輸出:True
    
  • 賦值運算符

    這些運算符就像Python中的搬運工——它們為變量賦值

    # 簡單賦值運算符
    x = 5
    print(x)  # 輸出:5# 復合賦值運算符(下面7個都是)
    # 加法賦值運算符
    x += 3    # 等同于 x = x + 3
    print(x)  # 輸出:8# 減法賦值運算符
    x -= 2    # 等同于 x = x - 2
    print(x)  # 輸出:6# 乘法賦值運算符
    x *= 2    # 等同于 x = x * 2
    print(x)  # 輸出:12# 除法賦值運算符
    x /= 3    # 等同于 x = x / 3
    print(x)  # 輸出:4.0# 取模賦值運算符
    x %= 3    # 等同于 x = x % 3
    print(x)  # 輸出:1.0# 冪賦值運算符
    x **= 3   # 等同于 x = x ** 3 = x^3
    print(x)  # 輸出:1.0# 取整除賦值運算符
    x //= 2   # 等同于 x = x // 2 
    print(x)  # 輸出:0.0
    
  • 位運算符
    # 1.按位與(&)
    # 功能:兩個二進制數的對應位都為 1 時,結果位才為 1,否則為 0
    a = 5   # 二進制 0000 0101(補碼)
    b = 3   # 二進制 0000 0011(補碼)
    result = a & b
    print(result)  # 輸出 1 (二進制 0000 0001)# 2.按位或(|)
    # 兩個二進制數的對應位有一個為 1,結果位就為 1
    a = 5   # 0000 0101(補碼)
    b = 3   # 0000 0011(補碼)
    result = a | b
    print(result)  # 輸出 7 (0000 0111)# 3.按位異或(^)
    # 功能:兩個二進制數的對應位不同時,結果位為 1,否則為 0
    a = 5   # 0000 0101(補碼)
    b = 3   # 0000 0011(補碼)
    result = a ^ b
    print(result)  # 輸出 6 (0000 0110)# 4.按位取反(~)
    # 功能:將二進制數的每一位取反(0 變 1,1 變 0)
    a = 5   # 二進制 0000 0101(補碼)
    result = ~a
    print(result)  # 輸出 -6(即二進制補碼 1111 1010)# 5.左移(<<)
    # 功能:將二進制數的所有位向左移動指定位數,右側補 0
    a = 5   # 0000 0101(補碼)
    result = a << 1  # 左移 1 位
    print(result)    # 輸出 10 (0000 1010)# 6.右移(>>)
    # 功能:將二進制數的所有位向右移動指定位數,左側補符號位(正數補 0,負數補 1)
    a = 5   # 0000 0101(補碼)
    result = a >> 1  # 右移 1 位
    print(result)    # 輸出 2 (0000 0010)b = -8 # 1111 1000(補碼)
    result = b >> 2  # 右移 2 位(負數保留符號)
    print(result)    # 輸出 -2
    
  • 身份運算符

    身份運算符用于比較兩個對象的內存位置

    # is 運算符
    x = [1, 2, 3]
    y = [1, 2, 3]
    z = xprint(x is z)  # 輸出:True
    print(x is y)  # 輸出:False
    print(x == y)  # 輸出:True# is not 運算符
    print(x is not y)  # 輸出:True
    
  • 成員運算符

    這些運算符就像俱樂部門口的保鏢——它們檢查一個值是否是序列的成員

    # in 運算符
    fruits = ['apple', 'banana', 'cherry']
    print('banana' in fruits)  # 輸出:True# not in 運算符
    print('mango' not in fruits)  # 輸出:True
    
  • 運算符的優先級
    優先級運算符描述
    1()括號
    2**冪運算
    3+x, -x, ~x一元加,一元減,按位非
    4*, /, //, %乘法,除法,整除,取模
    5+, -加法,減法
    6<<, >>按位左移,按位右移
    7&按位與
    8^按位異或
    9|按位或
    10<, >, <=, >=, ==, !=, is, is not, in, not in比較運算符,身份運算符,成員運算符
    11not邏輯運算符非
    12and邏輯運算符與
    13or邏輯運算符或
    14=, +=, -=, *=, /=, %=, **=, //=賦值運算符

08.字符串擴展

  • 字符串的三種定義方式
    • 字符串在Python中有3種定義形式

      • 1.單引號定義法:name = ‘小孤獨’

      • 2.雙引號定義法:name = "小孤獨 "

      • 3.三引號定義法:name = " " "小孤獨 " " "

        需要注意的是,三引號定義法,和多行注釋的寫法一樣,同樣支持換行操作。使用變量接收它,它就是字符串;不使用變量接收它,就可以作為多行注釋使用。

    • 如何定義本身就包含引號的字符串

      • 1.單引號定義法,可以內含雙引號

        # 在字符串內包含雙引號
        name = '"小孤獨"'
        print(name)   # 輸出:"小孤獨"
        
      • 2.雙引號定義法,可以內含單引號

        # 在字符串內包含單引號
        name = "'小孤獨'"
        print(name)   # 輸出:'小孤獨'
        
      • 3.可以使用轉移字符(\)來將引號解除效用,變成普通字符串

        # 使用轉義字符(\)解除引號的效用
        name = " \"小孤獨\" "
        print(name)   # 輸出:"小孤獨"
        name = ' \'小孤獨\' '
        print(name)   # 輸出:'小孤獨'
        
  • 字符串拼接
    • 如果我們有兩個字符串(文本)字面量,可以將其拼接成一個字符串,通過+號即可完成,如:

      # 字符串字面量之間的拼接
      print("小孤獨" + "學Python") # 輸出:小孤獨學Python
      
    • 不過一般,單純的2個字符串字面量進行拼接顯得很呆,一般,字面量和變量或變量和變量之間會使用拼接,如:

      # 字符串字面量和字符串變量的拼接
      name = "小孤獨"
      study = "學Python"
      print("我是:"+name +",我要:"+ study) # 輸出:我是:小孤獨,我要:學Python
      
    • 字符串無法和非字符串類型直接進行拼接

  • 字符串格式化
    • 1.使用 % 運算符

      • %s 是一個字符串的占位符,而 “World” 是替換它的值

        print("Hello, %s!" % "World")  # 輸出:Hello, World!
        
      • 你可以使用多個占位符

        注意:多個變量占位,變量要用括號括起來,并按照占位的順序填入

        name = "小孤獨"
        age = 16
        print("My name is %s and I am %s years old." % (name, age))
        # 輸出:My name is 小孤獨 and I am 16 years old.
        
      • Python中支持非常多的數據類型占位,最常用的如下

        格式符號轉化
        %s將內容轉換成字符串,放入占位位置
        %d將內容轉換成整數,放入占位位置
        %f將內容轉換成浮點型,放入占位位置

        示例:

        name ="小孤獨"
        age = 16
        height = 1.56
        message ="我是%s,我的年齡是:%d,我的身高是:%f米" %(name, age, height)
        print(message)
        # 輸出:我是:小孤獨,我的年齡是:16,我的身高是:1.560000米
        
    • 2.str.format() 方法

      • Python 2.6+ 引入的更靈活的格式化方法,使用 {} 作為占位符

      • 基本用法:

        print("Name: {}, Age: {}".format("小孤獨", 16))          # 位置參數
        print("Name: {1}, Age: {0}".format(16, "小孤獨"))        # 索引參數
        print("Name: {name}, Age: {age}".format(name="小孤獨", age=16))  # 關鍵字參數
        
      • 格式控制:

        # 數字格式化
        print("PI: {:.2f}".format(3.14159))  # 輸出:PI: 3.14(保留兩位小數)
        print("Hex: {:x}".format(255))       # 輸出:Hex: ff(十六進制)# 對齊與填充
        print("{:>10}".format("Hello"))      # 右對齊,寬度10 → '     Hello'
        print("{:<10}".format("Hello"))      # 左對齊,寬度10 → 'Hello     '
        print("{:*^10}".format("Hi"))        # 居中并用*填充 → '****Hi****'# 千位分隔符
        print("{:,}".format(1000000))        # 輸出:1,000,000
        
      • 引用對象屬性或元素:

        person = {"name": "小孤獨", "age": 16}
        print("Name: {p[name]}, Age: {p[age]}".format(p=person))  # 輸出:Name: 小孤獨, Age: 16
        
    • 3.f-strings(格式化字符串字面量)

      • Python 3.6+ 引入,語法簡潔高效,在字符串前加 fF,變量直接嵌入 {}

      • 基本用法:

        name = "小孤獨"
        age = 16
        print(f"Name: {name}, Age: {age}")  # 輸出:Name: 小孤獨, Age: 16
        
      • 表達式和函數調用:

        name = "xiaogudu"
        age = 16
        # 直接計算表達式
        print(f"Next year's age: {age + 1}")  # 輸出:Next year's age: 17# 調用方法或函數
        print(f"Name in uppercase: {name.upper()}")  # 輸出:Name in uppercase: XIAOGUDU
        
      • 高級格式控制:

        pi = 3.14159
        print(f"PI: {pi:.2f}")               # 輸出:PI: 3.14
        print(f"Hex: {255:x}")               # 輸出:Hex: ff
        print(f"Aligned: {'text':>10}")      # 輸出:Aligned:       text
        
      • 多行字符串:

        name = "小孤獨"
        age = 16
        message = (f"Name: {name}\n"f"Age: {age}\n"f"Square of Age: {age ** 2}"
        )
        print(message)  
        # 輸出:Name: 小孤獨
        # Age: 16
        # Square of Age: 256
        
    • 4.模板字符串(string.Template

      • Python 標準庫中的簡單模板,通過 $ 占位符替換,適合用戶可控的輸入(避免安全風險)

        from string import Template
        t = Template("Name: $name, Age: $age")
        print(t.substitute(name="小孤獨", age=16))  # 輸出:Name: 小孤獨, Age: 16
        
    • 5.總結對比:

      方法優點缺點適用場景
      % 格式化簡單,兼容舊代碼功能有限,易出錯舊項目或簡單替換
      str.format()功能強大,支持復雜格式語法稍冗長需要兼容 Python 2.6+
      f-strings簡潔高效,支持表達式僅限 Python 3.6+現代 Python 代碼首選
      string.Template安全,適合用戶輸入功能最少用戶可控模板
  • 格式化的精度控制

    我們可以使用輔助符號m.n來控制數據的寬度和精度

    • m:控制寬度,要求是數字(很少使用),設置的寬度小于數字自身,不生效

    • n:控制小數點精度,要求是數字,會進行小數的四舍五入

      示例:

      • 1.%運算符

        num1 = 11
        num2 = 11.345
        num3 = 0.001234
        print("數字11寬度限制5,結果是:%5d" % num1)
        print("數字11.345寬度限制7,小數精度2,結果是:%7.2f" % num2)
        print("數字11.345不限制,小數精度2,結果是:%.2f" % num2)
        print("數字11.345不限制,小數精度3,結果是:%.3e" % num2)
        print("數字0.001234不限制,小數精度2,結果是:%.2g" % num3)  
        # 輸出:
        # 數字11寬度限制5,結果是:   11  (數前面有3個空格,因為寬度限制為5)
        # 數字11.345寬度限制7,小數精度2,結果是:  11.35 (數前面有2個空格,保留兩位小數)
        # 數字11.345不限制,小數精度2,結果是:11.35  (保留兩位小數) 
        # 數字11.345不限制,小數精度3,結果是:1.135e+01  (科學計數法,保留三位小數)
        # 數字0.001234不限制,小數精度2,結果是:0.0012  (保留兩位有效數字)
        
      • 2.str.format() 方法

        num1 = 11
        num2 = 11.345
        num3 = 0.001234
        num4 = 12345678.946
        print("數字11寬度限制5,結果是:{:5d}".format(num1))
        print("數字11.345寬度限制7,小數精度2,結果是:{:7.2f}".format(num2))
        print("數字11.345不限制,小數精度2,結果是:{:.2f}".format(num2))
        print("數字11.345不限制,小數精度3,結果是:{:.3e}".format(num2))
        print("數字0.001234不限制,小數精度2,結果是:{:.2g}".format(num3))
        # 輸出:省略
        -------------------以下是%運算符沒有的用法-----------------------print("數字12345678.946不限制,小數精度2,結果是:{:,.2f}".format(num4))
        print("數字11.345不限制,小數精度2,結果是:{:*>10.2f}".format(num2))
        print("數字0.001234不限制,小數精度2,結果是:{:.2%}".format(num3))
        #輸出:
        # 數字12345678.946不限制,小數精度2,結果是:12,345,678.95 (千分位分隔符)
        # 數字11.345不限制,小數精度2,結果是:*****11.35  (右對齊,寬度10,填充*)
        # 數字0.001234不限制,小數精度2,結果是:0.12%     (百分比顯示)
        
      • 3.f-strings(Python 3.6+)

      # 跟str.format() 方法 一樣
      num1 = 11
      num2 = 11.345
      num3 = 0.001234
      num4 = 12345678.946
      print(f"數字11寬度限制5,結果是:{num1:5d}")
      print(f"數字11.345寬度限制7,小數精度2,結果是:{num2:7.2f}")
      print(f"數字11.345不限制,小數精度2,結果是:{num2:.2f}")
      print(f"數字11.345不限制,小數精度3,結果是:{num2:.3e}")
      print(f"數字0.001234不限制,小數精度2,結果是:{num3:.2g}")
      print(f"數字12345678.946不限制,小數精度2,結果是:{num4:,.2f}")
      print(f"數字11.345不限制,小數精度2,結果是:{num2:*>10.2f}")
      print(f"數字0.001234不限制,小數精度2,結果是:{num3:.2%}")
      # 輸出:
      # 省略
      
      • 關鍵格式說明符

        • f:固定小數位數(如 .2f)。
        • e/E:科學計數法(小寫/大寫指數符號)。
        • g/G:自動選擇 fe,控制有效數字(如 .3g)。
        • %:百分比格式(自動乘100并添加%)。
        • ,:千分位分隔符(如 {:,.2f})。
        • 對齊與填充<(左對齊)、>(右對齊)、^(居中),結合寬度和填充字符(如 :*>10.2f)。
  • 對表達式進行格式化
    • 表達式的定義

      • 一條具有明確執行結果的代碼語句,例如:1+1、3*4、name = “小孤獨”、age =16 這些都是表達式,因為有具體結果(變量的等號右側為結果),結果是一個數字或者字符串。
    • 如何格式化表達式:

      print("1*1的結果是:%d" % (1*1))       # %運算符
      print("1*2的結果是:{}".format(1*2))  # str.format()
      print(f"2*3的結果是:{2*3}")          # f-strings
      print("字符串在Python中的類型名是:%s" % type("字符"))
      # 輸出:
      # 1*1的結果是:1
      # 1*2的結果是:2.00
      # 2*3的結果是:6
      # 字符串在Python中的類型名是:<class 'str'>
      

09.數據輸入

在Python中,我們使用input()語句,用來獲取鍵盤輸入:

  • 使用input()語句可以從鍵盤獲取輸入

  • 使用一個變量接收(存儲)input語句獲取的鍵盤輸入數據即可
    示例:

    name = input("你是誰?")  # 輸入:小孤獨
    print(f"我是{name}")     # 輸出:我是小孤獨age = input("你多大了?")  # 16
    print(f"我{age}歲了,類型:{type(age)}") # 輸出:我16歲了,類型:<class 'str'>
    

    從中可以發現:無論鍵盤輸入什么類型的數據,獲取到的數據永遠都是字符串類型

如有不當之處,歡迎指正

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/80262.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/80262.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/80262.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

STM32單片機的快速成長路徑規劃

一、基礎準備階段&#xff08;1-2周&#xff09; C語言核心技能 重點掌握&#xff1a;指針操作、結構體、枚舉、位操作、函數指針&#xff08;回調函數基礎&#xff09;實踐項目&#xff1a;通過51單片機或STM8完成LED控制、按鍵檢測等基礎項目&#xff0c;熟悉寄存器配置和調試…

torch.nn.init.uniform_

nn.init.uniform_ 是 PyTorch 中用于初始化張量&#xff08;tensor&#xff09;的一個函數&#xff0c;它的作用是將張量的值填充為從均勻分布中采樣的隨機數。 詳細說明&#xff1a; 函數&#xff1a; torch.nn.init.uniform_(tensor, a0., b1.)tensor&#xff1a;需要被初始…

Spring MVC中跨域問題處理

在Spring MVC中處理跨域問題可以通過以下幾種方式實現&#xff0c;確保前后端能夠正常通信&#xff1a; 方法一&#xff1a;使用 CrossOrigin 注解 適用于局部控制跨域配置&#xff0c;直接在Controller或方法上添加注解。 示例代碼&#xff1a; RestController CrossOrigin…

基本句子結構

以下是英語句子五種基本結構的詳細解釋&#xff0c;并附上系動詞的全面分類及示例&#xff1a; ?1. 主謂結構&#xff08;SV&#xff09;? ?結構&#xff1a;主語&#xff08;Subject&#xff09; 不及物動詞&#xff08;Intransitive Verb&#xff09;?核心&#xff1a;…

游戲引擎學習第264天:將按鈕添加到分析器

回顧并為今天的工作做鋪墊 隨著時間的推移&#xff0c;我們的分析器&#xff08;profiler&#xff09;變得越來越強大。我通常會問大家是否記得我們要做什么&#xff0c;今天我們要做的似乎是按鈕相關的功能。 今天的目標是實現按鈕功能。我們從昨天留下的地方繼續&#xff0…

大節點是選擇自建機房還是托管機房

選擇PCDN大節點自建機房還是托管機房&#xff0c;需綜合考量資金實力、技術能力、運維需求、業務規模及合規要求。以下為具體分析&#xff1a; 自建機房的適用場景與考量因素 資金與技術門檻高 自建機房需投入服務器、存儲、網絡設備等硬件&#xff0c;以及機房建設、電力、散…

【SpringBoot】SpringBoot中使用AOP實現日志記錄功能

前言一、AOP基本概念二、項目準備三、實現日志記錄切面1、創建自定義日志注解2、實現日志切面3、配置AOP 四、使用示例1. 在Controller中使用2. 在Service中使用 六、高級配置1. 日志內容格式化2. 異步日志記錄3. 日志脫敏處理 七、代理類生成的核心邏輯問題1&#xff1a; 既然…

linux中的常用命令(一)

目錄 常用的快捷鍵 1- tab鍵:命令或者路徑提示及補全&#xff1b; 2-ctrlc:放棄當前輸入&#xff0c;終止當前任務或程序 3-ctrll;清屏 4-ctrlinsert:復制 5-鼠標右鍵:粘貼&#xff1b; 6-altc:斷開連接/ctrlshift r 重新連接 7-alt1/2/3/等&#xff1a;切換回話窗口 8-上下鍵…

Pycharm(十九)深度學習

一、深度學習概述 1.1 什么是深度學習 深度學習是機器學習中的一種特殊方法,它使用稱為神經網絡的復雜結構,特別是“深層”的神經網絡,來學習和做出預測。深度學習特別適合處理大規模和高維度的數據,如圖像、聲音和文本。深度學習、機器學習和人工智能之間的關系如下圖所…

多視圖密集對應學習:細粒度3D分割的自監督革命

原文標題&#xff1a;Multi-view Dense Correspondence Learning (MvDeCor) 引言 在計算機視覺與圖形學領域&#xff0c;3D形狀分割一直是一個基礎且具有挑戰性的任務。如何在標注稀缺的情況下&#xff0c;實現對3D模型的細粒度分割&#xff1f;近期&#xff0c;斯坦福大學視覺…

Vue——前端vue3項目使用漢字轉拼音

在 Vue3 項目中&#xff0c;可以通過以下 第三方 JavaScript 包 實現漢字轉拼音。這些包均兼容 Vue3&#xff0c;且無需依賴后端處理&#xff1a; 推薦方案 1. pinyin-pro 特點&#xff1a;功能強大、支持多音字、聲調、拼音匹配、輕量級&#xff08;~20KB&#xff09;。安裝…

批量統計PDF頁數,統計圖像屬性

軟件介紹&#xff1a; 1、支持批量統計PDF、doc\docx、xls\xlsx頁數 2、支持統計指定格式文件數量&#xff08;不填格式就是全部&#xff09; 3、支持統計JPG、JPEG、PNG圖像屬性 4、支持統計多頁TIF頁數、屬性 5、支持統計PDF、JPG畫幅 統計圖像屬性 「托馬斯的文件助手」…

LeetCode 每日一題 2025/5/5-2025/5/11

記錄了初步解題思路 以及本地實現代碼&#xff1b;并不一定為最優 也希望大家能一起探討 一起進步 目錄 5/5 790. 多米諾和托米諾平鋪5/6 1920. 基于排列構建數組5/7 3341. 到達最后一個房間的最少時間 I5/8 3342. 到達最后一個房間的最少時間 II5/9 3343. 統計平衡排列的數目5…

pytest自動化測試執行環境切換的兩種解決方案

&#x1f345; 點擊文末小卡片&#xff0c;免費獲取軟件測試全套資料&#xff0c;資料在手&#xff0c;漲薪更快 一、痛點分析 在實際企業的項目中&#xff0c;自動化測試的代碼往往需要在不同的環境中進行切換&#xff0c;比如多套測試環境、預上線環境、UAT環境、線上環…

visual studio 2015 安裝閃退問題

參考鏈接&#xff1a; VS2012安裝時啟動界面一閃而過問題解決辦法 visual studio 2015 安裝閃退問題

RocketMQ Kafka區別

架構 ZooKeeper&#xff1a;管理 Broker 注冊、分區 Leader 選舉及消費者組狀態。Broker&#xff1a;存儲 Partition數據&#xff0c;每個 Partition 為獨立日志文件。Producer/Consumer&#xff1a;通過 ZooKeeper獲取路由信息&#xff0c;實現消息分發與消費。 NameServer&am…

MySQL進階篇2_SQL優化、鎖

文章目錄 1 SQL優化1.1插入數據優化1.2主鍵優化頁分裂頁合并主鍵設計原則 1.3order by設計優化1.4group by設計優化小理解 1.5limit設計優化順序IO和隨機IO小疑惑 1.6count設計優化1.7update優化關于隱式事務事務的DML操作 鎖全局鎖表級鎖表鎖元數據鎖意向鎖 行級鎖鎖的釋放條件…

如何測試 esp-webrtc-solution_solutions_doorbell_demo 例程?

軟件準備 esp-webrtc-solution/solutions/doorbell_demo 例程 此例程集成了 WebSocket 傳輸視頻流的應用 硬件準備 ESP32P4-Function-Ev-Board 環境搭建 推薦基于 esp-idf v5.4.1 版本的環境來編譯此例程 若編譯時出現依賴的組件報錯&#xff0c;可進行如下修改&#xff…

TransmittableThreadLocal:穿透線程邊界的上下文傳遞藝術

文章目錄 前言一、如何線程上下文傳遞1.1 ThreadLocal單線程1.2 InheritableThreadLocal的繼承困境1.3 TTL的時空折疊術 二、TTL核心設計解析2.1 時空快照機制2.2 裝飾器模式2.3 采用自動清理機制 三、設計思想啟示四、實踐啟示錄結語 前言 在并發編程領域&#xff0c;線程上下…

【數據結構】——棧

一、棧的概念和結構 棧其實就是一種特殊的順序表&#xff0c;其只允許在一端進出&#xff0c;就是棧的數據的插入和刪除只能在一端進行&#xff0c;進行數據的插入和刪除操作的一端稱為棧頂&#xff0c;另一端稱為棧底。棧中的元素遵循先進后出LIFO&#xff08;Last InFirst O…