Python基本數據類型介紹

Python

解釋

  • Python是一種高級編程語言,以其簡潔、易讀和易用而聞名。它是一種通用的、解釋型的編程語言,適用于廣泛的應用領域,包括軟件開發、數據分析、人工智能等。
  • python是一種解釋型,面向對象、動態數據類型的高級程序設計語言,是一門開源免費的腳本編程語言。
  • 2020.1.1,停止Python2的更新。

特點

  • 簡潔易讀:Python采用清晰簡潔的語法,使得代碼易于閱讀和理解。它使用縮進來表示代碼塊,而不是依賴于大括號,使得代碼更具可讀性。
  • 豐富的庫和框架:Python擁有大量的標準庫和第三方庫,涵蓋了各種領域的功能,例如Web開發、科學計算、數據分析等。這些庫和框架可以幫助開發者快速構建應用程序。
  • 跨平臺性:Python可以在多個操作系統上運行,包括Windows、Linux和MacOS等。這使得開發者可以輕松地在不同平臺上部署和運行Python程序。
  • 動態類型:Python是一種動態類型語言,不需要提前聲明變量類型。這簡化了代碼的編寫和維護,并提供了更大的靈活性。
  • 廣泛的應用領域:Python被廣泛應用于各個領域,包括Web開發、數據分析、人工智能、科學計算、自動化腳本等。它被許多大型公司和組織采用,如Google、Facebook、Netflix等。
  • 強大的社區支持:Python擁有龐大的開發者社區,提供了豐富的教程、文檔和開源項目。開發者可以從社區中獲取幫助、分享經驗,并使用已經開發的工具和庫。

Python基本數據類型

變量

在Python中,變量是用來存儲和操作數據的標識符。可以把變量看作是一個容器,用來存儲值或者引用其他對象。

在Python中,變量的使用有以下幾個特點:

  • 變量命名:變量名是用來標識變量的名稱。它可以由字母、數字和下劃線組成,但必須以字母或下劃線開頭。變量名區分大小寫,例如"count"和"Count"是不同的變量名。
  • 變量賦值:使用賦值運算符(=)將一個值賦給一個變量。例如,可以使用語句x = 5將整數值5賦給變量x。變量的賦值不需要類型申明;每個變量在使用前必須賦值。
  • 動態類型:Python是一種動態類型語言,這意味著變量的類型是根據賦給它的值自動推斷的。同一個變量在不同的上下文中可以引用不同類型的對象。
  • 變量引用:變量可以引用各種對象,如整數、浮點數、字符串、列表、函數等。通過變量名,可以訪問和操作變量引用的對象。
# 變量賦值
x = 5
name = 'Alice'
pi = 3.14# 使用變量
print(x)  # 輸出:5
print('Hello, ' + name)  # 輸出:Hello, Alice
radius = 2.5
area = pi * radius ** 2
print('圓的面積為:', area)  # 輸出:圓的面積為: 19.625# 變量類型推斷
x = 10  # x是整數類型
x = 'Hello'  # x變為字符串類型
x = [1, 2, 3]  # x變為列表類型# 多個變量賦值
a = b = c = 0
print(a, b, c)  # 輸出:0 0 0

標準數據類型

數字Number

  • Python支持四種數字類型,分別是int整型(早期版本還分int和long,從Python3開始合到一起都是int型,可以表示任意整數)、float浮點型、complex復數、bool型;
  • 數字是不可改變的數據類型,這意味著改變數據類型會分配一個新的對象;
# 整數
x = 5
y = -10
z = 0# 浮點數
pi = 3.14
radius = 2.5# 復數
a = 2 + 3j
b = -1j# 布爾值
is_valid = True
is_greater = x > y# 數值計算和操作
print(x + y)  # 輸出:-5
print(pi * radius ** 2)  # 輸出:19.625
print(a.real)  # 輸出:2.0
print(b.imag)  # 輸出:-1.0
print(not is_valid)  # 輸出:False# 數值轉換
x_str = '10'
x_int = int(x_str)
y_float = float(y)
z_complex = complex(x, y)

