python如何實現int函數的方法示例
前言
拖了這么久,最終還是戰(zhàn)勝了懶惰,打開電腦寫了這篇博客,內容也很簡單,python實現字符串轉整型的int方法
python已經實現了int方法,我們?yōu)槭裁催€要再寫一遍,直接用不就好了?事實確實如此,但是int函數看似簡單,實際上自己來實現還是有一些坑的
1.判斷正負
這點很容易忘記
2.python不能字符串減法
python不能像c++一樣直接使用s - '0'直接實現個位數的字符串轉整型,而是需要轉換ascii碼,ord(s) - ord('0')來實現轉換
3.判斷是否超限
這也是手寫int函數最容易忽略的問題,返回結果不能出int的限制,python中int類型的最大值使用sys.maxint查看。但是python語言很神奇,實際上python內置的int方法并沒有結果必須小于maxint的限制
下面給出我的python實現
#!/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
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關文章
Django rest framework分頁接口實現原理解析
這篇文章主要介紹了Django rest framework分頁接口實現原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-08-08
Windows環(huán)境中Python應用服務自啟動及其監(jiān)控問題
這篇文章主要介紹了Windows環(huán)境中Python應用服務自啟動及其監(jiān)控問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06

