python如何實(shí)現(xiàn)int函數(shù)的方法示例
前言
拖了這么久,最終還是戰(zhàn)勝了懶惰,打開(kāi)電腦寫了這篇博客,內(nèi)容也很簡(jiǎn)單,python實(shí)現(xiàn)字符串轉(zhuǎn)整型的int方法
python已經(jīng)實(shí)現(xiàn)了int方法,我們?yōu)槭裁催€要再寫一遍,直接用不就好了?事實(shí)確實(shí)如此,但是int函數(shù)看似簡(jiǎn)單,實(shí)際上自己來(lái)實(shí)現(xiàn)還是有一些坑的
1.判斷正負(fù)
這點(diǎn)很容易忘記
2.python不能字符串減法
python不能像c++一樣直接使用s - '0'直接實(shí)現(xiàn)個(gè)位數(shù)的字符串轉(zhuǎn)整型,而是需要轉(zhuǎn)換ascii碼,ord(s) - ord('0')來(lái)實(shí)現(xiàn)轉(zhuǎn)換
3.判斷是否超限
這也是手寫int函數(shù)最容易忽略的問(wèn)題,返回結(jié)果不能出int的限制,python中int類型的最大值使用sys.maxint查看。但是python語(yǔ)言很神奇,實(shí)際上python內(nèi)置的int方法并沒(méi)有結(jié)果必須小于maxint的限制
下面給出我的python實(shí)現(xiàn)
#!/use/bin/env python
# _*_ coding:utf-8 _*_
import sys
max_int = sys.maxint
num_tuple = ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9')
def _int(input_string):
total_num = 0
is_minus = False
string = input_string.strip()
if string.startswith('-'):
is_minus = True
string = string[1:]
for s in string:
if s not in num_tuple:
print "input error"
return 0
num = ord(s) - ord('0')
total_num = total_num * 10 + num
if total_num > max_int:
total_num = max_int
break
return total_num * -1 if is_minus else total_num
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
Django rest framework分頁(yè)接口實(shí)現(xiàn)原理解析
這篇文章主要介紹了Django rest framework分頁(yè)接口實(shí)現(xiàn)原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
python實(shí)現(xiàn)飛機(jī)大戰(zhàn)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)飛機(jī)大戰(zhàn)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09
利用Python中的Xpath實(shí)現(xiàn)一個(gè)在線匯率轉(zhuǎn)換器
這篇文章主要給大家介紹了關(guān)于如何利用Python中的Xpath實(shí)現(xiàn)一個(gè)在線匯率轉(zhuǎn)換器的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
Python使用urllib2獲取網(wǎng)絡(luò)資源實(shí)例講解
urllib2是Python的一個(gè)獲取URLs(Uniform Resource Locators)的組件。他以u(píng)rlopen函數(shù)的形式提供了一個(gè)非常簡(jiǎn)單的接口,下面我們用實(shí)例講解他的使用方法2013-12-12
python實(shí)現(xiàn)決策樹(shù)分類算法
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)決策樹(shù)分類算法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12
Python實(shí)現(xiàn)的讀寫json文件功能示例
這篇文章主要介紹了Python實(shí)現(xiàn)的讀寫json文件功能,結(jié)合實(shí)例形式分析了Python針對(duì)json文件進(jìn)行讀寫的常見(jiàn)操作技巧與注意事項(xiàng),需要的朋友可以參考下2018-06-06
Windows環(huán)境中Python應(yīng)用服務(wù)自啟動(dòng)及其監(jiān)控問(wèn)題
這篇文章主要介紹了Windows環(huán)境中Python應(yīng)用服務(wù)自啟動(dòng)及其監(jiān)控問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06
將python代碼打包成.exe文件直接運(yùn)行的具體步驟
小編最近收到了一個(gè)小伙伴的問(wèn)題,就是那么多有趣的代碼,怎么發(fā)給別人,讓沒(méi)有python環(huán)境的小伙伴也可以使用呢,本文小編將帶著大家探索如何將自己的python代碼打包成.exe可執(zhí)行文件,一起來(lái)看看吧2024-02-02

