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 相关文章推荐
go和python变量赋值遇到的一个问题
Aug 31 Python
Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法
May 04 Python
python日期时间转为字符串或者格式化输出的实例
May 29 Python
Python中list查询及所需时间计算操作示例
Jun 21 Python
python pandas 对时间序列文件处理的实例
Jun 22 Python
CentOS7下python3.7.0安装教程
Jul 30 Python
Python中__slots__属性介绍与基本使用方法
Sep 05 Python
对Python Class之间函数的调用关系详解
Jan 23 Python
python实现对象列表根据某个属性排序的方法详解
Jun 11 Python
Python整数与Numpy数据溢出问题解决
Sep 11 Python
解析python实现Lasso回归
Sep 11 Python
python中delattr删除对象方法的代码分析
Dec 15 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手机号码归属地查询代码(API接口/mysql)
2012/09/04 PHP
php 问卷调查结果统计
2015/10/08 PHP
基于php判断客户端类型
2016/10/14 PHP
PHP实现的mysql主从数据库状态检测功能示例
2017/07/20 PHP
php实例化一个类的具体方法
2019/09/19 PHP
求得div 下 img的src地址的js代码
2007/02/28 Javascript
js实现的网站首页随机公告随机公告
2007/03/14 Javascript
用js写了一个类似php的print_r输出换行功能
2013/02/18 Javascript
JavaScript中创建类/对象的几种方法总结
2013/11/29 Javascript
弹出最简单的模式化遮罩层的js代码
2013/12/04 Javascript
Javascript自定义函数判断网站访问类型是PC还是移动终端
2014/01/10 Javascript
如何获取网站icon有哪些可行的方法
2014/06/05 Javascript
详解微信小程序开发—你期待的分享功能来了,微信小程序序新增5大功能
2016/12/23 Javascript
详解vue axios中文文档
2017/09/12 Javascript
js实现点击选项置顶动画效果
2020/08/25 Javascript
[09:47]2018DOTA2亚洲邀请赛4.5SOLO赛 No[o]ne vs Sumail
2018/04/06 DOTA
Python中实现两个字典(dict)合并的方法
2014/09/23 Python
在Python中操作字符串之rstrip()方法的使用
2015/05/19 Python
matplotlib.pyplot画图 图片的二进制流的获取方法
2018/05/24 Python
python 弹窗提示警告框MessageBox的实例
2019/06/18 Python
python中while和for的区别总结
2019/06/28 Python
opencv3/Python 稠密光流calcOpticalFlowFarneback详解
2019/12/11 Python
使用opencv识别图像红色区域,并输出红色区域中心点坐标
2020/06/02 Python
sublime3之内网安装python插件Anaconda的流程
2020/11/10 Python
CSS3使用多列制作瀑布流
2016/05/10 HTML / CSS
html5使用html2canvas实现浏览器截图的示例
2017/08/31 HTML / CSS
加拿大女鞋品牌:ALDO
2016/11/13 全球购物
荷兰手表网站:Watch2Day
2018/07/02 全球购物
美国在线旅行社:Crystal Travel
2018/09/11 全球购物
新年晚会主持词
2014/03/24 职场文书
《雨点儿》教学反思
2014/04/14 职场文书
四年级小学生评语
2014/12/26 职场文书
教师读书笔记
2015/06/29 职场文书
总结一些Java常用的加密算法
2021/06/11 Java/Android
MySQL实战记录之如何快速定位慢SQL
2022/03/23 MySQL
windows10声卡驱动怎么安装?win10声卡驱动安装操作步骤教程
2022/08/05 数码科技