python如何實(shí)現(xiàn)int函數(shù)的方法示例
前言
拖了這么久,最終還是戰(zhàn)勝了懶惰,打開電腦寫了這篇博客,內(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ù)最容易忽略的問題,返回結(jié)果不能出int的限制,python中int類型的最大值使用sys.maxint
查看。但是python語(yǔ)言很神奇,實(shí)際上python內(nèi)置的int方法并沒有結(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à)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
利用Python實(shí)現(xiàn)簡(jiǎn)單的Excel統(tǒng)計(jì)函數(shù)
這篇文章主要介紹了利用Python實(shí)現(xiàn)簡(jiǎn)單的Excel統(tǒng)計(jì)函數(shù),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-07-07ubuntu?20.04系統(tǒng)下如何切換gcc/g++/python的版本
這篇文章主要給大家介紹了關(guān)于ubuntu?20.04系統(tǒng)下如何切換gcc/g++/python版本的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用ubuntu具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-12-12Python調(diào)用ctypes使用C函數(shù)printf的方法
這篇文章主要介紹了Python調(diào)用ctypes使用C函數(shù)printf,需要的朋友可以參考下2017-08-08python之從文件讀取數(shù)據(jù)到list的實(shí)例講解
下面小編就為大家分享一篇python之從文件讀取數(shù)據(jù)到list的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2018-04-04Python實(shí)現(xiàn)抓取頁(yè)面上鏈接的簡(jiǎn)單爬蟲分享
這篇文章主要介紹了Python實(shí)現(xiàn)抓取頁(yè)面上鏈接的簡(jiǎn)單爬蟲分享,本文使用了一個(gè)開源模塊requests實(shí)現(xiàn)需求,需要的朋友可以參考下2015-01-01深入探討Python中的內(nèi)置類屬性`__repr__`
在Python中,__repr__是一個(gè)特殊的內(nèi)置類屬性,用于定義類的字符串表示形式,本文將深入探討__repr__的作用、用法以及一些實(shí)際應(yīng)用場(chǎng)景,希望對(duì)大家有所幫助2023-12-12Python實(shí)戰(zhàn)之實(shí)現(xiàn)截圖識(shí)別文字
本文主要介紹了通過python實(shí)現(xiàn)截圖識(shí)別圖中文字的功能,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以學(xué)習(xí)一下2021-11-11Python實(shí)現(xiàn)爬取亞馬遜數(shù)據(jù)并打印出Excel文件操作示例
這篇文章主要介紹了Python實(shí)現(xiàn)爬取亞馬遜數(shù)據(jù)并打印出Excel文件操作,結(jié)合實(shí)例形式分析了Python針對(duì)亞馬遜圖書數(shù)據(jù)的爬取操作,以及數(shù)據(jù)打印輸出Excel相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-05-05