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 Selenium爬取内容并存储至MySQL数据库的实现代码
Mar 16 Python
Python使用zip合并相邻列表项的方法示例
Mar 17 Python
pip install urllib2不能安装的解决方法
Jun 12 Python
对pandas的层次索引与取值的新方法详解
Nov 06 Python
python实现大文件分割与合并
Jul 22 Python
PIL对上传到Django的图片进行处理并保存的实例
Aug 07 Python
详解python tkinter模块安装过程
Jan 06 Python
Python读取分割压缩TXT文本文件实例
Feb 14 Python
python爬虫开发之PyQuery模块详细使用方法与实例全解
Mar 09 Python
使用Python实现将多表分批次从数据库导出到Excel
May 15 Python
python如何写个俄罗斯方块
Nov 06 Python
Django REST framework 限流功能的使用
Jun 24 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
根德Grundig S400/S500/S700电路分析
2021/03/02 无线电
PHPEXCEL 使用小记
2013/01/06 PHP
PHP循环结构实例讲解
2014/02/10 PHP
示例详解Laravel的注册重构
2016/08/14 PHP
PHP设计模式之命令模式示例详解
2020/12/20 PHP
js wmp操作代码小结(音乐连播功能)
2008/11/08 Javascript
Whatever:hover 无需javascript让IE支持丰富伪类
2010/06/29 Javascript
使用js正则控制input标签只允许输入的值
2013/07/29 Javascript
解决ueditor jquery javascript 取值问题
2014/12/30 Javascript
JS实现带提示的星级评分效果完整实例
2015/10/30 Javascript
js+canvas绘制五角星的方法
2016/01/28 Javascript
基于JS实现无缝滚动思路及代码分享
2016/06/07 Javascript
nodejs实例解析(输出hello world)
2017/01/03 NodeJs
MUI 解决动态列表页图片懒加载再次加载不成功的bug问题
2017/04/13 Javascript
基于angular2 的 http服务封装的实例代码
2017/06/29 Javascript
JS中的两种数据类型及实现引用类型的深拷贝的方法
2018/08/12 Javascript
详解如何配置vue-cli3.0的vue.config.js
2018/08/23 Javascript
vue 项目中使用Loading组件的示例代码
2018/08/31 Javascript
webpack4 SplitChunks实现代码分隔详解
2019/05/23 Javascript
JS的时间格式化和时间戳转换函数示例详解
2020/07/27 Javascript
Python的Flask框架中实现简单的登录功能的教程
2015/04/20 Python
Python3结合Dlib实现人脸识别和剪切
2018/01/24 Python
python使用turtle绘制国际象棋棋盘
2019/05/23 Python
python实现从本地摄像头和网络摄像头截取图片功能
2019/07/11 Python
Windows系统Python直接调用C++ DLL的方法
2019/08/01 Python
python处理document文档保留原样式
2019/09/23 Python
jupyter notebook读取/导出文件/图片实例
2020/04/16 Python
Skyscanner波兰:廉价航班
2017/11/07 全球购物
Ootori在线按摩椅店:一家专业的按摩椅制造商
2019/04/10 全球购物
传统软件工程与面向对象的软件工程有什么区别
2012/05/31 面试题
通信工程专业毕业生推荐信
2013/12/25 职场文书
优秀教师的感人事迹
2014/02/04 职场文书
小学生新年寄语
2014/04/03 职场文书
个人合伙协议书范本
2014/10/14 职场文书
党员干部廉洁自律承诺书
2015/04/28 职场文书
python周期任务调度工具Schedule使用详解
2021/11/23 Python