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多线程编程方式分析示例详解
Dec 06 Python
用Python程序抓取网页的HTML信息的一个小实例
May 02 Python
图文讲解选择排序算法的原理及在Python中的实现
May 04 Python
Python中Collections模块的Counter容器类使用教程
May 31 Python
详解Python 序列化Serialize 和 反序列化Deserialize
Aug 20 Python
Python判断是否json是否包含一个key的方法
Dec 31 Python
Python判断两个文件是否相同与两个文本进行相同项筛选的方法
Mar 01 Python
python字符串的拼接方法总结
Nov 18 Python
Python小程序之在图片上加入数字的代码
Nov 26 Python
python 输出列表元素实例(以空格/逗号为分隔符)
Dec 25 Python
解决Python中报错TypeError: must be str, not bytes问题
Apr 07 Python
python获得命令行输入的参数的两种方式
Nov 02 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
变量在 PHP7 内部的实现(二)
2015/12/21 PHP
jQuery入门知识简介
2010/03/04 Javascript
js 刷新页面的代码小结 推荐
2010/04/02 Javascript
学习javascript,实现插入排序实现代码
2011/07/31 Javascript
Jquery Change与bind事件代码
2011/09/29 Javascript
Jjcarousellite 实现图片列表滚动的简单实例
2013/11/29 Javascript
jquery选择器大全 全面详解jquery选择器
2014/03/06 Javascript
JavaScript定义变量和变量优先级问题探讨
2014/10/11 Javascript
Javascript通过overflow控制列表闭合与展开的方法
2015/05/15 Javascript
JavaScript中的splice()方法使用详解
2015/06/09 Javascript
JavaScript中三个等号和两个等号的区别(== 和 ===)浅析
2016/09/22 Javascript
JavaScript用JSONP跨域请求数据实例详解
2017/01/06 Javascript
详解在vue-cli项目中安装node-sass
2017/06/21 Javascript
在ABP框架中使用BootstrapTable组件的方法
2017/07/31 Javascript
jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法
2017/12/24 jQuery
读懂CommonJS的模块加载
2019/04/19 Javascript
JavaScript获取时区实现过程解析
2020/09/24 Javascript
python的Template使用指南
2014/09/11 Python
Python中的浮点数原理与运算分析
2017/10/12 Python
Python文件的读写和异常代码示例
2017/10/31 Python
Python二叉树的定义及常用遍历算法分析
2017/11/24 Python
使用python编写udp协议的ping程序方法
2018/04/22 Python
python3使用matplotlib绘制散点图
2019/03/19 Python
pycharm不能运行.py文件的解决方法
2020/02/12 Python
Python爬虫程序架构和运行流程原理解析
2020/03/09 Python
python中使用input()函数获取用户输入值方式
2020/05/03 Python
主持人婚宴答谢词
2014/01/28 职场文书
农贸市场管理制度
2014/01/31 职场文书
工商干部先进事迹
2014/05/14 职场文书
感恩小明星事迹材料
2014/05/23 职场文书
销售求职信范文
2014/05/26 职场文书
乡镇食品安全责任书
2014/07/28 职场文书
群众路线教育实践活动学习心得体会
2014/10/30 职场文书
订货会邀请函
2015/01/31 职场文书
《卧薪尝胆》读后感3篇
2019/12/26 职场文书
Linux中文件的基本属性介绍
2022/06/01 Servers