字符串String

  • 在Python中,字符串(str)是一種表示文本數據的數據類型。字符串由一系列字符組成,可以包含字母、數字、符號和空格等內容。
  • 在Python中,字符串可以使用單引號('')或雙引號("")括起來。
  • 反斜杠用來轉義,使用 r 可以讓反斜杠不發生轉義;print(r’this is a line with\n’) 。
  • 字符串可以用 + 運算符連接在一起,用 * 運算符重復。
  • 字符串屬于不可改變數據類型,但可以通過切片和拼接等操作來生成新的字符串。
  • Python 沒有單獨的字符類型,一個字符就是長度為 1 的字符串。
name = 'Alice'
message = "Hello, world!"
sentence = "I'm learning Python."print(name)      # 輸出:Alice
print(message)   # 輸出:Hello, world!
print(sentence)  # 輸出:I'm learning Python.
  • 字符串的拼接:用+號將兩個字符串拼接在一起。
greeting = "Hello"
name = "Alice"
message = greeting + ", " + name
print(message)  # 輸出:Hello, Alice
  • 切片(Slicing):可以使用切片操作符([:])獲取字符串的子串。
sentence = "I'm learning Python."
print(sentence[2:9])  # 輸出:m learn
  • 索引(Indexing):可以使用索引操作符([])獲取字符串中特定位置的字符。
word = "Python"
print(word[0])    # 輸出:P
print(word[-1])   # 輸出:n
print(word[2:4])  # 輸出:th
  • 長度獲取:可以使用內置函數len()獲取字符串的長度。
sentence = "I'm learning Python."
words = sentence.split()  # 按空格分割字符串
print(words)                    # 輸出:["I'm", 'learning', 'Python.']
print(sentence.upper())         # 輸出:"I'M LEARNING PYTHON."
print(sentence.lower())         # 輸出:"i'm learning python."
print(sentence.replace('Python', 'Java'))  # 輸出:"I'm learning Java."

列表List

  • 列表是python中使用最頻繁的數據類型。
  • 在Python中,列表(list)是一種有序可變可重復的數據類型,用于存儲多個值。列表可以包含任意類型的元素,包括整數、浮點數、字符串、布爾值、甚至其他列表等。
  • 列表使用方括號([])來表示,其中的元素使用逗號(,)分隔。
numbers = [1, 2, 3, 4, 5]
names = ['Alice', 'Bob', 'Charlie']
mixed = [1, 'Hello', True, 3.14]
nested = [[1, 2], [3, 4, 5], [6, 7, 8, 9]]
empty = []
  • 訪問元素:可以使用索引操作符([])來訪問列表中的元素。索引從0開始,負數索引表示從列表末尾開始倒數。
numbers = [1, 2, 3, 4, 5]
print(numbers[0])     # 輸出:1
print(numbers[-1])    # 輸出:5
print(numbers[2:4])   # 輸出:[3, 4]
  • 修改元素:由于列表是可變的,可以通過索引操作符([])來修改列表中的元素。
numbers = [1, 2, 3, 4, 5]
numbers[0] = 10
print(numbers)  # 輸出:[10, 2, 3, 4, 5]
  • 添加元素:可以使用append()方法向列表末尾添加新元素,或使用拼接操作符(+)將兩個列表合并。
numbers = [1, 2, 3]
numbers.append(4)
print(numbers)  # 輸出:[1, 2, 3, 4]names1 = ['Alice', 'Bob']
names2 = ['Charlie', 'Dave']
combined = names1 + names2
print(combined)  # 輸出:['Alice', 'Bob', 'Charlie', 'Dave']
  • 刪除元素:可以使用del語句或remove()方法刪除列表中的元素。
numbers = [1, 2, 3, 4, 5]
del numbers[2]
print(numbers)  # 輸出:[1, 2, 4]names = ['Alice', 'Bob', 'Charlie']
names.remove('Bob')
print(names)  # 輸出:['Alice', 'Charlie']
  • 列表長度:可以使用內置函數len()獲取列表的長度(即元素個數)。
numbers = [1, 2, 3, 4, 5]
print(len(numbers))  # 輸出:5
  • 列表還有許多其他的方法和操作,如排序、插入元素、統計元素出現次數等

