什么是數據類型,Python 有哪些基本數據類型?

一、什么是數據類型

數據類型是計算機語言中一個基本概念,它定義了變量可以存儲什么樣的數據以及可以對這些數據執行什么樣的操作。在Python中,數據類型決定了變量的存儲方式、內存占用、數據的合法操作和表示方式等。

數據類型的作用包括:

  1. 內存管理:不同的數據類型占用不同的內存空間。
  2. 操作限制:數據類型決定了可以對變量進行的操作,如算術運算、字符串操作等。
  3. 數據表示:不同的數據類型以不同的形式表示數據,如整數、浮點數、字符串等。
二、Python的基本數據類型

Python是一種動態類型語言,變量在使用時不需要聲明類型,而是根據賦值自動確定類型。以下是Python的基本數據類型:

  1. 整數類型(int)
  2. 浮點數類型(float)
  3. 字符串類型(str)
  4. 布爾類型(bool)
  5. 列表類型(list)
  6. 元組類型(tuple)
  7. 集合類型(set)
  8. 字典類型(dict)
  9. None類型(NoneType)

我們將逐一詳細介紹這些數據類型。

三、整數類型(int)

整數類型表示沒有小數部分的數字。Python中的整數可以是任意長度,只受限于機器的內存大小。

a = 10
b = -5
c = 12345678901234567890
print(type(a))  # 輸出:<class 'int'>

整數操作

  • 加法:a + b
  • 減法:a - b
  • 乘法:a * b
  • 除法:a / b (結果是浮點數)
  • 整除:a // b
  • 取余:a % b
  • 冪運算:a ** b
