PythonNotes_Basic1

来源:https://www.cnblogs.com/intelliyu/archive/2023/10/14/17764049.html
-Advertisement-
Play Games

基本數據類型 標準數據類型 常見數據類型: Number(數字) String(字元串) bool(布爾類型) List(列表) Tuple(元組) Set(集合) Dictionary(字典) 六個標準數據類型中: 不可變數據(3 個):Number(數字)、String(字元串)、Tuple(元 ...


基本數據類型

標準數據類型

常見數據類型:
    Number(數字)
    String(字元串)
    bool(布爾類型)
    List(列表)
    Tuple(元組)
    Set(集合)
    Dictionary(字典)

六個標準數據類型中:
    不可變數據(3 個):Number(數字)、String(字元串)、Tuple(元組);
    可變數據(3 個):List(列表)、Set(集合)、Dictionary(字典)。

一些高級的數據類型:
    如: 位元組數組類型(bytes)。

不可改變元素值如下三個:

一、Number(數字)

  • Python3 支持 int、float、bool、complex(複數)。
  • 在Python 3里,只有一種整數類型int,表示為長整型,沒有 python2 中的 Long。

二、String(字元串)

  • Python中的字元串用單引號 ' 或雙引號 " 括起來,同時使用反斜杠 \ 轉義特殊字元。用r不轉義
  • 字元串截取語法格式:
    變數[頭下標:尾下標]
    索引值以 0 為開始值,-1 為從末尾的開始位置。
  • Python字元串不能改變。改變如:word[0] = 'm' 會導致錯誤。

三、Tuple (元組)

  • 元組(tuple)與列表類似,不同之處在於元組的元素不能修改。元組寫在小括弧 ()里,元素之間用逗號,隔開。
  • 元組中的元素類型也可以不相同:
  • 可以把字元串看作一種特殊的元組。
  • 元組可以被索引且下標索引從0開始,-1 為從末尾開始的位置,也可以進行截取
  • 空元組和只有一個元素的元組

可改變元素的值如下三個:

四、List(列表)

  • List(列表)Python 中使用最頻繁的數據類型
  • Python字元串不一樣的是,列表中的元素是可以改變的
  • 列表是寫在方括弧[ ]之間、用,分隔開的元素列表
  • 列表截取的語法格式如下: 變數[頭下標:尾下標:步長],如果第三個參數為負數表示逆向讀取
  • 索引值以0為開始值,-1為從末尾的開始位置
  • 加號+是列表連接運算符,星號*是重覆操作

五、Set (集合)

  • Python 中的集合(Set)是一種無序、可變的數據類型,用於存儲唯一的元素。
  • 集合中的元素不會重覆,並且可以進行交集、並集、差集等常見的集合操作。
  • 在 Python 中,集合使用大括弧{} 表示,元素之間用逗號,分隔。
  • 另外,也可以使用 set() 函數創建集合。 創建一個空集合必須用set() 而不是 { },因為 { } 是用來創建一個空字典。
    創建格式:parame = {value01,value02,...} 或者 set(value)

六、Dictionary(字典)

  • 字典(dictionary)是Python中另一個非常有用的內置數據類型
  • 列表是有序的對象集合,字典是無序的對象集合。
    兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。
  • 字典是一種映射類型,字典用 { } 標識,它是一個無序的鍵(key) : 值(value) 的集合。
    鍵(key)必須用不可變類型。同一個字典,鍵(key)唯一
  • 字典元素是鍵值對
  • 字典類型也有一些內置的函數,例如 clear()、keys()、values() 等。

此外 布爾類型只有兩個值:True 和 False

七、bool(布爾類型)

  • 布爾類型只有兩個值:True 和 False
  • Python中,True 和 False 都是關鍵字,表示布爾值。
  • 布爾類型可以用來控製程序的流程
  • 布爾類型可以和其他數據類型進行比較或者轉換時,True 會被轉換成 1,False 會被轉換成 0

一些高級的數據類型

八、bytes類型

  • Python3中,bytes 類型表示不可變的二進位序列(byte sequence)。通常用於處理二進位數據
  • bytes元素是整數值(0到255之間的整數),不是 Unicode 字元。
  • 創建 bytes 對象的方式有多種,最常見的方式是使用 b首碼
  • bytes()函數其他類型的對象轉換為bytes類型。 bytes() 函數的第一個參數是要轉換的對象第二個參數是編碼方式如省略第二個參數,則預設UTF-8 編碼

九、總結:列表 元組,集合,字典

  • 創建空列表 空元組,空集合,空字典
    (dict = {} #空字典 (註意區分空集合 set() 而不是set= {}))
  • 搞清楚元素類型可以相同嗎 ,元素可以改變嗎?

十、Python數據類型轉換

  • 數據類型的轉換,你只需要將數據類型作為函數名即可

  • 不同數據類型之間不一定能隨意轉化

    取決於原始數據是否能夠提供足夠的信息來表示目標類型。

整數可轉換為字元串,因為每一個整數都有一個明確的字元串表示(例如,整數123可以表示為字元串"123")。
對於一個非數字字元串(如"Hello"),它無法被轉換為一個整數或浮點數,因為這個字元串並不包含任何可以表示一個數字的信息。
  • 高和低數據類型表示數據精度。即數據類型能夠表示的信息量或詳細程度

  • Python 數據類型轉換可以分為兩種:

    (1)隱式類型轉換 - 自動完成 。(Python會自動將一種數據類型轉換為另一種,不需要我們去干預)
    數據類型(整數)就會換為較數據類型(浮點數)以避免數據丟失。

    (2)顯式類型轉換 - 需要使用類型函數來轉換。高轉低

x =1
s= [1,12]
d = {}
float( x ) # 將x轉換到一個浮點數將x轉換到一個浮點數
str(x) #將對象 x 轉換為字元串
tuple(s) #將序列 s 轉換為一個元組
list(s) #將序列 s 轉換為一個列表
set(s) #轉換為可變集合
dict(d) #創建一個字典。d 必須是一個 (key, value)元組序列。

Python3 算術運算符

算術運算符
比較(關係)運算符
賦值運算符
邏輯運算符
位運算符
成員運算符
身份運算符
運算符優先順序
(詳情見https://www.runoob.com/python3/python3-basic-operators.html)

一、python3 數字 Number

數據類型是不允許改變的,這就意味著如果改變數字數據類型的值,將重新分配記憶體空間。

可以使用del語句刪除一些數字對象的引用。

#del語句的語法是:
del var1[,var2[,var3[....,varN]]]

1、Python 支持三種不同的數值類型:

整型(int)

  • 通常被稱為是整型或整數,是正或負整數,不帶小數點。Python3 整型是沒有限制大小的,可以當作 Long 類型使用,所以 Python3 沒有 Python2 的 Long 類型。布爾(bool)是整型的子類型
  • 可以使用十六進位和八進位來代表整數

浮點型(float)

  • 浮點型由整數部分與小數部分組成,浮點型也可以使用科學計數法表示(2.5e2 = 2.5 x 102 = 250)

複數( (complex))

  • 複數由實數部分和虛數部分構成,可以用a + bj,或者complex(a,b)表示, 複數的實部a和虛部b都是浮點型

2、Python 數字類型轉換

3、Python 數字運算

只讀變數

在交互模式中,最後被輸出的表達式結果被賦值給變數 _ 。例如:

>>> tax = 12.5 / 100
>>> price = 100.50
>>> price * tax
12.5625
>>> price + _
113.0625
>>> round(_, 2)
113.06

此處, _ 變數應被用戶視為只讀變數

4、數字函數

函數 返回值(描述)
abs(x) 返回數字的絕對值,如abs(-10) 返回 10
max(x1,x2,...) 返回給定參數的最大值,參數可以為序列。
min(x1,x2,...) 返回給定參數的最小值,參數可以為序列。
sqrt(x) 返回數字x的平方根。

5、隨機數函數

函數 描述
choice(seq) 從序列的元素中隨機挑選一個元素,比如random.choice(range(10)),從0到9中隨機挑選一個整數。
uniform(x,y) 隨機生成下一個實數,它在[x,y]範圍內。
random() 隨機生成下一個實數,它在[0,1)範圍內。

6、三角函數

7、數字常量

常量 描述
pi 數學常量 pi(圓周率,一般以π來表示)
e 數學常量 e,e即自然常數(自然常數)。

二、Python3 字元串

字元串是 Python 中最常用的數據類型。我們可以使用引號( ' 或 " )來創建字元串。

創建字元串很簡單,只要為變數分配一個值即可。

1、Python 訪問字元串中的值

Python 不支持單字元類型,單字元在 Python 中也是作為一個字元串使用。

Python 訪問子字元串,可以使用方括弧 [] 來截取字元串。

索引值以 0 為開始值,-1 為從末尾的開始位置。

#字元串的截取的語法格式如下:
變數[頭下標:尾下標]

2、Python 字元串更新

var1 = 'Hello World!'
 
print ("已更新字元串 : ", var1[:6] + 'Runoob!')

3、Python 轉義字元

反斜杠 \ 轉義字元

r不發生轉義

4、 Pyhton 字元串運算符

實例變數 a 值為字元串 "Hello",b 變數值為 "Python":

操作符 描述 實例
+ 字元串連接 a + b 輸出結果: HelloPython
* 重覆輸出字元串 a*2 輸出結果” HelloHello
[:] 截取字元串中的一部分,遵循左閉右開原則,str[0:2] 是不包含第 3 個字元的。 a[1:4] 輸出結果 ell

5、Python 字元串格式化

最基本的用法是將一個值插入到一個有字元串格式符 %s 的字元串中。

6、Python三引號

python三引號允許一個字元串跨多行,字元串中可以包含換行符、製表符以及其他特殊字元。

7、f-string字面量格式化字元串

f-string 是 python3.6 之後版本添加的,稱之為字面量格式化字元串,是新的格式化字元串的語法。
之前我們習慣用百分號 (%):

name = 'Runoob'
print('Hello %s'%name)

f-string 格式化字元串以 f 開頭,後面跟著字元串,字元串中的表達式用大括弧 {} 包起來,它會將變數或表達式計算後的值替換進去,實例如下:

name = 'Runoob'
f'Hello{name}'

8、Python3 Unicode字元串

在Python3中,所有的字元串都是Unicode字元串。

Unicode字元串則存儲為16位unicode字元串

9、Python 字元串內建函數


三、Python3 列表

訪問列表中的值

1.更新列表,刪除列表元素

2.列表比較

列表比較需要引入 operator 模塊的 eq 方法

import operator

a = [1,2]
b = [2,3]
c = [2,3]
print(operator.eq(a, b))
print(operator.eq(b, c))

3.Python列表函數&方法

Python 包含以下函數

序號 函數 描述
1 len(list) 返回列表元素個數
2 max(list) 返回列表元素最大值
3 min(list) 返回列表元素最小值
4 list(seq) 將元組轉換為列表

Python 包含以下方法

序號 方法 描述
1 list.append(obj) 在列表末尾添加新的對象
2 list.insert(index,obj) 將對象插入列表
3 list.pop([index= -1]) 移除列表中的一個元素,(預設最後一個元素),並且返回該元素的值
4 list.sort(key= None,reverse = False) 對原列表進行排序
4 list.clear() 清空列表
4 list.copy 複製列表

四、 Python3 元組

1.元組創建(單個元素元組,空元組),訪問, 修改 ,截取,刪除元組

元組創建只需要在括弧()中添加元素,使用逗號,隔開。

元組使用小括弧 ( ),列表使用方括弧 [ ]

元組的元素不能修改(但我們可以對元組進行連接組合),列表的元素可以修改。

創建空元組
tup1 = ()

元組中只包含一個元素時,需要在元素後面添加逗號, ,否則括弧會被當作運算符使用:

2.元組的索引,截取

因為元組也是一個序列,所以我們可以訪問元組中的指定位置的元素,也可以截取索引中的一段元素,

3. 元組運算符

與字元串一樣,元組之間可以使用 ++=* 號進行運算。

這就意味著他們可以組合和複製,運算後會生成一個新的元組。

4.元組內置函數

len(tup)
max(tup)


五、Python3 字典

字典是另一種可變容器模型,且可存儲任意類型對象。

字典的每個鍵值 key=>value 對用冒號 : 分割,每個對之間用逗號(,)分割,整個字典包括在花括弧 {}中 ,

格式如下所示:

d = {key1 : value1, key2 : value2, key3 : value3 } 

值可以取任何數據類型,但鍵必須是不可變的,如字元串,數字。

鍵必須是唯一的,但值則不必。

不允許同一個鍵出現兩次。創建時如果同一個鍵被賦值兩次,後一個值會被記住

鍵必須不可變,所以可以用數字,字元串或元組充當,而用列表就不行

1. 創建空字典

使用大括弧 { } 創建空字典

emptyDict = {}

2.查看字典的數量

print("Length:", len(emptyDict))

3.查看類型

print(type(emptyDict))

4.訪問字典里的值

tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
print ("tinydict['Name']: ", tinydict['Name'])
print ("tinydict['Age']: ", tinydict['Age'])

5.修改字典,刪除字典

向字典添加新內容的方法是增加新的鍵/值對,修改或刪除已有鍵/值對

能刪單一的元素也能清空字典,清空只需一項操作。

顯式刪除一個字典用del命令,如下實例:

6.字典內置函數&方法


六、集合

集合(set)是一個無序的不重覆(元素重覆會自動刪除)元素序列。
可以進行交集、並集、差集等常見的集合操作。

集合對 list 和 tuple 具有排序(升序)

1. 集合的創建

可以使用大括弧{} 創建,元素之間用逗號 ,分隔

也可以使用 set() 函數創建集合。

#語法格式
parame = {value01,value02,...}
#或者
set(value)

2. 集合的基本操作

添加元素

#兩種函數,註意區別
s.add( x )
#或
s.update( x ) 

s.update( "字元串" ) 與 s.update( {"字元串"} ) 含義不同,註意區別

刪除元素

#兩種函數,註意區別
s.remove( x )
#或
s.discard( x )

#隨機刪除集合中的一個元素
s.pop()
#set 集合的 pop 方法會對集合進行無序的排列,然後將這個無序排列集合的左面第一個元素進行刪除

3.計算集合元素個數

len(s)

4. 清空集合

s.clear()

5. 判斷元素是否在集合中存在

x in s

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 目錄 1. JDBC簡介 2. JDBC項目 3. JDBC的導入 4. JDBC的使用 內容 JDBC簡介 什麼是JDBC JDBC的全稱是Java資料庫連接(Java Database connect),它是一套用於執行SQL語句的Java API。應用程式可通過這套API連接到關係資料庫,並使 ...
  • 字典用於存儲鍵值對形式的數據。字典是一個有序、可更改的集合,不允許重覆。從 Python 3.7 版本開始,字典是有序的。在 Python 3.6 及更早版本中,字典是無序的。字典用花括弧編寫,具有鍵和值: 示例,創建並列印一個字典: thisdict = { "brand": "Ford", "m ...
  • 1、 安裝 pip install openpyxl 想要在文件中插入圖片文件,需要安裝pillow,安裝文件:PIL-fork-1.1.7.win-amd64-py2.7.exe · font(字體類):字型大小、字體顏色、下劃線等 · fill(填充類):顏色等 · border(邊框類):設置單元 ...
  • 正文 面的幾個章節已經分析了spring基於@AspectJ的源碼,那麼接下來我們分析一下Aop的另一個重要功能,事物管理。最全面的Java面試網站 事務的介紹 1.資料庫事物特性 原子性 多個資料庫操作是不可分割的,只有所有的操作都執行成功,事物才能被提交;只要有一個操作執行失敗,那麼所有的操作都 ...
  • 餅圖,或稱餅狀圖,是一個劃分為幾個扇形的圓形統計圖表。在餅圖中,每個扇形的弧長(以及圓心角和麵積)大小,表示該種類占總體的比例,且這些扇形合在一起剛好是一個完全的圓形。 餅圖最顯著的功能在於表現“占比”。習慣上,人們通過比較餅圖扇形的大小來獲得對數據的認知。 使用餅圖時,須確認各個扇形的數據加起來等 ...
  • 本文是Dart語言學習的第12天,和前面11天相比,本文可能相對比較簡單,因為本文要學習的是Dart語言的控制流,也就是迴圈和分支。且前面的11天學習中,多多少少都涉及到了控制流,同時對Java或者JavaScript比較熟悉的朋友,可能比較容易上手…… ...
  • 通過攔截器,我們可以針對特定 URI 做攔截,做相關業務處理,比如檢查用戶是否登錄,列印每個請求的處理耗時等。 一、新建一個攔截器 新建登錄驗證類 LoginValidationInterceptor.java: package site.exception.springbootintercepto ...
  • for遍歷 一:常規方式 1.遍曆數組 int arr[10] = {1,2,3,4,5,6,7,8,9,10}; for(int i = 0;i<10;i++) { cout<<arr[i]; } 3.遍歷容器類(迭代器) vector<int> s = {0,1,2,3,4,5,6,7,8,9} ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...