【Python】Python中的數據類型

數據類型

  • 導讀
  • 一、數據類型的分類
    • 1.1 Number(數字)
      • 1.1.1 靜態數據類型
      • 1.1.2 動態數據類型
    • 1.2 String(字符串)
    • 1.3 bool(布爾類型)
  • 二、數據類型的轉換
    • 2.1 隱式類型轉換
    • 2.2 顯式類型轉換
      • 2.2.1 `int(x[,base])`——將x轉換為一個base進制的整數
  • 結語

封面

導讀

大家好,很高興又和大家見面啦!!!

在上一篇內容中我們介紹了Python中的常量與變量的相關內容。常量也就是不可改變的量,與之對應的變量則是可以改變的量。

Python中的常量可以分為四類:

  • 數字常量
  • 字符串常量
  • 布爾常量
  • 特殊常量——None

而Python中的變量與C/C++中的變量不一樣的是,在Python中變量在定義時是不需要指明數據類型的,變量的數據類型會根據定義變量時的初始值來進行確定。

計算機語言作為人類與計算機交流的工具,它的作用就是用來給計算機下達相關的指令來使計算機執行相關的操作。

程序猿在使用計算機語言與計算機進行溝通時,則需要通過所使用的語言來描述想要傳達的信息。

就比如描述一個人的年齡可以通過整數來描述;描述一個人的姓名可以通過字符串來描述;描述一件衣服的價格可以通過浮點數來描述;描述一件事的真假可以通過布爾值來描述……

這里就涉及到了我們在描述這些數據時所對應的數據類型,在C語言中,我們已經接觸到的數據類型可以分為以下幾個大類:

  1. 整型數據類型
  2. 浮點型數據類型
  3. 指針型數據類型
  4. 數組型數據類型
  5. 布爾型數據類型
  6. 自定義數據類型

