官术网_书友最值得收藏!

2.3 Python中的變量和數(shù)據(jù)類(lèi)型

變量其實(shí)是內(nèi)存空間中的值,在創(chuàng)建變量時(shí),Python會(huì)自動(dòng)識(shí)別值的數(shù)據(jù)類(lèi)型,并且根據(jù)數(shù)據(jù)類(lèi)型將變量分配到指定的內(nèi)存空間中。Python中變量的數(shù)據(jù)類(lèi)型包括數(shù)字、字符串、列表、字典等。

2.3.1 變量

Python中的變量不需要聲明,但每個(gè)變量在使用之前必須賦值。在給變量賦值后,該變量才會(huì)被創(chuàng)建。使用“=”符號(hào)給變量賦值,“=”符號(hào)左邊為變量名稱,右邊為存儲(chǔ)于變量中的值,示例代碼如下:

輸出結(jié)果如下:

上述代碼分別定義了3個(gè)變量,將3.1415926535897、"圓周率"、2019分別賦給變量pi、name、year,最后使用Log()函數(shù)將這3個(gè)變量打印到日志中。

2.3.2 標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型

Python中的變量?jī)H僅只是一個(gè)名字(name),它關(guān)聯(lián)著內(nèi)存空間中的一個(gè)數(shù)據(jù)(object)。而變量的數(shù)據(jù)類(lèi)型實(shí)際上是該變量關(guān)聯(lián)在內(nèi)存空間中的數(shù)據(jù)(object)的數(shù)據(jù)類(lèi)型。Python 3有6種標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型,分別為Number(數(shù)值)、String(字符串)、List(列表)、Tuple(元組)、Set(集合)、Dictionary(字典)。在編寫(xiě)策略代碼時(shí),常用的數(shù)據(jù)類(lèi)型有Number(數(shù)值)、String(字符串)、List(列表)、Dictionary(字典)。下面重點(diǎn)講解這幾種數(shù)據(jù)類(lèi)型。

2.3.3 Number(數(shù)值)

Number數(shù)據(jù)類(lèi)型主要用于存儲(chǔ)數(shù)字,常用的Number數(shù)據(jù)類(lèi)型有int(整型)、float(浮點(diǎn)型)。int型數(shù)據(jù)就是不帶小數(shù)點(diǎn)的數(shù)字,正整數(shù)、負(fù)整數(shù)和0都是int型數(shù)據(jù)。Number是不可變數(shù)據(jù)類(lèi)型,Number變量的值一旦改變,就意味著需要重新分配內(nèi)存空間。

注意:Python中的布爾(bool)類(lèi)型只有兩個(gè)值,分別True與False(注意:首字母要大寫(xiě)),數(shù)字1和0可以分別用于表示True和False。

定義Number變量的示例代碼如下:

Python是動(dòng)態(tài)編程語(yǔ)言,通常需要判斷對(duì)象的數(shù)據(jù)類(lèi)型,可以使用內(nèi)置的type()函數(shù)查詢對(duì)象的數(shù)據(jù)類(lèi)型,示例代碼如下:

輸出結(jié)果如下:

在這個(gè)例子中,分別定義了一個(gè)int型(整型)變量和一個(gè)float型(浮點(diǎn)型)變量,Log()函數(shù)打印了type()函數(shù)返回的數(shù)據(jù)類(lèi)型。無(wú)論是int型變量,還是float型變量,都可以用于表示數(shù)字,可以進(jìn)行計(jì)算。

注意:在int型變量、float型變量混合計(jì)算時(shí),Python會(huì)先將int型變量轉(zhuǎn)換為float型變量。對(duì)于數(shù)字的除法,如果使用運(yùn)算符“/”,則返回一個(gè)浮點(diǎn)數(shù);如果使用運(yùn)算符“//”,則返回一個(gè)整數(shù)。

2.3.4 String(字符串)

字符串是若干個(gè)字符的集合,是表示文本的數(shù)據(jù)類(lèi)型,Python中的字符串用英文單引號(hào)''或英文雙引號(hào)""括起來(lái),可以使用反斜杠“\”轉(zhuǎn)義特殊字符。字符串的第1個(gè)索引值是0,第2個(gè)索引值是1,以此類(lèi)推。可以對(duì)字符串進(jìn)行連接、截取、復(fù)制等操作。可以通過(guò)方括號(hào)“[]”截取字符串中的字符。例如,[0]表示截取字符串中的第1個(gè)字符,[-1]表示截取字符串中的倒數(shù)第1個(gè)字符。如果要截取字符串中的連續(xù)幾個(gè)字符,則可以使用方括號(hào)加英文冒號(hào)。例如,[1:5]表示截取字符串中的第2~5個(gè)字符(索引值為1~4的字符),需要注意的是,不包括冒號(hào)右邊索引位上的字符(索引值為5的字符)。示例代碼如下:

輸出結(jié)果如下:

注意:Python中的字符串不能改變,也就是說(shuō),字符串在被創(chuàng)建后,就不能再改變了。示例代碼如下:

輸出結(jié)果如下:

在這個(gè)例子中,首先將字符串“hello world”賦給變量str,然后通過(guò)索引str[0]修改字符串變量str中第1個(gè)字符的值,結(jié)果引起報(bào)錯(cuò)。這印證了字符串一旦創(chuàng)建,就不能被修改。

2.3.5 List(列表)

列表就像是備忘清單,每個(gè)編號(hào)都記錄著一項(xiàng)清單詳情,它是有序數(shù)據(jù)的集合,通過(guò)編號(hào)可以引用列表中的數(shù)據(jù)。列表也是策略開(kāi)發(fā)中使用比較頻繁的數(shù)據(jù)類(lèi)型,商品期貨API接口返回的大部分?jǐn)?shù)據(jù)都是以列表形式呈現(xiàn)的。Python中的列表可以存儲(chǔ)不同類(lèi)型的元素,包括數(shù)字、字符串、列表、字典等。