print(a + b)  # 輸出:5
print(a - b)  # 輸出:15
print(a * b)  # 輸出:-50
print(a / b)  # 輸出:-2.0
print(a // b)  # 輸出:-2
print(a % b)  # 輸出:0
print(a ** 2)  # 輸出:100
四、浮點數類型(float)

浮點數類型用于表示帶有小數部分的數字,通常使用雙精度(64位)表示。

x = 3.14
y = -0.001
z = 1.23e4  # 科學計數法表示
print(type(x))  # 輸出:<class 'float'>

浮點數操作: 與整數操作類似,但結果通常是浮點數。

print(x + y)  # 輸出:3.139
print(x - y)  # 輸出:3.141
print(x * y)  # 輸出:-0.00314
print(x / y)  # 輸出:-3140.0

浮點數運算可能會有精度問題,這是由于計算機的浮點數表示方式導致的。

五、字符串類型(str)

字符串類型用于表示文本數據,字符串可以用單引號或雙引號表示。

s1 = "Hello"
s2 = 'World'
s3 = """This is a
multi-line string"""
print(type(s1))  # 輸出:<class 'str'>

字符串操作

  • 拼接:s1 + s2
  • 重復:s1 * 3
  • 切片:s1[1:4]
  • 查找:s1.find('e')
  • 替換:s1.replace('e', 'a')
print(s1 + " " + s2)  # 輸出:Hello World
print(s1 * 3)  # 輸出:HelloHelloHello
print(s1[1:4])  # 輸出:ell
print(s1.find('e'))  # 輸出:1
print(s1.replace('e', 'a'))  # 輸出:Hallo

字符串是不可變的(immutable),即字符串一旦創建就不能修改。

六、布爾類型(bool)

布爾類型有兩個值:TrueFalse,常用于條件判斷。

t = True
f = False
print(type(t))  # 輸出:<class 'bool'>

布爾操作

  • 與:t and f
  • 或:t or f
  • 非:not t
print(t and f)  # 輸出:False
print(t or f)  # 輸出:True
print(not t)  # 輸出:False

布爾值可以與整數混合使用,其中 True 相當于 1False 相當于 0

七、列表類型(list)

列表是一種有序、可變的數據結構,可以存儲任意類型的元素。

lst = [1, 2, 3, "four", 5.0]
print(type(lst))  # 輸出:<class 'list'>

列表操作

  • 訪問:lst[0]
  • 修改:lst[0] = 10
  • 添加:lst.append(6)
  • 插入:lst.insert(2, "three")
  • 刪除:del lst[1]
  • 切片:lst[1:3]
print(lst[0])  # 輸出:1
lst[0] = 10
print(lst)  # 輸出:[10, 2, 3, 'four', 5.0]
lst.append(6)
print(lst)  # 輸出:[10, 2, 3, 'four', 5.0, 6]
lst.insert(2, "three")
print(lst)  # 輸出:[10, 2, 'three', 3, 'four', 5.0, 6]
del lst[1]
print(lst)  # 輸出:[10, 'three', 3, 'four', 5.0, 6]
print(lst[1:3])  # 輸出:['three', 3]
八、元組類型(tuple)

元組與列表類似,但元組是不可變的。一旦創建,就不能修改。

tpl = (1, 2, 3, "four", 5.0)
print(type(tpl))  # 輸出:<class 'tuple'>

元組操作

  • 訪問:tpl[0]
  • 切片:tpl[1:3]

元組的使用方式與列表類似,但由于其不可變性,元組通常用于存儲不應改變的數據。

print(tpl[0])  # 輸出:1
print(tpl[1:3])  # 輸出:(2, 3)
九、集合類型(set)

集合是一個無序且不重復的元素集合。

s = {1, 2, 3, 4, 4}
print(type(s))  # 輸出:<class 'set'>
print(s)  # 輸出:{1, 2, 3, 4}

集合操作

  • 添加:s.add(5)
  • 刪除:s.remove(2)
  • 并集:s.union({6, 7})
  • 交集:s.intersection({3, 4, 5})
s.add(5)
print(s)  # 輸出:{1, 2, 3, 4, 5}
s.remove(2)
print(s)  # 輸出:{1, 3, 4, 5}
print(s.union({6, 7}))  # 輸出:{1, 3, 4, 5, 6, 7}
print(s.intersection({3, 4, 5}))  # 輸出:{3, 4, 5}
十、字典類型(dict)

字典是一種鍵值對的無序集合,每個鍵都是唯一的。

d = {"name": "Alice", "age": 30}
print(type(d))  # 輸出:<class 'dict'>

字典操作

  • 訪問:d["name"]
  • 修改:d["age"] = 31
  • 添加:d["city"] = "New York"
  • 刪除:del d["age"]
  • 獲取鍵列表:d.keys()
  • 獲取值列表:d.values()
print(d["name"])  # 輸出:Alice
d["age"] = 31
print(d)  # 輸出:{'name': 'Alice', 'age': 31}
d["city"] = "New York"
print(d)  # 輸出:{'name': 'Alice', 'age': 31, 'city': 'New York'}
del d["age"]
print(d)  # 輸出:{'name': 'Alice', 'city': 'New York'}
print(d.keys())  # 輸出:dict_keys(['name', 'city'])
print(d.values())  # 輸出:dict_values(['Alice', 'New York'])
十一、None類型(NoneType)

None類型表示一個空值或無值,是Python中的一個特殊數據類型。

n = None
print(type(n))  # 輸出:<class 'NoneType'>

None的使用: 通常用于表示缺少值或函數沒有返回值。

def func():return Noneresult = func()
print(result)  # 輸出:None
十二、類型轉換

Python提供了多種內置函數來轉換數據類型:

  • int():轉換為整數
  • float():轉換為浮點數
  • str():轉換為字符串
  • list():轉換為列表
  • tuple():轉換為元組
  • set():轉換為集合
  • dict():轉換為字典
a = "123"
b = int(a)  # 字符串轉換為整數
c = float(a)  # 字符串轉換為浮點數
d = str(b)  # 整數轉換為字符串
e = list(d)  # 字符串轉換為列表
print(b, c, d, e)  # 輸出:123 123.0 '123' ['1', '2', '3']

Python提供了豐富的數據類型來滿足不同的編程需求。理解和掌握這些基本數據類型是編寫高效、優雅Python代碼的基礎。通過靈活運用這些數據類型及其相關操作,可以解決各種復雜的編程問題。學習Python數據類型的過程,也是不斷提升編程能力和理解計算機科學基本原理的過程。

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

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

相關文章

計算機中的16g加32g不對稱雙通道性能分析

計算機中的16g加32g不對稱雙通道性能分析 16GB加32GB不對稱雙通道配置會對性能產生一定影響&#xff0c;但仍然在穩定兼容的范圍內。 在探討16GB加32GB不對稱雙通道配置的性能影響時&#xff0c;我們首先需要理解雙通道技術的基本原理。雙通道技術通過同時向兩根內存中讀寫數…

數據結構速成--排序算法

由于是速成專題&#xff0c;因此內容不會十分全面&#xff0c;只會涵蓋考試重點&#xff0c;各學校課程要求不同 &#xff0c;大家可以按照考綱復習&#xff0c;不全面的內容&#xff0c;可以看一下小編主頁數據結構初階的內容&#xff0c;找到對應專題詳細學習一下。 這一章…

C語言中常用的運算符、表達式和語句

C語言是一種通用的、高級的編程語言&#xff0c;其歷史可以追溯到20世紀60年代末至70年代初。C語言最初是由丹尼斯里奇&#xff08;Dennis Ritchie&#xff09;在貝爾實驗室為開發UNIX操作系統而設計的。它繼承了許多B語言的特性&#xff0c;而B語言則是由迷糊老師&#xff08;…

安全與加密常識(0)安全與加密概述

文章目錄 一、信息安全的基本概念二、加密技術概述三、常見的安全協議和實踐四、加密的挑戰與應對 在數字時代&#xff0c;信息安全和加密已成為保護個人和企業數據不受侵犯的關鍵技術。本文將探討信息安全的基礎、加密的基本原理&#xff0c;以及實用的保護措施&#xff0c;以…

RAG一文讀懂!概念、場景、優勢、對比微調與項目代碼示例

本文結合“基于 ERNIE SDKLangChain 搭建個人知識庫”的代碼示例&#xff0c;為您講解 RAG 的相關概念。 01 概念 在2020年 Facebook AI Research(FAIR)團隊發表一篇名為《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》的論文。這篇論文首次提出了 RA…

Java應用cpu過高如何分析

1. 查看進程cpu使用情況 top 2. 根據PID查看指定進程的各線程的cpu使用情況 top -H -p PID 線程分析&#xff1a; jstack&#xff1a;生成Java線程堆棧&#xff0c;用于分析是否有線程處于忙等待狀態或死循環。命令&#xff1a; shell jstack -l <pid> > threaddu…

機器人控制系列教程之關節空間運動控制器搭建(1)

機器人位置控制類型 機器人位置控制分為兩種類型&#xff1a; 關節空間運動控制—在這種情況下&#xff0c;機器人的位置輸入被指定為一組關節角度或位置的向量&#xff0c;這被稱為機器人的關節配置&#xff0c;記作q。控制器跟蹤一個參考配置&#xff0c;記作 q r e f q_{re…

免費翻譯API及使用指南——百度、騰訊

目錄 一、百度翻譯API 二、騰訊翻譯API 一、百度翻譯API 百度翻譯API接口免費翻譯額度&#xff1a;標準版&#xff08;5萬字符免費/每月&#xff09;、高級版&#xff08;100萬字符免費/每月-需個人認證&#xff0c;基本都能通過&#xff09;、尊享版&#xff08;200萬字符免…

學習陽明心學,需要下真功夫,持續用功

陽明心學是功夫之學&#xff0c;看到善的就發揚光大&#xff0c;看到惡的就立即改正&#xff0c;這才是真功夫

Java基礎(五)——ArrayList

個人簡介 &#x1f440;個人主頁&#xff1a; 前端雜貨鋪 ?開源項目&#xff1a; rich-vue3 &#xff08;基于 Vue3 TS Pinia Element Plus Spring全家桶 MySQL&#xff09; &#x1f64b;?♂?學習方向&#xff1a; 主攻前端方向&#xff0c;正逐漸往全干發展 &#x1…

激光SLAM平面點的提取、使用學習

1.20240625 學習了PaGO-LOAM 論文地址&#xff1a; PaGO-LOAM: Robust Ground-Optimized LiDAR Odometry github地址&#xff1a; GitHub - url-kaist/AlterGround-LeGO-LOAM: The page for PaGO-LOAM: Robust Ground-Optimized LiDAR Odometry 其提取地面點方法采用了Pat…

centos7 xtrabackup mysql 基本測試(5)mysql 建立 測試 數據庫及內容

centos7 xtrabackup mysql 基本測試&#xff08;5&#xff09;mysql 建立 測試 數據庫及內容 登錄 mysql -u etc -p 1234aA~1創建數據庫 名字是company show databases ; create database company;在 company里面 創建表employee use company; DROP TABLE IF EXISTS employ…

linux中的各種指令

按文件的大小進行查找 find / usr -size 100M 在home路徑下創建txt文件 touch test.txt 查看test.txt文件中的內容&#xff1a; cat test.txt通過指令pwd可以查看當前所處路徑。 切換超級用戶的指令&#xff1a; su - root 離開時可以使用指令&#xff1a;exit grep指…

SPSS相關軟件安裝

Amos安裝添加鏈接描述 SPSS process插件安裝添加鏈接描述

20240629在飛凌開發板OK3588-C上使用Rockchip原廠的SDK跑通I2C擴展GPIO芯片TCA6424ARGJRR

20240629在飛凌開發板OK3588-C上使用Rockchip原廠的SDK跑通I2C擴展GPIO芯片TCA6424ARGJRR 2024/6/29 18:02 1、替換DTS了&#xff1a; Z:\repo_RK3588_Buildroot20240508\kernel\arch\arm64\boot\dts\rockchip viewproviewpro-ThinkBook-16-G5-IRH:~/repo_RK3588_Buildroot2024…

【OCPP】ocpp1.6協議第4.10章節StopTransaction的介紹及翻譯

目錄 4.10、停止交易StopTransaction-概述 Stop Transaction StopTransaction.req 請求消息 StopTransaction.conf 確認消息 交易管理流程 應用場景 總結 4.10、停止交易StopTransaction-原文譯文 4.10、停止交易StopTransaction-概述 在OCPP 1.6協議中的第4.10章“Stop Transa…

網易云音樂數據爬取與可視化分析系統

摘要 本系統采用Python語言&#xff0c;基于網易云音樂&#xff0c;通過數據挖掘技術對該平臺的音樂數據進行了深入的研究和分析&#xff0c;旨在挖掘出音樂市場的規律&#xff0c;為音樂人、唱片公司、音樂愛好者等提供數據支持。系統的開發意義在于&#xff1a;一方面為音樂…

《妃夢千年》第十六章-第十八章:戰火連天

第十六章&#xff1a;戰火連天 經過幾個月的相對平靜&#xff0c;林清婉和蘇珊逐漸適應了宮中的生活。然而&#xff0c;林清婉心中依然保持警惕&#xff0c;她知道&#xff0c;宮中的危機遠未結束。 一天&#xff0c;林清婉正在書房中整理書籍&#xff0c;忽然接到了一封來自…

C++初階編程:list容器的簡單模擬實現

大家好啊&#xff0c;今天給大家帶來的是我們C編程中&#xff0c;stl庫里的重要角色--list的簡單的模擬實現&#xff0c;希望通過這篇小博客&#xff0c;對大家更加深入理解list容器有所幫助。 前言&#xff1a; 在C標準庫中&#xff0c;list是一種雙向鏈表容器。 這里簡單提…

C#基于SkiaSharp實現印章管理(3)

本系列第一篇文章中創建的基本框架限定了印章形狀為矩形&#xff0c;但常用的印章有方形、圓形等多種形狀&#xff0c;本文調整程序以支持定義并顯示矩形、圓角矩形、圓形、橢圓等4種形式的印章背景形狀。 ??定義印章背景形狀枚舉類型&#xff0c;矩形、圓形、橢圓相關的尺寸…