元組Tuple

  • 在Python中,元組(tuple)是一種有序不可變的數據類型,用于存儲多個值。元組與列表相似,但不同之處在于元組的元素不可修改。元組使用圓括號(())來表示,其中的元素使用逗號(,)分隔。
coordinates = (3, 4)
colors = ('red', 'green', 'blue')
mixed = (1, 'Hello', True, 3.14)
nested = ((1, 2), (3, 4, 5), (6, 7, 8, 9))
empty = ()
  • 訪問元素:可以使用索引操作符([])來訪問元組中的元素,索引從0開始。
coordinates = (3, 4)
print(coordinates[0])  # 輸出:3
print(coordinates[1])  # 輸出:4
  • 元組不可變:元組的元素是不可變的,即不能修改元組中的元素。如果嘗試修改元組的元素,將會引發TypeError錯誤。
coordinates = (3, 4)
coordinates[0] = 10  # TypeError: 'tuple' object does not support item assignment
  • 解包元組:可以將元組的元素解包到多個變量中。
coordinates = (3, 4)
x, y = coordinates
print(x)  # 輸出:3
print(y)  # 輸出:4
  • 元組的長度和元素個數:可以使用內置函數len()獲取元組的長度(即元素個數)。
colors = ('red', 'green', 'blue')
print(len(colors))  # 輸出:3

集合Set

  • 在Python中,集合(set)是一種無序且不重復的數據集合。集合中的元素不會按照特定的順序排列,而且集合中不允許存在重復的元素。集合使用大括號({})或者使用set()函數來創建。
  • 集合屬于可變數據類型。
fruits = {'apple', 'banana', 'orange'}
numbers = set([1, 2, 3, 4, 5])
empty = set()
  • 去重:集合中的元素不會重復,如果嘗試添加重復的元素,集合會自動去重。
fruits = {'apple', 'banana', 'orange', 'apple'}
print(fruits)  # 輸出:{'apple', 'banana', 'orange'}
  • 添加元素:可以使用add()方法向集合中添加新元素。
fruits = {'apple', 'banana', 'orange'}
fruits.add('grape')
print(fruits)  # 輸出:{'apple', 'banana', 'orange', 'grape'}
  • 刪除元素:可以使用remove()方法從集合中刪除指定的元素,如果元素不存在會引發KeyError錯誤。
fruits = {'apple', 'banana', 'orange'}
fruits.remove('banana')
print(fruits)  # 輸出:{'apple', 'orange'}
  • 集合運算:集合支持各種集合運算,如并集、交集、差集等。
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}union = set1.union(set2)        # 并集
intersection = set1.intersection(set2)  # 交集
difference = set1.difference(set2)    # 差集print(union)        # 輸出:{1, 2, 3, 4, 5, 6, 7, 8}
print(intersection)  # 輸出:{4, 5}
print(difference)    # 輸出:{1, 2, 3}
  • 集合大小:可以使用內置函數len()獲取集合的大小(即元素個數)。

字典Dictionary

  • 在Python中,字典(dictionary)是一種無序的鍵值對(key-value)數據結構,用于存儲和獲取多個值。字典中的每個元素由一個鍵(key)和對應的值(value)組成,鍵和值之間使用冒號(:)來分隔,而不同的鍵值對使用逗號(,)分隔。字典使用花括號({})來表示。
  • 字典屬于可變數據類型。
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
fruits = {'apple': 1, 'banana': 2, 'orange': 3}
empty = {}
  • 訪問元素:可以使用鍵來訪問字典中的元素,類似于使用索引來訪問列表中的元素。
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
print(person['name'])  # 輸出:Alice
print(person['age'])   # 輸出:25
  • 修改元素:可以通過鍵來修改字典中的值。
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
person['age'] = 26
print(person)  # 輸出:{'name': 'Alice', 'age': 26, 'city': 'New York'}
  • 添加元素:可以通過鍵值對的方式向字典中添加新元素。
