Python學習(2) ----- Python的類型

在 Python 中,一切皆對象,每個對象都有類型。下面是 Python 中的常見內置類型分類和示例:


🟡 1. 數字類型(Numeric Types)

類型說明示例
int整數5, -42
float浮點數3.14, -0.5
complex復數1 + 2j
a = 10        # int
b = 3.14      # float
c = 2 + 3j    # complex

🔤 2. 文本類型

類型說明示例
str字符串"hello"'你好' 單引號或者雙引號,如果涉及到換行的可以使用三雙引號 “”" “”"
s = "Hello, 世界"
s = """
!!!
this is template!!!
!!!
"""

📦 3. 序列類型(Sequence Types)

類型說明示例
list可變列表[1, 2, 3]
tuple不可變元組(1, 2, 3)
range范圍對象range(0, 5)
my_list = [1, 2, 3]
my_tuple = (4, 5, 6)

🔡 4. 集合類型

類型說明示例
set無序不重復集合{1, 2, 3}
frozenset不可變集合frozenset([1,2])
my_set = {1, 2, 3}

📖 5. 映射類型(Mapping)

類型說明示例
dict字典{"name": "Alice", "age": 30}
person = {"name": "Alice", "age": 25}

🔘 6. 布爾類型

類型說明示例
bool布爾值(真/假)True, False
is_valid = True

🧼 7. 特殊類型

類型說明示例
NoneType空值/無返回None
bytes二進制數據b"abc"
bytearray可變二進制序列bytearray(b"abc")

? 類型檢查與轉換

檢查類型:

type(3.14)          # <class 'float'>
isinstance("abc", str)  # True

類型轉換:

int("123")        # => 123
float("3.14")     # => 3.14
str(456)          # => "456"
list("abc")       # => ['a', 'b', 'c']

💡 拓展:自定義類型(類)

class Dog:def __init__(self, name):self.name = named = Dog("Buddy")
print(type(d))  # <class '__main__.Dog'>

集合類型的詳細操作

當然可以!以下是包括集合類型的定義、添加、刪除操作在內的 Python 集合類型完整說明,幫助你全面理解集合(setfrozenset)的使用:


🧩 Python 集合類型(Set Types)完整說明


🔹 1. set(可變集合)

? 定義:

my_set = {1, 2, 3}
my_set2 = set([4, 5, 6])  # 使用 set() 構造

? 添加元素:

方法說明示例
add(elem)添加一個元素my_set.add(4)
update(iterable)添加多個元素(可傳列表、元組等)my_set.update([5, 6, 7])
my_set = {1, 2, 3}
my_set.add(4)               # => {1, 2, 3, 4}
my_set.update([5, 6])       # => {1, 2, 3, 4, 5, 6}

? 刪除元素:

方法說明示例
remove(elem)刪除元素,不存在則拋出異常my_set.remove(2)
discard(elem)刪除元素,不存在也不會拋異常my_set.discard(100)
pop()隨機刪除一個元素并返回它val = my_set.pop()
clear()清空集合my_set.clear()
my_set = {1, 2, 3, 4}
my_set.remove(2)       # => {1, 3, 4}
my_set.discard(100)    # 不報錯
value = my_set.pop()   # 刪除并返回任一元素
my_set.clear()         # => 空集合 set()

🔹 2. frozenset(不可變集合)

? 定義:

fset = frozenset([1, 2, 3])

?? 不可修改:

  • 不支持 .add().remove().update() 等修改操作。
  • 可以用于字典的鍵或集合的元素(因為它是可哈希的)。

🧠 3. 集合的特點總結

  • 自動去重:{1, 2, 2, 3} 會變成 {1, 2, 3}
  • 元素無序:無法通過索引訪問,如 set[0] 是錯誤的
  • 可進行集合運算(交、并、差等)
a = {1, 2, 3}
b = {3, 4, 5}print(a | b)  # 并集 => {1, 2, 3, 4, 5}
print(a & b)  # 交集 => {3}
print(a - b)  # 差集 => {1, 2}

? 小結

操作可變 set不可變 frozenset
添加元素? .add() / .update()? 不支持
刪除元素? .remove() / .discard() / .pop() / .clear()? 不支持
集合運算? 支持? 支持
可做字典鍵?? 支持

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

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

