搜尋
首頁後端開發Python教學Python 資料型別:快速指南

本文說明如何有效地使用 Python 的資料類型來建立可擴展且可維護的應用程式。


Python Data Types: A Quick Guide

Python 提供了豐富的資料類型,這些資料類型是編寫有效且有效率的程式碼的基礎。了解這些資料類型對於任何開發人員都至關重要,因為它允許正確的資料儲存、操作和檢索。在本指南中,我們將探討常見的 Python 資料類型、它們的應用,以及確定在不同場景中使用哪些資料類型的策略。

Python 資料類型的快速解釋。

首先,Python 提供了大量的資料型別。 Python 文件提供了每種資料類型的詳細描述,您可以在以下連結中找到該清單:資料類型。 「Python 也提供了一些內建資料類型,特別是 dict、list、set 和freezeset、tuple。str 類別用於保存Unicode 字串,bytes 和bytearray 類別用於保存二進位資料」(Python 軟體基礎(a),n.d. ,資料型態)。 Python 中的內建資料類型是 Python 標準的基本資料結構;您不需要匯入任何外部庫即可使用它們。

下表顯示了Python的常見資料類型。

表1
常見資料類型
Python Data Types: A Quick Guide
:來自 Bailey 的《Python 3 程式設計》,2016 年。

決定資料類型的策略

要確定應用程式所需的資料類型,分析需要收集的資料並了解應用程式的功能需求至關重要。一般來說,這相當於以下四個關鍵步驟:

  1. 識別資料:識別應用程式將收集和處理的資料類型,例如文字資訊和數位資料。
  2. 了解資料操作:將對資料執行哪些操作,例如排序、搜尋或複雜操作,以確保所選資料類型可以支援這些功能。
  3. 建構資料關係:不同的資料片段如何相互關聯,並決定適當的結構(例如巢狀字典或清單)來有效地表示這些關係。
  4. 規劃可擴展性和維護:未來對應用程式的擴展或修改,以及選擇允許修改、更新和可擴展性的資料類型和結構。

對於這個特定的應用程序,這轉化為以下步驟:
請注意,所提供的資訊並未明確說明資料是否需要進行操作(排序或修改)。然而,為了使應用程式有用且功能齊全,需要對資料進行一定程度的操作。

根據提供的信息,應用程式功能要求如下:

  1. 儲存個人資訊:儲存每個家庭成員的基本個人信息,例如姓名和出生日期。
  2. 地址管理:管理和儲存每個家庭成員的目前地址和可能的多個地址。
  3. 關係追蹤:追蹤並表徵不同家庭成員(例如親子、配偶、兄弟姊妹)之間的關係。
  4. 資料操作:編輯、排序和更新儲存資訊的功能,包括個人詳細資料、地址和家庭關係。

根據提供的信息,需要收集的數據如下:

  1. 姓名:包括姓名,家庭成員的姓名為文字資料
  2. 出生日期:出生日期可以是文字資料、數字資料或兩者的混合。
  3. 地址:地址可能很複雜,可能需要為每個家庭成員儲存多個地址,其中包括街道、城市、州和郵遞區號等組件。它是數字和文字資料的混合。
  4. 關係:家庭成員(如親子、配偶、兄弟姊妹)之間的關係是文字資料。

四個資料元素及對應的資料型別

考慮到應用程式的功能需求和資料訊息,以下是四個資料元素及其對應的資料類型。

  • 名稱:字串資料類型str。這使我們能夠輕鬆儲存和操作個人姓名。我將使用一個元組來分隔名字和姓氏,name = ('first_name', 'last_name')。元組在這種情況下非常有用,因為它們是不可變的,這意味著一旦創建元組,就無法更改它,以確保保留名字和姓氏的完整性。此外,它們已編入索引,這意味著可以透過索引搜尋它們。例如,可以按姓氏或名字搜尋清單名稱元組。此外,元組比字典或列表佔用更少的記憶體空間。
  • 出生日期:從技術上講,它們可以儲存為字串、整數、列表或字典,但是使用 Python 的 datetime 模組中的 datetime.date 物件具有顯著的優勢,例如簡單的日期操作和功能。例如,計算年齡或按出生日期對成員進行排序。在大多數情況下,儲存出生日期需要將輸入字串轉換為 datetime.date 物件。請注意,日期時間是一個類別。此外,在 Python 中,資料型別(floats、str、int、list、tuple、set…)是 Python 物件的實例。換句話說,它們是物件。
  • datetime.date 物件使用下列資料型態:

年份:代表年份的整數,例如 2024。
月份:代表月份的整數,從 1(一月)到 12(十二月)。
Day:一個整數,表示該月的第幾天,從 1 到 31,取決於月份和年份。

例如:注意:方法 date.fromisoformat() 將字串轉換為帶有整數參數的 datetime.date() 物件。

from datetime import date 
>>> date.fromisoformat('2019-12-04') 
datetime.date(2019, 12, 4) 
>>> date.fromisoformat('20191204') 
datetime.date(2019, 12, 4) 
>>> date.fromisoformat('2021-W01-1') 
datetime.date(2021, 1, 4)

(Python 軟體基礎 (b),n.d.,datetime — 基本日期和時間類型)

地址:地址由多個組成部分組成,例如街道、城市、州和郵遞區號。我會使用字典資料類型 dict。字典鍵值對項結構非常適合儲存、修改和存取位址的各個部分。

