python如何实现int函数的方法示例


Posted in Python onFebruary 19, 2018

前言

拖了这么久,最终还是战胜了懒惰,打开电脑写了这篇博客,内容也很简单,python实现字符串转整型的int方法

python已经实现了int方法,我们为什么还要再写一遍,直接用不就好了?事实确实如此,但是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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
python ip正则式
May 07 Python
详细解读Python中的__init__()方法
May 02 Python
Django框架中数据的连锁查询和限制返回数据的方法
Jul 17 Python
简单谈谈python的反射机制
Jun 28 Python
Python中使用haystack实现django全文检索搜索引擎功能
Aug 26 Python
Python输出各行命令详解
Feb 01 Python
pandas全表查询定位某个值所在行列的方法
Apr 12 Python
python实现多进程代码示例
Oct 31 Python
Python3 安装PyQt5及exe打包图文教程
Jan 08 Python
python 格式化输出百分号的方法
Jan 20 Python
python判断字符串或者集合是否为空的实例
Jan 23 Python
Python 、Pycharm、Anaconda三者的区别与联系、安装过程及注意事项
Oct 11 Python
Python cookbook(数据结构与算法)实现查找两个字典相同点的方法
Feb 18 #Python
Python cookbook(数据结构与算法)字典相关计算问题示例
Feb 18 #Python
Python cookbook(数据结构与算法)让字典保持有序的方法
Feb 18 #Python
Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法
Feb 18 #Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
Feb 18 #Python
python快速建立超简单的web服务器的实现方法
Feb 17 #Python
Python cookbook(数据结构与算法)找到最大或最小的N个元素实现方法示例
Feb 13 #Python
You might like
php 无限级数据JSON格式及JS解析
2010/07/17 PHP
简单的cookie计数器实现源码
2013/06/07 PHP
js 浮动层菜单收藏
2009/01/16 Javascript
浅析offsetLeft,Left,clientLeft之间的区别
2013/11/30 Javascript
JavaScript实现生成GUID(全局统一标识符)
2014/09/05 Javascript
JavaScript实现计算字符串中出现次数最多的字符和出现的次数
2015/03/12 Javascript
nodejs实现获取某宝商品分类
2015/05/28 NodeJs
AngularJs bootstrap搭载前台框架——基础页面
2016/09/01 Javascript
AngularJS 应用身份认证的技巧总结
2016/11/07 Javascript
微信小程序加载更多 点击查看更多
2016/11/29 Javascript
微信小程序 页面传值详解
2017/03/10 Javascript
jQuery 添加样式属性的优先级别方法(推荐)
2017/06/08 jQuery
基于Vue实例对象的数据选项
2017/08/09 Javascript
微信小程序基于slider组件动态修改标签透明度的方法示例
2017/12/04 Javascript
Vue用v-for给src属性赋值的方法
2018/03/03 Javascript
JS中获取 DOM 元素的绝对位置实例详解
2018/04/23 Javascript
vue-router实现嵌套路由的讲解
2019/01/19 Javascript
微信小程序API—获取定位的详解
2019/04/30 Javascript
JS如何判断对象是否包含某个属性
2020/08/29 Javascript
vue实现简易的双向数据绑定
2020/12/29 Vue.js
[17:13]DOTA2 HEROS教学视频教你分分钟做大人-斯拉克
2014/06/13 DOTA
Python实现删除Android工程中的冗余字符串
2015/01/19 Python
Python解惑之整数比较详解
2017/04/24 Python
修改python plot折线图的坐标轴刻度方法
2018/12/13 Python
处理python中多线程与多进程中的数据共享问题
2019/07/28 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
2019/10/12 Python
python 画3维轨迹图并进行比较的实例
2019/12/06 Python
Python中sys模块功能与用法实例详解
2020/02/26 Python
Django用数据库表反向生成models类知识点详解
2020/03/25 Python
python的help函数如何使用
2020/06/11 Python
jurlique茱莉蔻英国官网:澳洲天然护肤品
2018/08/03 全球购物
大一新生军训时的自我评价分享
2013/12/05 职场文书
交通事故赔偿协议书范本
2014/04/15 职场文书
政府绩效管理实施方案
2014/05/04 职场文书
优秀家长事迹材料
2014/05/17 职场文书
浅谈MySQL之select优化方案
2021/08/07 MySQL