Python3 數據類型詳解:掌握數據基石,編寫高效程序

Python3 中的基本數據類型包括整數(int)、浮點數(float)、布爾值(bool)、字符串(str)、列表(list)、元組(tuple)、集合(set)和字典(dict)。這些數據類型在 Python 中被廣泛應用,并且具有各自特定的用途和特點。

整數(int)

整數是 Python 中表示整數數字的數據類型。整數可以是正數、負數或零,沒有數值的大小限制。

浮點數(float)

浮點數用于表示帶有小數點的數字,如 3.14 或 -0.001。在 Python 中,浮點數采用 IEEE 754 標準表示,因此具有一定的精度限制。

布爾值(bool)

布爾值用于表示邏輯真(True)或邏輯假(False)。布爾值通常用于條件判斷和邏輯運算中。

字符串(str)

字符串是一系列字符的集合,可以使用單引號(’ ')或雙引號(" ")表示。字符串是不可變對象,可以進行各種操作,如拼接、切片、替換等。

列表(list)

列表是 Python 中最常用的數據類型之一,用于存儲一系列有序的元素。列表使用方括號([ ])表示,可以包含任意類型的元素,且允許元素重復。

元組(tuple)

元組與列表類似,也是用于存儲一系列有序的元素,但是元組是不可變的對象,使用圓括號(( ))表示。元組適合存儲不可變的數據集合,如日期、坐標等。

集合(set)

集合是一種無序且不重復的集合,用于存儲唯一的元素。集合使用花括號({ })表示,可以進行交集、并集、差集等操作。

字典(dict)

字典是一種鍵值對的集合,用于存儲鍵值對的映射關系。字典使用花括號({ })表示,每個鍵值對之間用逗號(,)分隔,鍵值對之間是無序的。字典中的鍵必須是唯一的,但值可以重復。

基本語法

Python 中定義基本數據類型的語法非常簡單:

# 定義整數類型
num = 10# 定義浮點數類型
pi = 3.14# 定義布爾值類型
is_true = True# 定義字符串類型
name = 'Alice'# 定義列表類型
my_list = [1, 2, 3, 4, 5]# 定義元組類型
my_tuple = (1, 2, 3)# 定義集合類型
my_set = {1, 2, 3, 4, 5}# 定義字典類型
my_dict = {'name': 'Alice', 'age': 25}

應用場景

整數、浮點數和布爾值
  • 整數(int):用于表示整數,如 1, 100, -10
  • 浮點數(float):用于表示帶小數部分的數字,如 3.14, -0.01, 2.0
  • 布爾值(bool):用于表示真(True)或假(False)的值。

這些基本數據類型通常用于數值計算、條件判斷和邏輯運算等。在進銷存系統中,整數和浮點數常用于表示商品數量、價格等數據,布爾值常用于邏輯判斷和條件控制。

字符串
  • 字符串(str):用于表示文本信息的序列,如 'hello', "world", '123'

字符串常用于表示文本信息、文件操作和字符串處理等。在進銷存系統中,字符串可以用于表示商品名稱、客戶信息等文本數據。

列表、元組和集合
  • 列表(list):用于存儲一組數據,數據可以是不同類型的元素,并且可以進行增刪改查等操作。
  • 元組(tuple):類似于列表,但是元組是不可變的,一旦創建就不能修改。
  • 集合(set):用于存儲一組唯一的元素,集合中的元素是無序的,且不重復。

列表、元組和集合常用于存儲一組數據,并進行遍歷、查找、添加和刪除等操作。在進銷存系統中,可以使用列表存儲商品信息、銷售記錄等數據。

字典
  • 字典(dict):用于存儲鍵值對的映射關系,適合用于構建數據字典、配置文件和數據傳遞等。

字典常用于存儲鍵值對的映射關系,其中鍵是唯一的且不可變的,值可以是任意類型的數據。在進銷存系統中,字典可以用于存儲商品信息,其中商品編號作為鍵,商品名稱、價格等信息作為值。

進銷存示例

在一個進銷存系統中,我們可以使用以上基本數據類型來存儲和處理各種數據:

  • 整數和浮點數:用于表示商品的數量、價格、銷售額等數值數據。
  • 布爾值:用于表示訂單狀態、庫存狀態等邏輯信息。
  • 字符串:用于表示商品名稱、客戶信息、訂單號等文本信息。
  • 列表和元組:用于存儲商品列表、訂單詳情等數據集合。
  • 字典:用于構建商品信息字典、客戶信息字典等數據結構。

例如,我們可以使用以下代碼來表示一個銷售訂單:

order = {'order_id': '20220508001','customer': 'Alice','products': ['Apple', 'Banana', 'Orange'],'quantities': [5, 10, 8],'unit_prices': [2.5, 1.8, 3.0],'total_price': 57.0,'is_paid': True,'is_shipped': False
}

在這個示例中,我們使用了字符串、列表、字典等數據類型來表示銷售訂單的各個信息,從訂單號、顧客姓名到商品列表、數量、單價等詳細信息都有所體現。

注意事項

字符串是不可變對象

在Python中,字符串是不可變對象,這意味著一旦創建了字符串,就無法直接修改其內容。每次對字符串進行修改操作時,都會創建一個新的字符串對象,而原始字符串對象保持不變。

str1 = "hello"
str2 = str1.upper()  # 創建一個新的字符串對象
print(str1)  # 輸出:hello
print(str2)  # 輸出:HELLO
列表和字典是可變對象

列表和字典是Python中的可變對象,可以進行增刪改查等操作。但要注意,對列表和字典的修改操作可能會影響其他部分代碼的執行邏輯。

# 列表示例
my_list = [1, 2, 3]
my_list.append(4)  # 添加元素4
print(my_list)  # 輸出:[1, 2, 3, 4]# 字典示例
my_dict = {'a': 1, 'b': 2}
my_dict['c'] = 3  # 添加鍵值對
print(my_dict)  # 輸出:{'a': 1, 'b': 2, 'c': 3}
集合中元素的唯一性

集合是Python中的一種數據結構,用于存儲一組唯一的元素。在使用集合時,要注意集合中元素的唯一性,避免出現重復元素。

my_set = {1, 2, 3, 3, 4}  # 創建集合,注意重復元素會被自動去重
print(my_set)  # 輸出:{1, 2, 3, 4}
字典鍵的唯一性

在使用字典時,要確保鍵的唯一性,否則可能會導致數據覆蓋或混亂的情況。

my_dict = {'a': 1, 'b': 2, 'a': 3}  # 注意鍵'a'重復
print(my_dict)  # 輸出:{'a': 3, 'b': 2},鍵'a'的值被覆蓋為3

進銷存示例

在進銷存系統中,我們經常會遇到需要處理字符串、列表和字典等數據類型的情況,例如:

  • 使用字符串表示商品名稱、訂單號、客戶姓名等文本信息。
  • 使用列表存儲商品列表、訂單詳情等數據集合。
  • 使用字典表示商品信息、客戶信息等數據結構。
# 示例:使用字典存儲商品信息
product_info = {'product_id': 'P001','name': 'Apple','price': 2.5,'stock': 100
}# 示例:使用列表存儲訂單詳情
order_details = [{'product_id': 'P001', 'quantity': 5},{'product_id': 'P002', 'quantity': 10},{'product_id': 'P003', 'quantity': 8}
]

在這個示例中,我們使用了字符串、列表和字典等數據類型來表示商品信息和訂單詳情等數據,從而實現了進銷存系統中的數據存儲和處理功能。

總結

Python 中的基本數據類型包括整數、浮點數、布爾值、字符串、列表、元組、集合和字典。這些數據類型在 Python 編程中扮演著重要的角色,應用廣泛,具有各自特定的用途和特點。熟練掌握這些數據類型及其使用方法,對于編寫高效、可靠的 Python 程序至關重要。

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

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

相關文章

JAVA static注入 Util使用之Service注入

一般在Util等靜態方法中調用Service或mapper,初始化后會出現空指針異常:java.lang.NullPointerException。 代碼執行優先級的問題,在一個Java類中,存在著靜態代碼塊,靜態方法,構造函數,成員方法等等。不同…

golang中的類和接口

類 在 Go 語言中并沒有類的概念,而是使用結構體來實現面向對象的特性。通過 type 關鍵字可以定義自定義類型,包括結構體類型。下面是一個簡單的示例: package mainimport "fmt"// 定義一個結構體類型 type Person struct {Name s…

只對外公開必要的信息和步驟

隱藏內部結構 使對象的內部結構對外部不可見的內容的處理被稱為封裝化。只公開方法等使用者所需要的最低限度的接口,使用者只能通過外部接口進行訪問。如此一來,使用該類的程序就無須知道其內部的具體實現。 通過封裝化,不僅可以防止調用者…

Node.js安裝及環境配置(超詳細!保姆級!!)

目錄 一、進入官網地址下載安裝包 二、安裝程序 三、環境配置 四、測試 五、安裝淘寶鏡像 一、進入官網地址下載安裝包 Node.js — Download Node.js (nodejs.org) 選擇對應你系統的 node.js 版本,我選擇的是Windows系統,64位 點擊圖中選項&#…

無人機+應急通信:災害現場應急通信車技術詳解

無人機和應急通信車是災害現場應急通信中的重要技術。無人機可以通過快速到達災害現場,搭載高清攝像頭、紅外熱成像儀、激光雷達等設備,對災區進行實時監測和災情評估,同時也可以通過搭載的通信設備,與指揮中心進行實時通信和數據…

APP逆向實現方式總覽

方式一:硬核分析 梳理出參數的構造邏輯,代碼還原算法 方式二:模擬執行 2.1 Frida-RPC 電腦調用已加載到手機內存中的方法,直接獲取到結果 2.2 AndServer-RPC 安卓程序調用手機中的方法,最后暴露成HTTP服務供電腦…

?什么是排他鎖、共享鎖、意向鎖

共享鎖 共享鎖,又被稱為讀鎖,是由讀取操作所創建的一種鎖。在此期間,其他用戶可以同時讀取數據,但在數據上未釋放所有共享鎖之前,任何事務均無法對其進行修改(即獲取數據的排他鎖)。 一旦事務…

202009青少年軟件編程(Python)等級考試試卷(三級)

第 1 題 【單選題】 通過算式123122021120可將二進制1101 轉為十進制,下列進制轉換結果正確的是?( ) A :0b10轉為十進制,結果是2 B :0d10轉為十進制,結果是8 C :0x10轉為十進制,結果是10 D :0o10轉為十進制,結果是16 正確答案:A 試題解析: 第 2 題 【單選題】 語句flo…

基于Nios-II實現流水燈

文章目錄 一、新建項目1、選擇芯片2、Qsys設計2.1、點擊Platform Designer2.2配置軟核2.3其他設置 3、Quartus設計3.1添加原理圖3.2添加qip文件3.3其他設置3.4驅動設置 4、Nios-II Eslipse設計參考 一、新建項目 使用的Quartus 18.0及以上版本 1、選擇芯片 2、Qsys設計 2.1、點…

【AIGC調研系列】你好-GPT-4o

GPT-4o是OpenAI最新發布的一款人工智能模型,它具備處理和生成文本、音頻和圖像的能力。這個模型的特點是能夠實時對這些不同類型的輸入進行推理和響應,這使得它在多模態交互方面表現出色[1][2][3]。 GPT-4o的“o”代表“omni”,意味著它是一…

【復試分數線】綜合性985歷年分數線匯總(第四彈)

國家線和34所自劃線 可以看作是考研上岸最最最基礎的門檻。真正決定你能不能進入復試的還要看院線(復試分數線)!今天我將分析考信號的除C9、工科類985的其他7所985近三年復試分數線(不包括2024),大家可以參…

Azure IoT Hub是啥

1.概要說明 Azure IoT Hub是微軟在物聯網(IoT)領域提供的一款重要產品,為設備連接和管理提供了專業的解決方案。以下是關于Azure IoT Hub的詳細介紹: 定義:Azure IoT Hub是一個專為連接和管理數百萬臺物聯網設備而設計…

flutter開發實戰-人臉識別相機使用

flutter開發實戰-人臉識別相機使用 當需要拍攝的時候,需要檢測到人臉再進行后續的操作,這里使用的是face_camera 一、引入face_camera 在工程的pubspec.yaml中引入插件 # 檢測人臉face_camera: ^0.0.8iOS端需要設置相關權限 在info.plist文件中&…

如何按住ctrl滑動鼠標桌面圖標大小不變

如何按住ctrl滑動鼠標桌面圖標大小不變 采取以下步驟: 1、鼠標在電腦桌面空白處單擊右鍵,然后在彈出的對話框最上面有個“查看”,點擊“查看”出來的最上面有“大圖標”“中等圖標”“小圖標”,根據自己的需要選擇圖標大小即可。…

網絡安全快速入門(九)MySQL進階操作

上一章我們了解了對表及庫的基本增刪查改操作,本章我們針對增刪查改內容進行與一些拓展, 9.1字段修飾及數據類型 我們之前在創建表時用到的格式為: create table 表名 ( 字段名1 字段數據類型(數據類型長度), 字段名2 …

Pytorch學習-調整torchvision.models中模型輸出類別數

假設你的類別只有10個,而torchvision.models中Vgg16的輸出類別為1000,這時應該如何調整呢? 方法一,直接修改模型中類別的輸出。 from torch.nn import Linear import torchvision import torchVgg16torchvision.models.vgg16(pre…

華為認證大數據是什么?華為認證大數據有用嗎?

華為大數據是用來搜集整理大數據,提供解決方案的數據中心。華為大數據解決方案是華為公司推出的一種綜合性云解決方案,主要針對廣告營銷、電商、車聯網等大數據應用場景的云計算大數據方案,幫助企業用戶構建大數據平臺,解決企業的…

GRE over IPsec VPN實驗

一、拓撲圖 二、組網需求 某企業總部、分支1、分支2分別通過 R1,R3,R4 接入互聯網,配置默認路由連通公網按照圖示配置 IP 地址,R1,R3,R4 分別配置 Loopback0 口匹配感興趣流,Loopback1 口模擬業…

GPIO輸出速度(ARM-GD32)

單片機輸出速度對GPIO硬件的影響 如果T為100ns 那么2/3*100ns 67ns 那么tr tf 38 ns (也就是不能超過32ns) tr 和tf和什么東西有關如何去控制 CL 是一個電容,電容會改變和影響電壓變化的速率,輸出高低電平也就是對電容進行充電…

【噪聲學習】SELFIE:更新不干凈樣本的魯棒性深度學習

SELFIE: Refurbishing Unclean Samples for Robust Deep Learning 摘要: 由于深度神經網絡具有極高的表達能力,其副作用是即使在標簽噪聲極高的情況下也能完全記住訓練數據。為了克服對噪聲標簽的過度擬合,我們提出了一種名為 SELFIE 的新型魯棒訓練方法。我們的主要想法是…