欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python如何實(shí)現(xiàn)int函數(shù)的方法示例

 更新時(shí)間:2018年02月19日 11:07:27   作者:熔遁丶螺旋手里劍  
int()函數(shù)常用來(lái)把其他類型轉(zhuǎn)換為整數(shù),下面這篇文章主要給大家介紹了關(guān)于python如何實(shí)現(xiàn)int函數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。

前言

拖了這么久,最終還是戰(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)文章

最新評(píng)論