person = {'name': 'Alice', 'age': 25}
person['city'] = 'New York'
print(person)  # 輸出:{'name': 'Alice', 'age': 25, 'city': 'New York'}
  • 刪除元素:可以使用del語句刪除字典中的元素。
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
del person['age']
print(person)  # 輸出:{'name': 'Alice', 'city': 'New York'}
  • 字典長度:可以使用內置函數len()獲取字典中鍵值對的數量。
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
print(len(person))  # 輸出:3
  • 字典是一種非常常用的數據結構,它提供了高效的鍵值對查找和操作。可以將字典用于存儲和操作各種類型的數據,如配置信息、用戶信息、數據記錄等。

后續

  • 下一篇章介紹Python的運算符。

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

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

相關文章

00X集——vba獲取CAD圖中圖元類名objectname

在CAD中,通過快捷鍵PL(即POLYLINE命令)繪制的線屬于AcDbPolyline。AcDbPolyline也被稱為LWPOLYLINE,即簡單Polyline,它所包含的對象在本身內部。 此外,CAD中還有另一種二維多段線對象,稱為AcDb2…

ViewModel 原理

在現代Android應用開發中,ViewModel是架構組件庫的一個關鍵部分,它在提高應用的穩定性和性能方面發揮著重要作用。在這篇文章中,我們將深入探討ViewModel的工作原理和最佳實踐。 ViewModel簡介 ViewModel是Android Jetpack架構組件的一部分…

ubuntu安裝Avahi發現服務工具

一、簡介 解決設置固定ip后無法連接外網的問題,目前采用動態獲取ip,可以不用設置設備的固定IP,直接可以通過域名來訪問設備,類似樹莓派的連接調試 二、安裝 本文使用的是ubuntu23.10.1上安裝 1.安裝工具 sudo apt install av…

2.模擬問題——4.日期問題

日期問題難度并不大,但是代碼量非常大,需要較高的熟練度,因此需要著重練習,主要涉及數組和循環兩個方面的知識點,需要熟練的測試代碼。 兩個經典題型 閏年 閏年滿足以下兩個條件的任意一個 能夠被400整除不能夠被1…

MyBatis攔截器實現打印完整SQL語句

我們在執行語句的時候會使用Mybatis自帶的日志打印工具,但是打印的時候參數會用?代替,顯得看起來不是那么直觀,所以通過實現了InnerInterceptor接口,并重寫了beforeQuery和beforeUpdate方法。在這兩個方法中,它會獲取…

【Acwing】差分矩陣

圖1&#xff1a;a和b數組映射表 由于a是b的前綴和數組&#xff0c;因此改變b[ x1][ y1]之后&#xff0c;受到影響的a中元素如右半圖所示 圖2&#xff1a;求b數組的前綴和 #include<bits/stdc.h> using namespace std;int n,m,q; int a[1010][1010]; int b[1010][1010]…

work 3/1

1>機械臂 #include <head.h> #define SER_POTR 8899 #define SER_IP "192.168.125.223" int main(int argc, const char *argv[]) {//創建套接字int cfdsocket(AF_INET,SOCK_STREAM,0);if(cfd-1){perror("");return -1;}//鏈接struct sockaddr_i…

一文搞懂瀏覽器緩存機制

文章目錄 概述強制緩存協商緩存總結參考文章 概述 瀏覽器的緩存機制也就是我們說的HTTP緩存機制&#xff0c;其機制是根據HTTP報文的緩存標識進行的 瀏覽器第一次向服務器發送HTTP請求, 瀏覽器拿到請求結果后&#xff0c;會根據響應報文的緩存標識&#xff0c;決定是否進行緩存…

機器學習:數據處理基操

在處理完數據之后&#xff0c;選擇好模型&#xff0c;就可以用訓練集訓練模型&#xff0c;用測試集輸入模型 然后輸出需要預測的結果啦&#xff5e; 一、模塊導入 import numpy as np import pandas as pd #讀入數據 二、pandas數據 一、dataframe基礎 一、dataframe的創建…

github新手使用詳解及環境搭建案例

對于 GitHub 的新手使用以及環境搭建&#xff0c;以下是詳細的步驟和案例&#xff1a; 一、GitHub 新手使用詳解 注冊 GitHub 賬號&#xff1a;首先&#xff0c;你需要在 GitHub 官網上注冊一個賬號。填寫必要的個人信息&#xff0c;如用戶名、郵箱和密碼等。注冊完成后&…