而這些大類中又會分為幾個小類,這里我們以整型和浮點型為例,這里我們不考慮無符號數據類型:

  • 整型可分為:
    • 字符型數據類型(char
    • 短整型數據類型(short
    • 整型數據類型(int
    • 長整型數據類型(long int
    • 更長的整型數據類型(long long int
  • 浮點型可分為:
    • 單精度浮點型數據類型(float
    • 雙精度浮點型數據類型(double

從這里我們可以看到,C 語言這種面向過程的計算機語言在語法上是非常的精細的,通過C語言我們可以很詳細的描述一件事情發生的經過,但是相對應的,在處理同一件事情上,C語言的代碼量是相比于其它語言更加龐大的,因此C語言無法處理特別復雜的問題。

C++作為面向對象的計算機語言,它相比于C語言則是能夠處理更加高度抽象化的問題,因此在C++中舍棄了C語言中的部分數據類型,如指針類型。

那么在Python中,其數據類型又會和C/C++之間有哪些不同之處呢?在今天的內容中我們將會介紹Python中的數據類型。

一、數據類型的分類

Python 作為一個高層次的結合了解釋性、編譯性、互動性和面向對象的腳本語言,它相比于C/C++而言,代碼的可讀性更強,描述事物的過程更加直接,因此在Python中,其數據類型主要有以下幾類:

  • Number(數字)
  • String(字符串)
  • bool(布爾類型)
  • List(列表)
  • Tuple(元組)
  • Set(集合)
  • Dictionary(字典)

在這七種數據類型中,根據其對應類型的值是否可變可以將其分為兩類:

  • 不可變類型——數字、字符串、布爾、元組這四種數據類型的值是不可變的;
  • 可變類型——列表、集合、字典中這三種數據類型的值是可變的。

這里所說的可變可不變,我們通過具體的代碼來進行理解:

# 數據類型
a = 1   # 數字(Number)
b = 'A'     # 字符串(String)
c = True    # 布爾(bool)
tup = (a, b, c)    # 元組(Tuple)

在代碼中,我們分別展示了這四種類型的變量以及這些變量所對應的值,我們在描述數字、字符串、和布爾這三種數據類型的值時,實際上說的是這些數據類型的常量值,這些常量值是不可變的;

而對于元組而言,它相比于C語言中的數組來說在存儲數據這一塊的能力要更加的強大,元組中的數據可以是不同類型的數據,但是一旦元組中的數據確定后,就無法再對這些數據進行修改,如下所示:

元組
可以看到,此時程序是會報錯——類型錯誤:元組類型不支持項分配。這就好比于位于元組中的值被打包成為了一個常量,和我們在C語言中接觸的常量字符串一樣,常量字符串中的值是無法被修改的。

對于列表、字典、集合而言,它們的值則是可以進行修改的,如下所示:

lis = [a, b, c]     # 列表(List)
dic = {a: 1, b: 'A', c: True}   # 字典(Dictionary)
Set = {a, b, c}     # 集合(Set)

這里我們列舉了這三種數據類型的變量及其對應的值,這些變量我們可以理解為是元組類型的升級版,如果說將元組類型看做是常量字符串的話,那這里的三種類型就可以理解為字符數組。

在C/C++中,常量字符串中的字符是無法在后續的運行中進行更改的,而字符數組中的值則是可以在后續的運行中進行修改,如下所示:

字符數組與常量字符串
可以看到,此時我們可以完成對字符數組中的元素的修改,但是無法修改常量字符串中的元素。

在前面我們也說過,元組我們可以理解為常量字符串,元組中的元素就行常量字符串中的元素一樣,是無法進行修改的,而列表、字典和集合這三種類型的變量就如同字符數組一樣,我們可以對其值進行修改,這里我以列表為例,如下所示:

列表
從測試結果中可以看到,此時列表中的值在經過修改后發生了變化。相信大家現在應該理解了什么是值可變,什么是值不可變,這里我們就不再繼續展開。

1.1 Number(數字)

Python中的數字主要可以分為三種數據類型:

  • 整型(int)——通常被稱為是整型或整數,是正或負整數,不帶小數點。布爾(bool)是整型的子類型。

  • 浮點型(float) - 浮點型由整數部分與小數部分組成,浮點型也可以使用科學計數法表示( 2.5 e 2 = 2.5 × 1 0 2 = 250 2.5e2 = 2.5 × 10^2 = 250 2.5e2=2.5×102=250

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

對于Python而言,為了使編程語言簡潔化,保證解決問題的方式只有一種,因此Python中舍棄了C語言中的字符型(char)、短整型(short)、長整型(long)、更長的整型(long long)這些表示整型的數據類型,只保留了整型(int),通過int來表示所有類型的整型;對于浮點型而言,Python同樣舍棄了雙精度浮點型(double),只保留了單精度浮點型(float),通過float來表示所有類型的小數。

這時可能有朋友就會問了,那如果舍棄了這些數據類型,此時int所包含的數值范圍是多少呢?會不會出現溢出的情況呢?

這個問題就涉及到了兩個概念——靜態數據類型與動態數據類型。

1.1.1 靜態數據類型

所謂的靜態數據類型,簡單的理解就是不可改變的數據類型,如C/C++中的數據類型。

當我定義一個整型變量之后,那該變量就只能是整型,相對應的該變量的取值范圍就是 ? 2 31 ~ 2 31 ? 1 -2^{31}~2^{31}-1 ?231231?1,具體的值我們可以在VS中通過頭文件<limits.h>中獲取,如下所示:

整型最大值與最小值
一個整型變量的值就是一個周期函數,當值達到最小值后再減1就會回到最大值,當值達到最大值后再加1就會回到最小值,如下所示:
整型最大值和最小值2

在C/C++中所有的數據類型都是如此,每一個數據類型所創建的變量只能存儲其對應的數值范圍內的數,該存儲范圍是不能發生改變的,也就是說其變量的類型不會根據存儲的值的大小而產生變化;

靜態數據類型除了變量的取值范圍不會改變外,其變量的數據類型也不會發生改變,如下所示:

靜態數據類型
在這次測試中,我們將整型變量a賦值了一個字符串,整型變量b賦值了一個雙精度浮點型小數。

  • 從打印結果可以看到,字符串是能夠正常打印,但是雙精度浮點型的小數無法打印;
  • 從監視窗口可以看到,即使我們此時賦予變量a和變量b的值一個為字符類型一個為雙精度浮點型,但是變量a和變量b的數據類型并沒有因此發生改變。

從以上兩個例子可以得到結論以下結論:

  • 靜態數據類型的變量的取值范圍不會改變
  • 靜態數據類型的變量的數據類型不會改變

這里有朋友可能就會好奇了,為什么將字符串賦予整型變量不會對結果產生影響?

  • 這是因為字符類型同樣也是整型的一個分支,只不過其字節大小比整型小;
  • 將字符串賦值給整型變量,就相當于將短整型的數據賦值給整型變量,因此二者并不會發生沖突。

1.1.2 動態數據類型

與靜態數據類型相對應的就是動態數據類型。

動態數據類型與靜態數據類型剛好相反,動態數據類型的變量的取值范圍會隨著存儲值的大小而發生改變,動態數據類型的變量也會因為其值的數據類型的變化而發生變化。

在Python中創建的變量就屬于動態數據類型的變量,如下所示:

動態數據類型
從這里的測試結果不難發現,在Python中變量的數據類型、取值范圍會隨著值的不同而發生變化。因此對于Python而言,其變量的數據類型為動態數據類型,并且其變量具有以下特點:

  • 變量的取值范圍可視為負無窮大到正無窮大;
  • 變量的數據類型會根據其存儲值的數據類型的改變而改變

1.2 String(字符串)

在C/C++中,字符類型屬于整型的一個小分支,字符串類型為指針類型的一個小分支。在C/C++中,整型和指針類型都是能夠進行±整數的類型,因此C/C++可以實現字符+整數,字符串+整數,如下所示:

字符串類型
在C/C++中,字符±整數實際上是字符對應的ASCII碼值±整數;字符串±整數實際上是字符串的地址進行±整數。

但是在Python中不同類型的變量是無法進行+運算的,這里的不同類型指的是前面我們提到的七種類型,但是對于同一類型的不同分支則是可以進行運算的,如下所示:
字符串類型2
但是如果是不同類型的變量,則無法進行+運算,如下所示:

字符串類型3
因此,在Python中,舍棄了C/C++中的字符類型,而重新創建了一個新的數據類型——字符串類型。

字符串類型的值既可以用單引號''表示,也可以用雙引號""表示。因此Python中就沒有了字符和字符串之分,所有用單引號或者雙引號表示的對象都被劃分為了字符串類型。

1.3 bool(布爾類型)

在C語言中,我們通過引用頭文件<stdbool.h>之后,就可以解鎖布爾類型。

C/C++中的布爾類型的值有兩個——真(true)和假(false)。布爾類型的值常用于判斷語句中,如下所示:

布爾類型
在條件語句中,當判斷語句的結果為真,則執行對應的分支中的語句。從上例可以看到,因為a的布爾值為真,所以執行的是if語句中的內容,而b的值為假,所以執行的是else語句中的內容。

在Python中布爾類型的值同樣也是兩個——真(True)和假(False)。

這里要注意的是Python中的布爾值的首字母是大寫,而C/C++中布爾值的首字母是小寫。

Python中布爾型被歸為了整型的一個分支,但是其使用方式與C/C++中一致,都是用于判斷語句中,如下所示:

布爾類型2

對于布爾類型而言,不管是C/C++還是Python,布爾值的判斷都滿足:

  • 0為假,值為0;
  • 非0為真,值為1

也就是說布爾值在進行整型運算時,真對應的整型值就是1,假對應的整型值就是0,如下所示:

布爾類型3
還有其他的數據類型我們會在后面的篇章中再著重介紹,這里就不再展開,目前只需要了解即可。接下來我們就需要繼續學習Python中的數據類型之間是如何相互轉換的。

二、數據類型的轉換

在C語言中我們在介紹操作符時有提到過一個概念——隱式類型轉換和顯示類型轉換。

簡單的理解就是在不同類型的值進行運算時,運算的過程中自動進行類型轉換的現象稱為隱式類型轉換,通過強制類型轉換操作符完成轉換的現象稱為顯式類型轉換。

如果有不了解的朋友可以回顧以下【C語言必學知識點四】操作符中的十二、表達式求值的相關內容,里面有詳細介紹C語言中的隱式類型轉換,這里就不再展開。

而在Python中同樣也有隱式類型轉換和顯示類型轉換一說。

2.1 隱式類型轉換

在Python中,隱式類型轉換主要出現同類型的不同分支中,如下所示:

隱式轉換

在這次測試中我們分別測試了整型與布爾型、整型與浮點型、浮點型與復數型這同一大類的數據類型下的三種情況下不同類型的值的運算,從測試結果中我們可以看到,整型與布爾型的值相加得到的新值e的數據類型為整型,整型與浮點型的值相加得到的新值c的數據類型為浮點型,浮點型的值與復數型的值相加得到的新值的數據類型為復數型。

隱式轉換的規則為:在同一大類的不同分支的數據類型的值進行運算時,較小的數據類型會優先轉換成較大的數據類型。

在這整個運算過程中,不同類型的值進行相加時,實際上為了保證不丟失數據,較小的數據類型都會先通過隱式轉換的方式變成較大的數據類型在與之進行運算。

因此我們不難得到在Number中的這些數據類型的大小關系為:
b o o l < i n t < f l o a t < c o m p l e x bool < int < float < complex bool<int<float<complex

2.2 顯式類型轉換

在C/C++中為了實現不同類型的數據之間的運算,是通過強制類型轉換操作符才能得以實現,如下所示:

顯式類型轉換

可以看到在C語言中取模操作符是無法用于double類型的操作對象,此時我們就需要通過強制類型轉換操作符將double類型的對象強制轉換為整型,如下所示:

顯式類型轉換
可以看到此時程序就能正常運行。

像C/C++這種為了完成不同類型的數據之間的運算,將其中一種類型強制轉換成另一種類型的方式就是顯式類型轉換。

C/C++中的顯式類型轉換是通過強制類型轉換操作符()來實現,而在Python中則是通過內建函數來實現。Python中用于進行類型轉換的函數如下所示:
顯式類型轉換
對于不同的函數如何進行使用,大家可以參考Python3 數據類型轉換,里面有詳細的介紹。這里我給大家簡單的介紹幾個我們會用到的內建函數;

2.2.1 int(x[,base])——將x轉換為一個base進制的整數

該函數的語法如下所示:

int(x, base=10)
# x——轉換的對象(字符串或者數字)
# base——轉換的進制(默認十進制)

從函數的語法中可知,該函數僅用于將字符串或者數字轉換成base進制的整數,具體的進制由傳入的參數base來決定,base的默認參數為10,也就是說,我們如果不對base傳參的情況下,函數默認將x轉換成十進制的整數,如下所示:

int函數

可以看到在打印的結果中,雖然a與b的值都是打印的10,但是一個為字符串,一個為整數。當我們對函數傳入第二個參數后,其值則變為了2,也就是說函數將"10"轉換成了2進制的整數。

那是不是說該函數只需要傳入一個或者兩個參數就夠了呢?然而這個函數并不是這么簡單,我們要給函數傳入的參數需要根據base來決定。

對于不同進制而言,其取值范圍如下所示:

進制取值范圍
二進制0~1
八進制0~7
十進制0~9
十六進制0~9與a~f

下面我們以十六進制為例來進行測試:

int函數2
可以看到此時函數是能夠正常的進行轉換的,如果轉換的字符串中存在一個不在范圍內的字符,又會有什么結果呢?
int函數3
可以看到此時程序再次運行后,就出現了值錯誤的提示。這還沒完,如果我們將參數改為整型又會如何呢?

int函數4
可以看到,此時又出現了類型錯誤。函數不能轉換非字符串的內容。

之所以會有這種結果,是因為該函數的底層邏輯是將數字或字符串轉換成十進制的整數,而非是進行不同進制的相互轉換

也就是說,當我們要將字符串轉換成不同進制的整數時,我們首先需要保證字符串的內容符合要轉換的進制的取值范圍,其次,在轉換的過程中,函數會先通過相應的進制來識別字符串中的內容,最后,函數會將識別到的內容轉換為十進制的整數。

這也就是為什么第一次測試中對于字符串"123456789abcdef"轉換之后得到的是一個很大的數,而非十六進制格式的結果;

該函數的操作數可以為數字,實際上就是進行的一個取整的工作,如下所示:

int函數5
可以看到,該取整的過程實際上是取得參數的整數部分,因此該函數更多的情況下是用于字符串轉整數,這個在后面的內容中會詳細說明,這里就不再繼續展開。

相信大家現在應該能夠理解Python中的數據類型以及類型之間的轉換了,在后面的學習中,我們會對這一塊的內容繼續深入的學習,這里就不再繼續展開。

結語

今天的內容到這里就全部結束了,在下一篇內容中我們將介紹《Python中的輸入與輸出》的相關內容,大家記得關注哦!如果大家喜歡博主的內容,可以點贊、收藏加評論支持一下博主,當然也可以將博主的內容轉發給你身邊需要的朋友。最后感謝各位朋友的支持,咱們下一篇再見!!!

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

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

相關文章

系統運維面試總結(shell編程)

SYNDDOS攻擊&#xff0c;需要判斷這個訪問是正常訪問還是信包攻擊&#xff0c;當前這個信包發起的訪問數量是多少&#xff0c;例如看到30個信包同時再訪問時設置監控報警。 一般選用/dev/urandom生成&#xff0c;但其生成的隨機數帶有二進制亂碼&#xff0c;所以需要tr命令…

光源基礎知識及選型原則

光的基礎知識 1.光譜(專業理解):光能量在不同頻率上的分布。 2.可見光的波段在380mm—700mm之間。紅光波長最長,為700mm左右,紫光波長最短,在380mm左右。 3.色溫(以白色為界):光源的顏色與黑體在某一溫度下輻射光的顏色相同(或最相近)時,黑體的溫度就稱為該光源…

CASS中按指定距離和方向移動圖形

1、繪制一個圖形 打開軟件&#xff0c;隨意繪制一個矩形&#xff0c;并量取左下角點的坐標值&#xff0c;具體如下&#xff1a; 2、按距離移動原理講解 例1&#xff1a;將圖形沿著y軸負方向移動100米&#xff0c;如何實現&#xff1f; 如上圖所示&#xff0c;測繪中的坐標系…

多載波調制與OFDM原理講解以及MATLAB實現GUI設計

前言 基于MATLAB設計并實現了一個OFDM調制的圖形用戶界面&#xff08;GUI&#xff09;系統。該系統旨在簡化OFDM調制過程的仿真&#xff0c;提供友好的用戶交互界面。設計目標是通過GUI實現參數化的OFDM仿真&#xff0c;包括子載波數、符號數、IFFT長度、循環前綴長度、循環后…

模擬退火算法2—優缺點

模擬退火算法優點 1、以一定的概率接受惡化解 模擬退火算法(SA)在搜索策略上與傳統的隨機搜索方法不同,它不僅引入了適當的隨機因素,而且還引入了物理系統退火過程的自然機理。這種自然機理的引入使模擬退火算法在迭代過程中不僅接受使目標函數變“好”的試探點,而且還能以一…

【單片機畢業設計選題24034】-基于STM32的手機智能充電系統

系統功能: 系統可以設置充電時長&#xff0c;啟動充電后按設置的充電時長充電&#xff0c;充電時間到后自動 停止充電&#xff0c;中途檢測到溫度過高也會結束充電并開啟風扇和蜂鳴器報警。 系統上電后&#xff0c;OLED顯示“歡迎使用智能充電系統請稍后”&#xff0c;兩秒鐘…

Python錯誤處理 -- 異常捕獲

本套課在線學習視頻&#xff08;網盤地址&#xff0c;保存到網盤即可免費觀看&#xff09;&#xff1a; ??https://pan.quark.cn/s/ebe046289eb0?? 本文詳細介紹了Python編程中try-except-else-finally語句的用法&#xff0c;重點講解了如何通過這些語句對程序中可能出現…

哨兵1SAR空間數據包協議數據單元文檔(五)

《哨兵1SAR空間數據包協議數據單元》文檔對數據包的結構進行了詳細描述&#xff0c;并提供了用戶數據的格式和解碼算法。 原文鏈接: 哨兵1SAR空間數據包協議數據單元文檔英文版 同系列中的其他文章篇鏈接: 哨兵1SAR空間數據包協議數據單元文檔&#xff08;一&#xff09; 哨兵1…

Vue 2 與 ECharts:結合使用實現動態數據可視化

在現代前端開發中&#xff0c;數據可視化變得越來越重要。ECharts 是一個強大的數據可視化庫&#xff0c;而 Vue 2 則是一個流行的前端框架。本文將介紹如何將 Vue 2 和 ECharts 結合使用&#xff0c;以實現動態數據可視化。 安裝與配置 首先&#xff0c;確保你的項目中已經安…

Redis數據結構——跳躍表 skiplist

跳躍表&#xff08;Skip List&#xff09;是一種數據結構&#xff0c;常被用作一種有序的數據結構&#xff0c;提供快速的插入、刪除和查找操作&#xff0c;其效率接近于平衡樹&#xff08;如紅黑樹&#xff09;&#xff0c;但實現起來更簡單。 1. 跳躍表的基本概念 層級結構…

保存在FinalShell服務器登錄密碼忘記了,如何快速獲取到

一、從FinalShell獲取服務器基本信息 如圖操作會導出一個json文件&#xff0c;可以直接保存在桌面&#xff0c;或者其他位置 json格式如下&#xff1a; {"forwarding_auto_reconnect":false ,"custom_size":false ,"delete_time":0 ,"sec…

Python數據分析-舊金山犯罪預測分析(San Francisco Crime Classification)

一、研究背景 舊金山是一個人口稠密、旅游業發達的城市&#xff0c;同時也是美國犯罪率較高的城市之一。隨著城市的不斷發展&#xff0c;犯罪行為的類型和頻率也在不斷變化&#xff0c;這對城市的治安管理和社會穩定構成了巨大的挑戰。近年來&#xff0c;數據科學技術的迅猛發…

xmind導入導出支持圖片功能源碼改造

xmind導入導出支持圖片功能 在開發用例管理平臺的過程中&#xff0c;需要使用xmind來管理用例。所以也涉及到xmind用例的導入導出功能&#xff0c; 在開始的時候&#xff0c;xmind文件中沒有圖片&#xff0c;所以使用xmind,xmindparser包就可以完成改任務。現在新增需求&#x…

C# 編程中互斥鎖的使用

C# 中的互斥鎖 互斥鎖是 C# 中使用的同步原語&#xff0c;用于控制多個線程或進程對共享資源的訪問。其目的是確保在任何給定時間只有一個線程或進程可以獲取互斥鎖&#xff0c;從而提供互斥。 C# 中互斥鎖的優點 可以使用互斥鎖 (Mutex) 并享受其帶來的好處。 1. 共享資源…

德國威步的技術演進之路(下):從云端許可管理到硬件加密狗的創新

從單機用戶許可證到WkNET網絡浮點授權的推出&#xff0c;再到引入使用次數和豐富的時間許可證管理&#xff0c;德國威步產品不斷滿足市場對靈活性和可擴展性的需求。TCP/IP浮動網絡許可證進一步展示了威步技術在網絡時代的創新應用。借助于2009年推出的借用許可證以及2015年推出…

mac磁盤工具如何合并分區 macos 磁盤工具 無法抹除 磁盤管理軟件哪個使用率最高

一、什么是NTFS格式分區 NTFS格式分區是微軟公司開發的諸多文件系統中的一種。NTFS格式分區是一種文件系統&#xff0c;磁盤只有在安裝了文件系統后才能被正常使用&#xff0c;文件系統的格式有非常多&#xff0c;常見的有FAT 32和NTFS。 作為常見文件系統&#xff0c;NTFS格式…

無人機集群協同搜索研究綜述

源自&#xff1a;指揮控制與仿真 作者&#xff1a;劉圣洋, 宋婷, 馮浩龍, 孫玥, 韓飛 注&#xff1a;若出現無法顯示完全的情況&#xff0c;可 V 搜索“人工智能技術與咨詢”查看完整文章 摘要 無人機集群協同區域搜索能夠有效地獲取任務區域地面信息,降低環境不確定度。基…

買賣股票的最佳時期含冷凍期(leetcode)

個人主頁&#xff1a;Lei寶啊 愿所有美好如期而遇 也就有這樣的狀態轉移方程&#xff1a; 買入&#xff1a;dp[i][0] max(dp[i-1][1] - prices[i], dp[i-1][0]); 可買入&#xff1a;dp[i][1] max(dp[i-1][1], dp[i-1][2]); 冷凍期&#xff1a;dp[i][2] dp[i-1][0] prices…

使用ChatGPT自動生成測試用例思維導圖

使用ChatGPT自動生成測試用例思維導圖 引言ChatGPT在測試用例編寫中的應用全面覆蓋測試場景邊界測試避免測試用例重復 借助ChatGPT生成測試用例思維導圖準備工作步驟一&#xff1a;與ChatGPT對話步驟二&#xff1a;生成思維導圖代碼 結語 引言 在編寫測試用例時&#xff0c;測…

基于Python Django的房價數據分析平臺,包括大屏和后臺數據管理,有線性、向量機、梯度提升樹、bp神經網絡等模型

背景 隨著城市化進程的加速和房地產市場的快速發展&#xff0c;房價已成為經濟學、社會學等多學科交叉研究的熱點問題。為了更精確地分析和預測房價&#xff0c;數據分析和機器學習技術被廣泛應用。在此背景下&#xff0c;開發一個基于Python Django的房價數據分析平臺具有重要…