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操作json数据的一个简单例子
Apr 17 Python
浅谈Python 中整型对象的存储问题
May 16 Python
python中的随机函数random的用法示例
Jan 27 Python
实例讲解python中的序列化知识点
Oct 08 Python
快速解决docker-py api版本不兼容的问题
Aug 30 Python
python实现代码统计器
Sep 19 Python
python 实现在无序数组中找到中位数方法
Mar 03 Python
在pycharm中debug 实时查看数据操作(交互式)
Jun 09 Python
基于 Python 实践感知器分类算法
Jan 07 Python
Python基础之数据类型知识汇总
May 18 Python
用python实现监控视频人数统计
May 21 Python
Elasticsearch 数据类型及管理
Apr 19 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中数字、字符与对象判断函数用法实例
2014/11/26 PHP
一个完整的PHP类包含的七种语法说明
2015/06/04 PHP
隐性调用php程序的方法
2015/06/13 PHP
PHP+MySQL实现消息队列的方法分析
2018/05/09 PHP
Yii1.1框架实现PHP极光推送消息通知功能
2018/09/06 PHP
jquery+ajax实现跨域请求的方法
2015/01/20 Javascript
js实现文字跟随鼠标移动而移动的方法
2015/02/28 Javascript
浅析JavaScript中的变量复制、参数传递和作用域链
2016/01/13 Javascript
jQuery 全选 全部选 反选 实现代码
2016/08/17 Javascript
详谈js中数组(array)和对象(object)的区别
2017/02/27 Javascript
vue router+vuex实现首页登录验证判断逻辑
2018/05/17 Javascript
在vue中使用公共过滤器filter的方法
2018/06/26 Javascript
nodejs基础之常用工具模块util用法分析
2018/12/26 NodeJs
详解Vue 全局变量,局部变量
2019/04/17 Javascript
微信小程序用户拒绝授权的处理方法详解
2019/09/20 Javascript
详解微信小程序轨迹回放实现及遇到的坑
2021/02/02 Javascript
python文件读写并使用mysql批量插入示例分享(python操作mysql)
2014/02/17 Python
python基础教程之常用运算符
2014/08/29 Python
Python打印“菱形”星号代码方法
2018/02/05 Python
教你使用python画一朵花送女朋友
2018/03/29 Python
解决Pycharm中import时无法识别自己写的程序方法
2018/05/18 Python
pyQT5 实现窗体之间传值的示例
2019/06/20 Python
python字典的setdefault的巧妙用法
2019/08/07 Python
基于python分析你的上网行为 看看你平时上网都在干嘛
2019/08/13 Python
Django跨域资源共享问题(推荐)
2020/03/09 Python
python实现杨辉三角的几种方法代码实例
2021/03/02 Python
css3强大的动画效果animate使用说明及浏览器兼容介绍
2013/01/09 HTML / CSS
一款纯css3实现的tab选项卡的实列教程
2014/12/11 HTML / CSS
使用phonegap检测网络状态的方法
2017/03/30 HTML / CSS
阿提哈德航空官方网站:Etihad Airways
2017/01/06 全球购物
高清安全摄像头系统:Lorex Technology
2018/07/20 全球购物
Zipadee-Zip襁褓过渡毯:Sleeping Baby
2018/12/30 全球购物
波兰快递服务:Globkurier.pl
2019/11/08 全球购物
党员学习中共十八大报告思想汇报
2014/09/15 职场文书
支行行长竞聘报告
2014/11/06 职场文书
Python学习之异常中的finally使用详解
2022/03/16 Python