相關文章

跨協議協同智造新實踐:DeviceNet-EtherCAT網關驅動汽車焊接裝配效能躍遷

在汽車制造領域&#xff0c;機器人協作對于提升生產效率與產品質量至關重要。焊接、裝配等關鍵環節&#xff0c;需要機器人與各類設備緊密配合。JH-DVN-ECT疆鴻智能的devicenet從站轉ethercat主站協議網關&#xff0c;成為實現這一高效協作的得力助手&#xff0c;尤其是在連接歐…

nginx之proxy_buffering的作用

Nginx 的緩沖機制是為了讓后端能更快釋放資源&#xff0c;而不是卡在慢客戶端上&#xff0c;從而提升整體性能和并發能力。 現實中客戶端和后端服務器之間的傳輸速率可能差異很大。Nginx 的緩沖機制正是為了解決這個不匹配問題。 假設沒有緩沖&#xff08;即 proxy_buffering…

數據庫相關問題

1.保留字 1.1錯誤案例&#xff08;2025/5/27&#xff09; 報錯&#xff1a; java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near condition, sell…

GO 語言進階之 進程 OS與 編碼,數據格式轉換

更多個人筆記見&#xff1a; github個人筆記倉庫 gitee 個人筆記倉庫 個人學習&#xff0c;學習過程中還會不斷補充&#xff5e; &#xff08;后續會更新在github上&#xff09; 文章目錄 進程信息OS操作基本例子 編碼相關HASH 哈希Base64 encoding 基礎64編碼 數據格式轉換和處…

如何用Spring Cache實現對Redis的抽象

我們在進行Java項目開發時候&#xff0c;經常會用到Redis緩存例如數據庫里的一些信息、手機驗證碼之類的&#xff0c;正常寫法就會像去連mysql一樣&#xff0c;這種硬編碼的方式肯定是非常不合適的。 Autowireprivate UserMapper userMapper;Autowireprivate StringCommand str…

CMake指令:file()

目錄 1.簡介 2.常用子命令&#xff08;COMMAND&#xff09; 2.1.COPY - 復制文件或目錄 2.2.RENAME - 重命名文件或目錄 2.3.REMOVE - 刪除文件或目錄 2.4.MAKE_DIRECTORY - 創建目錄 2.5.READ - 讀取文件內容 2.6.WRITE - 寫入文件內容 2.7.GLOB - 按模式匹配文件 2…

使用VuePress開發日志

結合官方教程&#xff0c;補充一些細節。 快速上手 | VuePress中文文檔 | VuePress中文網 VuePress使用步驟 創建并進入一個新目錄 mkdir vuepress-starter && cd vuepress-starter使用你喜歡的包管理器進行初始化 yarn init # npm init將 VuePress 安裝為本地依賴 …

隨手記錄7

2025年5月26日~2025年6月01日 周一&#xff1a;沒做 周二&#xff1a;芹菜炒雞蛋香腸 周三&#xff1a; 周四&#xff1a; 周五&#xff1a; 周六&#xff1a; 周日&#xff1a;

【無標題】使用JEasyOpc開發OPCDA采集中間件

使用JEasyOpc開發OPCDA采集中間件 1.JEasyOpc下載2.修改JEasyOpc源碼及打包安裝3.Pom 引入jeasy2.3.2.jar4.maven pom 配置打包5.cmd執行&#xff08;手動指定 main主程序入口&#xff09;6.EXE4J打包jar包&#xff0c;生成exe可執行文件 1.JEasyOpc下載 jeasyopc源碼下載&…

5 WPF中的Page頁面的使用

以下是一個簡單的WPF示例&#xff0c;演示如何在三個Page之間進行導航切換&#xff0c;使用Frame控件作為導航容器&#xff0c;并包含基本的導航按鈕&#xff08;前進/后退/主頁&#xff09; Page類更簡單&#xff0c;比Window更精簡。 代碼見下文以及資源文件&#xff1a; htt…

基于51單片機的音樂盒點陣屏proteus仿真