關係:家庭成員之間的關係,如親子、配偶、兄弟姊妹等。我將使用帶有嵌入式列表和元組資料類型的字典資料類型 dict 。在此結構中,鍵代表關係類型,值是引用其他家庭成員的名稱或識別碼清單。這將允許輕鬆儲存、修改和存取關聯式資料。

user_123 = {
    "name": ("John", "Doe"),  # Using tuple for the name
    "birth_date": date(1974, 6, 5),  # Using datetime for birth dates
    "address": {  # Using a dictionary for the address
        "street": "123 My Street",
        "city": "Mytown",
        "state": "Mystate",
        "zip_code": "12345"
    },
    "relationships": {  # Using a dictionary with embedded lists and tuples
        "spouse": ("Jane", "Doe"),
        "children": [("George", "Doe"), ("Laura", "Doe")],
        "parents": [("Paul", "Doe"), ("Lucy", "Doe")],
    }
}

要在 Python 中建立結構良好且可維護的應用程序,選擇正確的資料類型至關重要。為了確保您的程式碼既高效又可擴展,了解 Python 內建資料類型(例如字串、元組、字典和日期時間物件)之間的差異並有效地實現它們至關重要。


參考資料:

Bailey, M.(2016 年 8 月)。第 3 章:模式種、Python 程式設計 3. Zyante Inc.

Python 軟體基礎(一)。 (日期不詳)。資料類型。蟒蛇。

python.org。 https://docs.python.org/3/library/datatypes.html連結到外部網站。

Python 軟體基礎 (b)。 (日期不詳)。 datetime — Python 的基本日期和時間類型。 python.org。 https://docs.python.org/3/library/datetime.html


原發表於 ​​Python 資料類型:快速指南 - Medium 2024 年 8 月 15 日

以上是Python 資料型別:快速指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
您如何將元素附加到Python列表中?您如何將元素附加到Python列表中?May 04, 2025 am 12:17 AM

toAppendElementStoApythonList,usetheappend()方法forsingleements,Extend()formultiplelements,andinsert()forspecificpositions.1)useeAppend()foraddingoneOnelementAttheend.2)useextendTheEnd.2)useextendexendExendEnd(

您如何創建Python列表?舉一個例子。您如何創建Python列表?舉一個例子。May 04, 2025 am 12:16 AM

TocreateaPythonlist,usesquarebrackets[]andseparateitemswithcommas.1)Listsaredynamicandcanholdmixeddatatypes.2)Useappend(),remove(),andslicingformanipulation.3)Listcomprehensionsareefficientforcreatinglists.4)Becautiouswithlistreferences;usecopy()orsl

討論有效存儲和數值數據的處理至關重要的實際用例。討論有效存儲和數值數據的處理至關重要的實際用例。May 04, 2025 am 12:11 AM

金融、科研、医疗和AI等领域中,高效存储和处理数值数据至关重要。1)在金融中,使用内存映射文件和NumPy库可显著提升数据处理速度。2)科研领域,HDF5文件优化数据存储和检索。3)医疗中,数据库优化技术如索引和分区提高数据查询性能。4)AI中,数据分片和分布式训练加速模型训练。通过选择适当的工具和技术,并权衡存储与处理速度之间的trade-off,可以显著提升系统性能和可扩展性。

您如何創建Python數組?舉一個例子。您如何創建Python數組?舉一個例子。May 04, 2025 am 12:10 AM

pythonarraysarecreatedusiseThearrayModule,notbuilt-Inlikelists.1)importThearrayModule.2)指定tefifythetypecode,例如,'i'forineizewithvalues.arreaysofferbettermemoremorefferbettermemoryfforhomogeNogeNogeNogeNogeNogeNogeNATATABUTESFELLESSFRESSIFERSTEMIFICETISTHANANLISTS。

使用Shebang系列指定Python解釋器有哪些替代方法?使用Shebang系列指定Python解釋器有哪些替代方法?May 04, 2025 am 12:07 AM

除了shebang線,還有多種方法可以指定Python解釋器:1.直接使用命令行中的python命令;2.使用批處理文件或shell腳本;3.使用構建工具如Make或CMake;4.使用任務運行器如Invoke。每個方法都有其優缺點,選擇適合項目需求的方法很重要。

列表和陣列之間的選擇如何影響涉及大型數據集的Python應用程序的整體性能?列表和陣列之間的選擇如何影響涉及大型數據集的Python應用程序的整體性能?May 03, 2025 am 12:11 AM

ForhandlinglargedatasetsinPython,useNumPyarraysforbetterperformance.1)NumPyarraysarememory-efficientandfasterfornumericaloperations.2)Avoidunnecessarytypeconversions.3)Leveragevectorizationforreducedtimecomplexity.4)Managememoryusagewithefficientdata

說明如何將內存分配給Python中的列表與數組。說明如何將內存分配給Python中的列表與數組。May 03, 2025 am 12:10 AM

Inpython,ListSusedynamicMemoryAllocationWithOver-Asalose,而alenumpyArraySallaySallocateFixedMemory.1)listssallocatemoremoremoremorythanneededinentientary上,respizeTized.2)numpyarsallaysallaysallocateAllocateAllocateAlcocateExactMemoryForements,OfferingPrediCtableSageButlessemageButlesseflextlessibility。

您如何在Python數組中指定元素的數據類型?您如何在Python數組中指定元素的數據類型?May 03, 2025 am 12:06 AM

Inpython,YouCansspecthedatatAtatatPeyFelemereModeRernSpant.1)Usenpynernrump.1)Usenpynyp.dloatp.dloatp.ploatm64,formor professisconsiscontrolatatypes。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器