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 functools模块学习总结
May 09 Python
django定期执行任务(实例讲解)
Nov 03 Python
Python 内置函数memoryview(obj)的具体用法
Nov 23 Python
基于pycharm导入模块显示不存在的解决方法
Oct 13 Python
使用Template格式化Python字符串的方法
Jan 22 Python
TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片
Mar 14 Python
在python中实现调用可执行文件.exe的3种方法
Jul 07 Python
python构建指数平滑预测模型示例
Nov 21 Python
flask框架url与重定向操作实例详解
Jan 25 Python
parser.add_argument中的action使用
Apr 20 Python
matplotlib 多个图像共用一个colorbar的实现示例
Sep 10 Python
python实现MySQL指定表增量同步数据到clickhouse的脚本
Feb 26 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
MySql 按时间段查询数据方法(实例说明)
2008/11/02 PHP
PHP strncasecmp字符串比较的小技巧
2011/01/04 PHP
php中session_unset与session_destroy的区别分析
2011/06/16 PHP
Laravel5.1 框架Request请求操作常见用法实例分析
2020/01/04 PHP
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.3
2008/03/22 Javascript
认识延迟时间为0的setTimeout
2008/05/16 Javascript
IE中radio 或checkbox的checked属性初始状态下不能选中显示问题
2009/07/25 Javascript
JavaScript分秒倒计时器实现方法
2015/02/02 Javascript
异步安全加载javascript文件的方法
2015/07/21 Javascript
使用JS实现图片展示瀑布流效果的实例代码
2016/09/12 Javascript
Javascript 使用ajax与C#获取文件大小实例详解
2017/01/13 Javascript
js中小数向上取整数,向下取整数,四舍五入取整数的实现(必看篇)
2017/02/13 Javascript
jQuery实现简单的计时器功能实例分析
2017/08/29 jQuery
浅谈JavaScript作用域和闭包
2017/09/18 Javascript
使用FileReader API创建Vue文件阅读器组件
2018/04/03 Javascript
Vuejs2 + Webpack框架里,模拟下载的实例讲解
2018/09/05 Javascript
vue-cli3 项目从搭建优化到docker部署的方法
2019/01/28 Javascript
js消除图片小游戏代码
2019/12/11 Javascript
python解析xml模块封装代码
2014/02/07 Python
python登录pop3邮件服务器接收邮件的方法
2015/04/30 Python
Python常用的文件及文件路径、目录操作方法汇总介绍
2015/05/21 Python
python实现比较两段文本不同之处的方法
2015/05/30 Python
python+VTK环境搭建及第一个简单程序代码
2017/12/13 Python
用python实现k近邻算法的示例代码
2018/09/06 Python
python实现将文件夹下面的不是以py文件结尾的文件都过滤掉的方法
2018/10/21 Python
Python 绘制酷炫的三维图步骤详解
2019/07/12 Python
处理HTML5新标签的浏览器兼容版问题
2017/03/13 HTML / CSS
美体小铺奥地利官方网站:The Body Shop奥地利
2019/04/11 全球购物
Python面试题:如何用Python来发送邮件
2016/03/15 面试题
应届生法律求职信
2013/10/22 职场文书
卫生院健康教育实施方案
2014/06/07 职场文书
辩护词格式
2015/05/22 职场文书
小型婚礼主持词
2015/06/30 职场文书
2015年秋季小学开学标语
2015/07/16 职场文书
在Spring-Boot中如何使用@Value注解注入集合类
2021/08/02 Java/Android
MySQL详细讲解变量variables的用法
2022/06/21 MySQL