- 商品期貨量化交易實(shí)戰(zhàn):以Python為工具
- 胡凱博等編著
- 1062字
- 2022-04-29 16:52:02
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ù)指定的字符分割字符串并返回列表,最后獲取列表中的元素。
- PPP項(xiàng)目財(cái)務(wù)評(píng)價(jià)實(shí)戰(zhàn)指南(第二版)
- 黃金的故事
- 國(guó)際金融危機(jī)與中國(guó)的宏觀審慎政策:影響與對(duì)策研究
- 國(guó)際金融學(xué)(第三版)
- 操盤(pán)手記:135均線交易系統(tǒng)實(shí)戰(zhàn)精解
- 黃金投資:入門(mén)與提高
- 說(shuō)謊者的撲克牌:華爾街的投資游戲(暢銷(xiāo)版)
- 金融分析的制度范式:制度金融學(xué)導(dǎo)論(國(guó)家哲學(xué)社會(huì)科學(xué)成果文庫(kù))
- 余豐慧金融十二講:傳統(tǒng)銀行之“死”
- 站上金融之巔:互聯(lián)網(wǎng)金融的本質(zhì)與創(chuàng)新
- 勝率優(yōu)先:待機(jī)而動(dòng)的極值投資策略
- 企業(yè)風(fēng)險(xiǎn)評(píng)估與控制
- 巴菲特法則
- 量化投資:MATLAB數(shù)據(jù)挖掘技術(shù)與實(shí)踐(第2版)
- 每天讀點(diǎn)金融學(xué)