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

2.5 Python中的數(shù)字和字符串

數(shù)字和字符串是大部分編程語(yǔ)言中的基本數(shù)據(jù)類(lèi)型,也是通過(guò)策略代碼實(shí)現(xiàn)量化交易的基礎(chǔ)。Python中有很多用于處理數(shù)字和字符串的函數(shù),這些內(nèi)置函數(shù)可以滿足大部分策略開(kāi)發(fā)需求。

2.5.1 內(nèi)置數(shù)學(xué)函數(shù)

Python中的math庫(kù)提供了很多復(fù)雜數(shù)學(xué)運(yùn)算的相關(guān)數(shù)據(jù)和函數(shù),如取絕對(duì)值,四舍五入等函數(shù)。這些函數(shù)不能直接訪問(wèn),需要使用“import”導(dǎo)入math庫(kù),并且使用靜態(tài)對(duì)象調(diào)用。示例代碼如下:

輸出結(jié)果如下:

在上述代碼中,首先導(dǎo)入math庫(kù),接著定義了一個(gè)數(shù)字變量,直接調(diào)用math.e和math.pi可以獲得自然常數(shù)和圓周率,math庫(kù)中的函數(shù)還可以進(jìn)行較復(fù)雜的數(shù)學(xué)運(yùn)算,如計(jì)算絕對(duì)值、冪數(shù)、平方根等。

2.5.2 訪問(wèn)字符串中的字符

字符串是由多個(gè)字符組成的,字符與字符之間是有順序的,字符的順序號(hào)稱(chēng)為索引。字符串的索引值是從0開(kāi)始的。例如,有一個(gè)字符串stringA="Hello ABC",它在內(nèi)存空間中的存儲(chǔ)順序如表2.2所示。

表2.2 字符串“Hello ABC”在內(nèi)存空間中的存儲(chǔ)順序

如果要選取字符串區(qū)間內(nèi)容,則需要遵循左閉右開(kāi)的原則,即從“起始”位開(kāi)始,到“結(jié)束”位的前一位結(jié)束(不包含結(jié)束位本身)。最后一個(gè)元素的索引值是-1。示例代碼如下:

輸出結(jié)果如下:

在上述代碼中,首先創(chuàng)建了一個(gè)字符串變量,然后根據(jù)字符串的索引值獲取其中的字符。在這個(gè)例子中,“[6:9]”表示獲取該字符串中索引值為6~8的字符,如果索引值為-1,則獲取該字符串中的最后一個(gè)字符;如果索引值為-2,則獲取該字符串中的倒數(shù)第2個(gè)字符;以此類(lèi)推。

2.5.3 拼接字符串

在Python中,字符串的拼接有很多種方式,如通過(guò)加號(hào)(+)拼接,或者通過(guò)逗號(hào)(,)拼接。當(dāng)需要拼接大量字符串時(shí),這兩種方法就非常低效了,此時(shí)可以使用Python內(nèi)置的join()函數(shù)進(jìn)行拼接。示例代碼如下:

輸出結(jié)果如下:

在上述代碼中,定義了兩個(gè)變量a、b,并且分別將其賦值為"hello"、"world!",然后通過(guò)3種方法拼接兩個(gè)字符串(通過(guò)“+”符號(hào)拼接,通過(guò)“,”符號(hào)拼接,使用join()函數(shù)拼接)并打印。

2.5.4 其他常用函數(shù)

Python還提供了一些其他用于處理字符串的函數(shù)。

● len()函數(shù):獲取字符串中的字符個(gè)數(shù),即字符串長(zhǎng)度。

● lower()函數(shù):將字符串中的所有大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)字母。

● upper()函數(shù):將字符串中的所有小寫(xiě)字母轉(zhuǎn)換為大寫(xiě)字母。

● replace()函數(shù):替換字符串中的部分字符。

● split()函數(shù):字符串分割函數(shù)。

示例代碼如下:

輸出結(jié)果如下:

在上述代碼中,首先定義了一個(gè)字符串變量,然后使用len()函數(shù)獲取該字符串變量的長(zhǎng)度,使用lower()函數(shù)將字符串變量中的所有大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)字母,使用upper()函數(shù)將字符串變量中的所有小寫(xiě)字母轉(zhuǎn)換為大寫(xiě)字母,使用replace()函數(shù)替換字符串變量中指定的字符串,使用split()函數(shù)根據(jù)指定的字符分割字符串并返回列表,最后獲取列表中的元素。

主站蜘蛛池模板: 石景山区| 泊头市| 桂阳县| 鞍山市| 长宁县| 盘锦市| 绵阳市| 刚察县| 青阳县| 阳西县| 凤庆县| 新闻| 枞阳县| 孟州市| 南昌县| 光泽县| 安阳县| 武陟县| 安图县| 景德镇市| 孝义市| 阿尔山市| 开原市| 观塘区| 枣强县| 齐河县| 阜阳市| 卢湾区| 丹阳市| 黄陵县| 镇江市| 罗城| 揭东县| 新巴尔虎右旗| 高密市| 家居| 阜康市| 商洛市| 巢湖市| 荔波县| 仪征市|