<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      人工智能之編程基礎 Python 入門

      第五章 基礎數據類型(一)


      @


      前言

      本章節講述python的基礎數據類型,python的基礎數據類型主要包括以下

      • ?不可變數據(3 個):?Number(數字)、String(字符串)、Tuple(元組);

      • ?可變數據(3 個):?List(列表)、Dictionary(字典)、Set(集合)。


      Number(數字)

      number(數字)類型用于表示數值數據。Python 提供了多種內置的數字類型,主要包括:

      1. 整數 (int)

      int 類型用于表示整數,可以是正數、負數或零。Python 3 的 int 類型沒有大小限制(僅受限于可用內存),因此可以處理非常大的整數。

      特點:

      • 無大小限制
      • 可以用十進制、二進制、八進制或十六進制表示

      示例:

      # 十進制
      x = 42
      y = -17
      z = 0
      
      # 二進制 (以 0b 或 0B 開頭)
      binary_num = 0b1010  # 等于十進制的 10
      
      # 八進制 (以 0o 或 0O 開頭)
      octal_num = 0o17     # 等于十進制的 15
      
      # 十六進制 (以 0x 或 0X 開頭)
      hex_num = 0xFF       # 等于十進制的 255
      
      # 大整數
      big_num = 123456789012345678901234567890
      print(type(big_num))  # <class 'int'>
      

      2. 浮點數 (float)

      float 類型用于表示帶有小數點的數字(實數)。它們遵循 IEEE 754 雙精度浮點數標準,通常有大約 17 位有效數字。

      特點:

      • 有精度限制
      • 可能存在浮點數精度問題
      • 可以用科學計數法表示

      示例:

      # 普通浮點數
      pi = 3.14159
      temperature = -12.5
      price = 9.99
      
      # 科學計數法
      scientific = 1.5e-3    # 等于 0.0015
      large_float = 2.5e8    # 等于 250000000.0
      
      # 浮點數精度問題示例
      print(0.1 + 0.2)       # 輸出: 0.30000000000000004
      print(0.1 + 0.2 == 0.3) # 輸出: False
      
      # 使用 decimal 模塊解決精度問題
      from decimal import Decimal
      print(Decimal('0.1') + Decimal('0.2') == Decimal('0.3'))  # True
      

      3. 復數 (complex)

      complex 類型用于表示復數,形式為 a + bj,其中 a 是實部,b 是虛部,j 表示虛數單位(√-1)。

      特點:

      • 實部和虛部都是浮點數
      • 可以通過 .real.imag 屬性訪問實部和虛部

      示例:

      # 復數
      z1 = 3 + 4j
      z2 = -2.5 + 1.7j
      z3 = 5j           # 只有虛部
      z4 = 3.0 + 0j     # 只有實部
      
      # 訪問實部和虛部
      print(z1.real)    # 3.0
      print(z1.imag)    # 4.0
      
      # 復數運算
      z_sum = z1 + z2
      print(z_sum)      # (0.5+5.7j)
      
      # 獲取模長
      import cmath
      print(abs(z1))    # 5.0
      print(cmath.phase(z1))  # 獲取相位
      

      4. 布爾值 (bool)

      雖然 bool 類型通常被視為邏輯類型,但在 Python 中它是 int 的子類。TrueFalse 分別等價于整數 1 和 0。

      示例:

      # 布爾值
      is_active = True
      is_done = False
      
      # 布爾值是 int 的子類
      print(isinstance(True, int))  # True
      print(True + 1)              # 2
      print(False * 10)            # 0
      
      # 在條件語句中的使用
      if True:
          print("這總是會執行")
      
      if 1:
          print("非零數值被視為 True")
      

      5. 數字類型的轉換

      Python 提供了內置函數在不同數字類型之間進行轉換。

      轉換函數:

      # int() - 轉換為整數
      print(int(3.7))      # 3 (向零取整)
      print(int("42"))     # 42
      print(int(True))     # 1
      
      # float() - 轉換為浮點數
      print(float(42))     # 42.0
      print(float("3.14")) # 3.14
      print(float(True))   # 1.0
      
      # complex() - 轉換為復數
      print(complex(3, 4)) # (3+4j)
      print(complex("2+3j")) # (2+3j)
      

      6. 數字類型的檢查和操作

      # 檢查類型
      x = 42
      y = 3.14
      z = 2 + 3j
      
      print(type(x))  # <class 'int'>
      print(type(y))  # <class 'float'>
      print(type(z))  # <class 'complex'>
      
      # isinstance() 檢查
      print(isinstance(x, int))      # True
      print(isinstance(y, float))    # True
      print(isinstance(z, complex))  # True
      
      # 常用數學運算
      a, b = 10, 3
      print(a + b)   # 13
      print(a - b)   # 7
      print(a * b)   # 30
      print(a / b)   # 3.333... (結果總是 float)
      print(a // b)  # 3 (整除)
      print(a % b)   # 1 (取余)
      print(a ** b)  # 1000 (冪運算)
      

      7. 內置數學函數

      Python 提供了許多內置的數學函數:

      # 基本數學函數
      print(abs(-5))        # 5
      print(round(3.14159, 2))  # 3.14
      print(pow(2, 3))      # 8
      print(max(1, 5, 3))   # 5
      print(min(1, 5, 3))   # 1
      
      # 需要導入 math 模塊
      import math
      
      print(math.pi)        # 3.141592653589793
      print(math.e)         # 2.718281828459045
      print(math.sqrt(16))  # 4.0
      print(math.floor(3.7)) # 3
      print(math.ceil(3.2))  # 4
      print(math.log(10))    # 自然對數
      print(math.log10(100)) # 以10為底的對數
      

      String(字符串)

      字符串(String) 在python中是一種用于表示文本數據的基本數據類型。字符串是由一系列字符組成的不可變序列。


      1. 字符串的創建

      Python 中有多種方式創建字符串:

      # 使用單引號
      s1 = 'Hello World'
      
      # 使用雙引號
      s2 = "Hello World"
      
      # 使用三重引號(可以跨行)
      s3 = """這是一個
      多行字符串"""
      
      s4 = '''也可以
      這樣寫'''
      
      # 空字符串
      empty_str = ""
      

      ?注意?:單引號和雙引號功能相同,選擇一種風格并保持一致。三重引號常用于文檔字符串(docstring)或多行文本。


      2. 字符串的特性

      • ?不可變性(Immutable)?:字符串一旦創建就不能被修改。任何“修改”操作實際上都會創建一個新的字符串對象。
      • ?有序性(Ordered)?:字符串中的字符有固定的順序,可以通過索引訪問。
      • ?可迭代(Iterable)?:可以使用 for 循環遍歷字符串中的每個字符。

      3. 字符串索引與切片

      索引(Indexing)

      text = "Python"
      print(text[0])    # P (第一個字符)
      print(text[-1])   # n (最后一個字符)
      print(text[5])    # n
      

      切片(Slicing)

      語法:string[start:end:step]

      text = "Hello World"
      
      # 基本切片
      print(text[0:5])      # Hello (索引0到4)
      print(text[6:])       # World (從索引6到末尾)
      print(text[:5])       # Hello (從開頭到索引4)
      
      # 步長
      print(text[::2])      # HloWrd (每隔一個字符)
      print(text[::-1])     # dlroW olleH (反轉字符串)
      
      # 負索引切片
      print(text[-5:])      # World
      

      4. 字符串的常用操作

      拼接(Concatenation)

      # 使用 + 操作符
      greeting = "Hello" + " " + "World"
      
      # 使用 join() 方法(推薦,效率更高)
      words = ["Hello", "Beautiful", "World"]
      sentence = " ".join(words)  # "Hello Beautiful World"
      

      重復

      repeat = "Ha" * 3  # "HaHaHa"
      

      長度

      length = len("Python")  # 6
      

      5. 常用字符串方法

      Python 提供了豐富的內置方法來操作字符串:

      text = "  Hello World  "
      
      # 大小寫轉換
      print(text.upper())           # "  HELLO WORLD  "
      print(text.lower())           # "  hello world  "
      print(text.capitalize())      # "  hello world  " -> "  hello world  " (首字母大寫)
      print(text.title())           # "  Hello World  "
      
      # 去除空白
      print(text.strip())           # "Hello World"
      print(text.lstrip())          # "Hello World  " (左)
      print(text.rstrip())          # "  Hello World" (右)
      
      # 查找與替換
      print(text.find("World"))     # 8 (找到的索引,未找到返回-1)
      print(text.replace("World", "Python"))  # "  Hello Python  "
      
      # 判斷方法
      print("Hello".isalpha())      # True (是否全是字母)
      print("123".isdigit())        # True (是否全是數字)
      print("hello".startswith("he")) # True
      print("world".endswith("ld"))   # True
      
      # 分割與合并
      sentence = "apple,banana,orange"
      fruits = sentence.split(",")  # ['apple', 'banana', 'orange']
      
      joined = "-".join(["a", "b", "c"])  # "a-b-c"
      

      6. 字符串格式化

      1. f-string(推薦,Python 3.6+)

      name = "Alice"
      age = 25
      message = f"我的名字是 {name},今年 {age} 歲。"
      print(message)  # 我的名字是 Alice,今年 25 歲。
      

      2. .format() 方法

      message = "我的名字是 {},今年 {} 歲。".format(name, age)
      message = "我的名字是 {n},今年 {a} 歲。".format(n=name, a=age)
      

      3. % 格式化(較老的方式)

      message = "我的名字是 %s,今年 %d 歲。" % (name, age)
      

      7. 轉義字符

      使用反斜杠 \ 來表示特殊字符:

      轉義字符 含義
      \\ 反斜杠
      \' 單引號
      \" 雙引號
      \n 換行
      \t 制表符
      \r 回車
      print("Hello\nWorld")   # 換行
      print("He said: \"Hello\"")  # He said: "Hello"
      print("C:\\Users\\Name")     # 路徑
      

      ?原始字符串(Raw String)?:在字符串前加 r,忽略轉義字符。

      path = r"C:\Users\Name\Documents"  # 不需要雙寫反斜杠
      

      8. 字符串的不可變性示例

      text = "Hello"
      # text[0] = "h"  # ? 錯誤!字符串不可變
      
      # 正確的做法是創建新字符串
      new_text = "h" + text[1:]  # "hello"
      

      9. 實用技巧

      遍歷字符串

      for char in "Python":
          print(char)
      

      檢查子字符串

      if "hello" in "hello world":
          print("找到了!")
      

      統計字符

      text = "hello"
      print(text.count("l"))  # 2
      

      Tuple(元組)

      在 Python 中,元組(Tuple) 是一種有序、不可變的序列數據類型。它與列表(List)非常相似,但最大的區別在于?一旦創建,元組的內容不能被修改?。


      1. 元組的創建

      元組可以通過以下幾種方式創建:

      # 使用圓括號 ()
      t1 = (1, 2, 3, 4, 5)
      t2 = ("apple", "banana", "cherry")
      t3 = (1, "hello", 3.14, True)
      
      # 單個元素的元組需要加逗號
      single = (42,)  # 注意逗號,否則會被當作普通括號
      print(type(single))  # <class 'tuple'>
      
      # 省略括號(但不推薦,可讀性差)
      t4 = 1, 2, 3
      print(type(t4))  # <class 'tuple'>
      
      # 空元組
      empty_tuple = ()
      
      # 使用 tuple() 構造函數
      t5 = tuple([1, 2, 3])      # 從列表創建
      t6 = tuple("hello")        # 從字符串創建 -> ('h', 'e', 'l', 'l', 'o')
      

      2. 元組的特性

      特性 說明
      有序(Ordered) 元素有固定的順序,可以通過索引訪問
      不可變(Immutable) 一旦創建,不能添加、刪除或修改元素
      可重復(Allow Duplicates) 可以包含重復的元素
      可哈希(Hashable) 如果元組中的所有元素都是不可變的,那么元組本身是可哈希的,可以用作字典的鍵或集合的元素

      3. 元組的訪問

      索引(Indexing)

      t = (10, 20, 30, 40, 50)
      print(t[0])    # 10
      print(t[-1])   # 50 (最后一個)
      

      切片(Slicing)

      print(t[1:4])    # (20, 30, 40)
      print(t[::2])    # (10, 30, 50)
      print(t[::-1])   # (50, 40, 30, 20, 10) 反轉
      

      4. 元組的操作

      拼接(Concatenation)

      t1 = (1, 2)
      t2 = (3, 4)
      t3 = t1 + t2  # (1, 2, 3, 4)
      

      重復

      t = (1, 2) * 3  # (1, 2, 1, 2, 1, 2)
      

      成員檢查

      if 2 in t:
          print("2 在元組中")
      

      長度

      length = len(t)  # 獲取元組長度
      

      5. 元組的常用方法

      由于元組不可變,它的方法很少:

      t = (1, 2, 3, 2, 4, 2)
      
      # count() - 統計某個元素出現的次數
      print(t.count(2))  # 3
      
      # index() - 查找元素第一次出現的索引
      print(t.index(3))  # 2
      # print(t.index(99))  # ValueError: tuple.index(x): x not in tuple
      

      6. 元組的解包(Unpacking)

      元組解包是 Python 中非常強大和常用的功能。

      # 基本解包
      coordinates = (3, 4)
      x, y = coordinates
      print(x, y)  # 3 4
      
      # 函數返回多個值
      def get_name_age():
          return "Alice", 25
      
      name, age = get_name_age()
      
      # 忽略某些值
      data = (1, 2, 3, 4, 5)
      a, b, *rest = data  # a=1, b=2, rest=[3,4,5]
      print(rest)  # [3, 4, 5]
      
      # 只取首尾
      first, *middle, last = (1, 2, 3, 4, 5)
      print(first, middle, last)  # 1 [2, 3, 4] 5
      

      7. 元組的應用場景

      1. 作為字典的鍵
      # ? 元組可以作為字典的鍵
      locations = {
          (0, 0): "原點",
          (3, 4): "點A",
          (-1, 2): "點B"
      }
      
      1. 函數返回多個值
      def min_max(numbers):
          return min(numbers), max(numbers)
      
      minimum, maximum = min_max([1, 2, 3, 4, 5])
      
      1. 數據保護
      # 防止意外修改
      days_of_week = ("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday")
      # days_of_week[0] = "Mon"  # ? 會報錯,保護數據
      
      1. 格式化字符串
      print("坐標: %d, %d" % (3, 4))
      

      8. 注意事項

      • ?不可變性是淺層的?:如果元組包含可變對象(如列表),那么該對象的內容仍然可以被修改。
      t = (1, [2, 3], 4)
      t[1].append(5)  # ? 允許,因為修改的是列表
      print(t)        # (1, [2, 3, 5], 4)
      
      # t[1] = [2, 3, 4]  # ? 不允許,因為要替換元組元素
      

      總結

      本文主要對python的基本數據類型中的不可變數據類型進行相關的學習,下章節針對可變數據類型繼續相關的學習。希望大家一起努力學習,掌握基礎才能更深的靈活運用后期的人工智能的實踐工作。

      資料關注

      相關資料全部免費獲取:
      歡迎關注公眾號:咚咚王

      藝術二維碼.png

      《Python編程:從入門到實踐》
      《利用Python進行數據分析》
      《算法導論中文第三版》
      《概率論與數理統計(第四版) (盛驟) 》
      《程序員的數學》
      《線性代數應該這樣學第3版》
      《微積分和數學分析引論》
      《(西瓜書)周志華-機器學習》
      《TensorFlow機器學習實戰指南》
      《Sklearn與TensorFlow機器學習實用指南》
      《模式識別(第四版)》
      《深度學習 deep learning》伊恩·古德費洛著 花書
      《Python深度學習第二版(中文版)【純文本】 (登封大數據 (Francois Choliet)) (Z-Library)》
      《深入淺出神經網絡與深度學習+(邁克爾·尼爾森(Michael+Nielsen) 》
      《自然語言處理綜論 第2版》
      《Natural-Language-Processing-with-PyTorch》
      《計算機視覺-算法與應用(中文版)》
      《Learning OpenCV 4》
      《AIGC:智能創作時代》杜雨+&+張孜銘
      《AIGC原理與實踐:零基礎學大語言模型、擴散模型和多模態模型》
      《從零構建大語言模型(中文版)》
      《實戰AI大模型》
      《AI 3.0》

       posted on 2025-11-01 14:50  咚咚王者  閱讀(125)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 九九热精品在线视频观看| 亚洲乱亚洲乱妇50p| 亚洲爆乳成av人在线视菜奈实| 亚洲熟妇一区二区三个区| 久久人人97超碰精品| 成人啪啪高潮不断观看| 国产稚嫩高中生呻吟激情在线视频 | аⅴ天堂中文在线网| 国产太嫩了在线观看| 一级片一区二区中文字幕| 国产69精品久久久久777| 国产精品一区二区三区污| 精选国产av精选一区二区三区| 一区二区三区午夜无码视频| 熟女少妇精品一区二区| 国产91成人亚洲综合在线| 国产精品天干天干综合网| 丰满人妻熟妇乱又仑精品| 免费费很色大片欧一二区| 亚洲最新无码中文字幕久久| 少妇爽到呻吟的视频| 日韩中文字幕高清有码| 波多野结衣乳喷高潮视频| 久色伊人激情文学你懂的| 一本精品中文字幕在线| 国产激情艳情在线看视频| 四虎永久在线精品免费看| 亚洲韩国精品无码一区二区三区| 青青草成人免费自拍视频| 99国产精品永久免费视频| 一本一道av无码中文字幕麻豆| 国产乱理伦片在线观看| 亚洲人成亚洲人成在线观看| 亚洲精品国产男人的天堂| 国产亚洲欧美精品久久久| 亚洲精品一区二区三区综合| 亚洲欧美色一区二区三区| 亚洲性日韩精品一区二区| 欧美xxxx做受欧美.88| 一区二区三区精品不卡| 老熟女熟妇一区二区三区|