地址&#xff1a; https://pan.baidu.com/s/1hYzg2icjHV8jWJdltJkKxw 提取碼&#xff1a;1234 仿真圖&#xff1a; 芯片/模塊的特點&#xff1a; AT89C52/AT89C51簡介&#xff1a; AT89C51 是一款常用的 8 位單片機&#xff0c;由 Atmel 公司&#xff08;現已被 Microchip 收…

圖論:floyed算法

Floyd 算法是一種用于尋找加權圖中所有頂點對之間最短路徑的經典算法&#xff0c;它能夠處理負權邊&#xff0c;但不能處理負權環。即如果邊權有負數&#xff0c;切負權邊與其他邊構成了環就不能用該算法。該算法的時間復雜度為 \(O(V^3)\)&#xff0c;其中 V 是圖中頂點的數量…

STM32之看門狗(IWDG)

一、看門狗外設的原理與應用 背景說明 隨著單片機的發展&#xff0c;單片機在家用電器、工業自動化、生產過程控制、智能儀器儀表等領域的應用越來越廣泛。然而處于同一電力系統中的各種電氣設備通過電或磁的聯系彼此緊密相連&#xff0c;相互影響&#xff0c;由于運行方式的…

#RabbitMQ# 消息隊列進階

目錄 消息可靠性 一 生產者的可靠性 1 生產者的重連 2 生產者的確認 (1 Confirm* (2 Return 二 MQ的可靠性 1 數據持久化 2 Lazy Queue* 三 消費者的可靠性 1 消費者確認機制 2 消費失敗處理 3 業務冪等性 四 延遲消息 消息可靠性 在消息隊列中&#xff0c;可靠性…

《計算機組成原理》第 10 章 - 控制單元的設計

目錄 10.1 組合邏輯設計 10.1.1 組合邏輯控制單元框圖 10.1.2 微操作的節拍安排 10.1.3 組合邏輯設計步驟 10.2 微程序設計 10.2.1 微程序設計思想的產生 10.2.2 微程序控制單元框圖及工作原理 10.2.3 微指令的編碼方式 1. 直接編碼&#xff08;水平型&#xff09; 2.…

AstroNex空間任務智能控制研究與訓練數據集

數據集概述 AstroNex空間任務智能控制研究與訓練數據集是朗迪鋒科技基于Multiverse平臺精心打造的首個全面覆蓋航天器智能控制全周期的綜合數據集產品。該數據集匯集了軌道動力學、姿態控制、機器視覺、環境感知等多維度數據&#xff0c;為航天器智能算法研發提供豐富的訓練與…

??3D 幾何建模工具庫?Open CASCADE(OCCT)簡單介紹。

??Open CASCADE&#xff08;OCCT&#xff09;?? 的新手&#xff0c;我會用最簡單的方式幫你理解它是什么、能做什么&#xff0c;以及如何快速上手。 ??1. OCCT 是什么&#xff1f;?? ??一句話定義??&#xff1a;OCCT 是一個開源的 ??3D 幾何建模工具庫??&…

[7-1] ADC模數轉換器 江協科技學習筆記(14個知識點)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 DMA&#xff08;Direct Memory Access&#xff0c;直接內存訪問&#xff09;是一種硬件特性&#xff0c;它允許某些硬件子系統直接訪問系統的內存&#xff0c;而無需CPU的介入。這樣&#xff0c;CPU就可以處理其他任務&#xff0c;從而提高系…

篇章三 基礎——不可變類

目錄 1.是什么 2.為什么 3.怎么做 4.構造詳細的不可變類示例: 5.補充 5.1 Java標準庫中的不可變類 5.2 構造不可變類進階 1.對象包含嵌套的引用類型字段 2. 大型對象采用不可變類時,需考慮性能影響。 2.1 內存占用問題 2.2 垃圾回收壓力 2.3 復制開銷 2.4 優化策…

cuda ncu section 含義解釋

NVIDIA Nsight Compute (NCU) 是用于分析 CUDA 程序性能的工具&#xff0c;通過 Sections 組織性能指標。用戶提供的 24 個 Sections 涵蓋了計算、內存、調度、互連和可視化等方面。本報告詳細解釋每個 Section 的含義、用途及相關分析場景。 Sections 詳細解析 C2CLink 含義&…