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的方法
Apr 15 Python
浅析Python多线程下的变量问题
Apr 28 Python
解决python xlrd无法读取excel文件的问题
Dec 25 Python
pycharm 实现显示project 选项卡的方法
Jan 17 Python
python scrapy爬虫代码及填坑
Aug 12 Python
pip install python 快速安装模块的教程图解
Oct 08 Python
使用python实现希尔、计数、基数基础排序的代码
Dec 25 Python
np.dot()函数的用法详解
Jan 17 Python
Python Opencv中用compareHist函数进行直方图比较对比图片
Apr 07 Python
Python求解排列中的逆序数个数实例
May 03 Python
python datetime时间格式的相互转换问题
Jun 11 Python
Python OpenCV实现图形检测示例详解
Apr 08 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新手上路(八)
2006/10/09 PHP
简单的PHP缓存设计实现代码
2011/09/30 PHP
php编程每天必学之验证码
2016/03/03 PHP
DOM2非标准但却支持很好的几个属性小结
2012/01/21 Javascript
jQuery取id有.的值的方法
2014/05/21 Javascript
Javascript 数组排序详解
2014/10/22 Javascript
node.js中的http.createClient方法使用说明
2014/12/15 Javascript
vue单页应用加百度统计代码(亲测有效)
2018/01/31 Javascript
vue-cli脚手架config目录下index.js配置文件的方法
2018/03/13 Javascript
JavaScript模拟实现自由落体效果
2018/08/28 Javascript
JS秒杀倒计时功能完整实例【使用jQuery3.1.1】
2019/09/03 jQuery
layui原生表单验证的实例
2019/09/09 Javascript
javascript设计模式 ? 策略模式原理与用法实例分析
2020/04/21 Javascript
mpvue 项目初始化及实现授权登录的实现方法
2020/07/20 Javascript
python自定义类并使用的方法
2015/05/07 Python
python实现搜索本地文件信息写入文件的方法
2016/02/22 Python
Python创建xml文件示例
2017/03/22 Python
python实现简单点对点(p2p)聊天
2017/09/13 Python
python实现windows下文件备份脚本
2018/05/27 Python
selenium+python自动化测试之环境搭建
2019/01/23 Python
利用python如何在前程无忧高效投递简历
2019/05/07 Python
Python的matplotlib绘图如何修改背景颜色的实现
2019/07/16 Python
学Python 3的理由和必要性
2019/11/19 Python
python设置环境变量的作用整理
2020/02/17 Python
Django 如何使用日期时间选择器规范用户的时间输入示例代码详解
2020/05/22 Python
澳大利亚小众服装品牌:Maurie & Eve
2018/03/27 全球购物
Mamaearth官方网站:印度母婴护理产品公司
2019/10/06 全球购物
Jar包的作用是什么
2014/03/30 面试题
27个经典Linux面试题及答案,你知道几个?
2014/03/11 面试题
《最可爱的人》教学反思
2014/02/14 职场文书
租房协议书范例
2014/10/14 职场文书
2015年爱牙日活动总结
2015/03/23 职场文书
2015年团队工作总结范文
2015/05/04 职场文书
优秀学生干部主要事迹材料
2015/11/04 职场文书
浅谈Redis位图(Bitmap)及Redis二进制中的问题
2021/07/15 Redis
Python使用psutil库对系统数据进行采集监控的方法
2021/08/23 Python