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统计文本字符串里单词出现频率的方法
May 26 Python
Python常见格式化字符串方法小结【百分号与format方法】
Sep 18 Python
Python解惑之整数比较详解
Apr 24 Python
使用Python+Splinter自动刷新抢12306火车票
Jan 03 Python
python模块之paramiko实例代码
Jan 31 Python
Python中pow()和math.pow()函数用法示例
Feb 11 Python
Tensorflow中tf.ConfigProto()的用法详解
Feb 06 Python
python删除指定列或多列单个或多个内容实例
Jun 28 Python
Selenium alert 弹窗处理的示例代码
Aug 06 Python
python 无损批量压缩图片(支持保留图片信息)的示例
Sep 22 Python
如何完美的建立一个python项目
Oct 09 Python
C3 线性化算法与 MRO之Python中的多继承
Oct 05 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
当海贼王变成JOJO风
2020/03/02 日漫
PHP缩略图等比例无损压缩,可填充空白区域补充色
2011/06/10 PHP
PHP全功能无变形图片裁剪操作类与用法示例
2017/01/10 PHP
PHP receiveMail实现收邮件功能
2018/04/25 PHP
Laravel关系模型指定条件查询方法
2019/10/10 PHP
你需要知道的10个最佳javascript开发实践小结
2012/04/15 Javascript
node.js开发中使用Node Supervisor实现监测文件修改并自动重启应用
2014/11/04 Javascript
JSON遍历方式实例总结
2015/12/07 Javascript
javascript加载xml 并解析各节点的值(实现方法)
2016/10/12 Javascript
JavaScript获取select中text值的方法
2017/02/13 Javascript
浅谈原生JS实现jQuery的animate()动画示例
2017/03/08 Javascript
React Native之ListView实现九宫格效果的示例
2017/08/02 Javascript
微信小程序新手教程之页面打开数量限制
2019/03/03 Javascript
详解node登录接口之密码错误限制次数(含代码)
2019/10/25 Javascript
vue实现抽屉弹窗效果
2020/11/15 Javascript
html中创建并调用vue组件的几种方法汇总
2020/11/17 Javascript
[39:02]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs VGJ.T
2018/04/01 DOTA
Python实现将不规范的英文名字首字母大写
2016/11/15 Python
Python文本相似性计算之编辑距离详解
2016/11/28 Python
python实现日常记账本小程序
2018/03/10 Python
深入浅析python3中的unicode和bytes问题
2019/07/03 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
2019/08/21 Python
Python logging模块进行封装实现原理解析
2020/08/07 Python
python邮件中附加文字、html、图片、附件实现方法
2021/01/04 Python
python连接手机自动搜集蚂蚁森林能量的实现代码
2021/02/24 Python
日本最大美瞳直送网:Morecontact(中文)
2019/04/03 全球购物
复古服装:RetroStage
2019/05/10 全球购物
渗透攻击的测试步骤
2014/06/07 面试题
火山动力Java笔试题
2014/06/26 面试题
幼教个人求职信范文
2013/12/02 职场文书
中式面点餐厅创业计划书
2014/01/29 职场文书
班长竞选演讲稿
2014/04/24 职场文书
党员自我对照检查材料
2014/08/19 职场文书
期末复习计划
2015/01/19 职场文书
幼儿园2016圣诞节活动总结
2016/03/31 职场文书
详解NumPy中的线性关系与数据修剪压缩
2022/05/25 Python