【代碼】Android|判斷asserts下的文件存在與否,以及普通文件存在與否

作者版本&#xff1a;Android 11及以上 主要是發現網上沒有完整的、能跑的代碼&#xff0c;不知道怎么回事&#xff0c;GPT給我重寫的。我只能保證這個代碼尊嘟能跑&#xff0c;不像其他的缺胳膊少腿的。 asserts 貼一下結果&#xff1a; boolean isAssertFileExists(String …

Nginx配置php起WoWSimpleRegistration服務

WoWSimpleRegistration服務的git地址&#xff1a; GitHub - TrinityCore/WoWSimpleRegistration: Simple Registration page for TrinityCore/AzerothCore/AshamaneCore/CMangos 下載WoWSimpleRegistration 首先git下載&#xff1a; git clone https://github.com/TrinityC…

kafka消費者接收不到消息

背景&#xff1a; 對kafka消息進行監聽&#xff0c;生產者發了消息&#xff0c;但是消費端沒有接到消息&#xff0c;監聽代碼 消費端&#xff0c;kafka配置 spring.kafka.bootstrap-serverskafka.cestc.dmp:9591 spring.kafka.properties.sasl.jaas.configorg.apache.kafka.…

29.HarmonyOS App(JAVA)通知

普通通知: 通知渠道,彈出消息后&#xff0c;自動消失 長文本通知 //多行文本通知 //圖片通知 //社交通知 //媒體通知--經測試&#xff0c;圖片無法顯示&#xff0c;文字不顯示 場景介紹 HarmonyOS提供了通知功能&#xff0c;即在一個應用的UI界面之外顯示的消息&#xff0c;主…

C++之結構體以及通訊錄管理系統

1&#xff0c;結構體基本概念 結構體屬于自定義的數據概念&#xff0c;允許用戶存儲不同的數據類型 2&#xff0c;結構體的定義和使用 語法&#xff1a;struct 結構體名{ 結構體成員列表}&#xff1b; 通過結構體創建變量的方式有三種&#xff1a; 1&#xff0c;struct …

【簡說八股】面試官:你知道什么是AOP么?

回答 AOP(Aspect-Oriented Programming)&#xff0c;即面向切面編程&#xff0c;是一種編程范式&#xff0c;它的主要思想是將應用程序中的橫切關注點&#xff08;如日志記錄、性能統計、安全控制等&#xff09;從業務邏輯中剝離出來&#xff0c;然后通過特殊的方式將這些橫切…

設計模式學習筆記 - 設計原則 - 8.迪米特法則(LOD)

前言 迪米特法則&#xff0c;是一個非常實用的原則。利用這個原則&#xff0c;可以幫我們實現代碼的 “高內聚、松耦合”。 圍繞下面幾個問題&#xff0c;來學習迪米特原則。 什么是 “高內聚、松耦合”&#xff1f;如何利用迪米特法則來實現 高內聚、松耦合&#xff1f;哪些…

程序員求職

程序員的金三銀四求職寶典 隨著春天的腳步漸近&#xff0c;對于許多程序員來說&#xff0c;一年中最繁忙、最重要的面試季節也隨之而來。金三銀四&#xff0c;即三月和四月&#xff0c;被廣大程序員視為求職的黃金時期。在這兩個月里&#xff0c;各大公司紛紛開放招聘&#xf…

技術實踐|百度安全「大模型內容安全」高級攻擊風險評測

1、引子 2023年10月16日&#xff0c;OWASP發布了《OWASP Top 10 for LLM Applications》&#xff0c;這對于新興的大語言模型安全領域&#xff0c;可謂一份綱領性的重要報告。 OWASP是開放式Web應用程序安全項目&#xff08;Open Web Application Security Project&#xff0…

【Linux網絡命令系列】ping curl telnet三劍客

&#x1f49d;&#x1f49d;&#x1f49d;歡迎來到我的博客&#xff0c;很高興能夠在這里和您見面&#xff01;希望您在這里可以感受到一份輕松愉快的氛圍&#xff0c;不僅可以獲得有趣的內容和知識&#xff0c;也可以暢所欲言、分享您的想法和見解。 推薦:kwan 的首頁,持續學…