列表使用方括號(hào)“[]”包含元素,相鄰兩個(gè)元素之間使用英文逗號(hào)“,”作為間隔符。和字符串類(lèi)似,列表也可以通過(guò)索引獲取其中的元素,并且使用索引截取列表中的一部分,列表在被截取后會(huì)返回一個(gè)新的列表,示例代碼如下:

輸出結(jié)果如下:

在列表中可以使用[頭下標(biāo):尾下標(biāo)]截取相應(yīng)的元素,頭下標(biāo)和尾下標(biāo)可以是正數(shù),也可以是負(fù)數(shù),如果頭下標(biāo)為空,則表示截取到頭部;如果尾下標(biāo)為空,則表示截取到尾部。和字符串不同的是,列表中的元素是可以改變的。可以對(duì)列表變量進(jìn)行索引、切片、增加、刪除、修改、查詢等基本操作。示例代碼如下:

輸出結(jié)果如下:

Python中有很多用于對(duì)列表進(jìn)行操作的函數(shù)。例如,使用len()函數(shù)可以獲取列表中有多少個(gè)元素,使用append()函數(shù)可以在列表尾部增加一個(gè)元素,使用pop()函數(shù)可以刪除列表中的一個(gè)元素,默認(rèn)刪除最后一個(gè)元素。示例代碼如下:

輸出結(jié)果如下:

在上述代碼中,首先定義了一個(gè)列表變量,然后在列表變量尾部添加了一個(gè)元素,再使用Log()函數(shù)將修改后的列表變量打印出來(lái),接著使用pop()函數(shù)刪除了列表變量中的最后一個(gè)元素,最后再次使用Log()函數(shù)將列表變量打印出來(lái)。

2.3.6 Dictionary(字典)

字典定義了鍵和值之間一對(duì)一的映射關(guān)系,主要用于存儲(chǔ)具有映射關(guān)系的數(shù)據(jù),它是一個(gè)無(wú)序、可變、有索引的集合。字典中的數(shù)據(jù)會(huì)用花括號(hào)“{}”括起來(lái),數(shù)據(jù)結(jié)構(gòu)如下:

可以看到,字典中的元素是一個(gè)鍵名對(duì)應(yīng)一個(gè)鍵值,如鍵名(keyName)"name"對(duì)應(yīng)鍵值(keyValue)"TOM"。和列表類(lèi)似,字典也可以嵌套。例如,在上述代碼中,字典變量dict1中的鍵名"address"對(duì)應(yīng)的鍵值就是一個(gè)字典。

輸出結(jié)果如下:

注意:因?yàn)樽值涫峭ㄟ^(guò)鍵名訪問(wèn)鍵值的,所以字典中的鍵名必須是唯一的,并且鍵名的數(shù)據(jù)類(lèi)型必須為不可變類(lèi)型。可以使用內(nèi)置的keys()函數(shù)輸出所有鍵名,使用內(nèi)置的values()函數(shù)輸出所有鍵值,示例代碼如下:

輸出結(jié)果如下:

在上述代碼中,首先定義了一個(gè)字典變量,然后使用Log()函數(shù)分別打印出該字典變量中的鍵名和鍵值(values)。需要注意的是,如果字典變量中的鍵值是一個(gè)子字典,那么該字典變量的values()函數(shù)會(huì)輸出整個(gè)字典變量中的值(包括子字典)。

2.3.7 數(shù)據(jù)類(lèi)型轉(zhuǎn)換函數(shù)

Python提供了幾種數(shù)據(jù)類(lèi)型轉(zhuǎn)換函數(shù),用于將一種數(shù)據(jù)類(lèi)型的數(shù)據(jù)轉(zhuǎn)換為另一種數(shù)據(jù)類(lèi)型的數(shù)據(jù)。例如,將浮點(diǎn)數(shù)轉(zhuǎn)換為整數(shù),將整數(shù)轉(zhuǎn)換為字符串,等等。

● 將x轉(zhuǎn)換為int類(lèi)型:ret=int(x)。

● 將x轉(zhuǎn)換為float類(lèi)型:ret=float(x)。

● 將x轉(zhuǎn)換為string類(lèi)型:ret=str(x)。

Phthon中數(shù)據(jù)類(lèi)型轉(zhuǎn)換的示例代碼如下:

輸出結(jié)果如下:

在上述代碼中,首先定義了一個(gè)浮點(diǎn)型變量,然后使用int()函數(shù)將該浮點(diǎn)型變量轉(zhuǎn)換為整型變量,接著定義了一個(gè)字符串變量,再使用float()函數(shù)將該字符串變量轉(zhuǎn)換為浮點(diǎn)型變量,最后使用str()函數(shù)將浮點(diǎn)型變量pi轉(zhuǎn)換為字符串變量并打印其數(shù)據(jù)類(lèi)型。

主站蜘蛛池模板: 藁城市| 红河县| 彭山县| 德州市| 满洲里市| 台前县| 磐安县| 金坛市| 杭锦后旗| 左贡县| 南充市| 东港市| 淮南市| 依兰县| 宿松县| 靖宇县| 洪洞县| 涟源市| 嘉义市| 长岛县| 定南县| 亳州市| 通山县| 北宁市| 永昌县| 淄博市| 天气| 邓州市| 昌宁县| 铜鼓县| 太白县| 图片| 孟连| 金华市| 仁布县| 余庆县| 溧水县| 贡嘎县| 东乡县| 福鼎市| 平舆县|