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通过装饰器检查函数参数数据类型的方法
Mar 13 Python
Python访问纯真IP数据库脚本分享
Jun 29 Python
Python爬虫代理IP池实现方法
Jan 05 Python
python+pygame简单画板实现代码实例
Dec 13 Python
Pandas中把dataframe转成array的方法
Apr 13 Python
python多维数组切片方法
Apr 13 Python
python删除本地夹里重复文件的方法
Nov 19 Python
使用 Python 实现微信群友统计器的思路详解
Sep 26 Python
python requests指定出口ip的例子
Jul 25 Python
使用python 的matplotlib 画轨道实例
Jan 19 Python
Python创建临时文件和文件夹
Aug 05 Python
python自动生成sql语句的脚本
Feb 24 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
重量级动漫纷纷停播!唯独OVERLORD第四季正在英魂之刃继续更新
2020/05/06 日漫
apache和php之间协同工作的配置经验分享
2013/04/08 PHP
Laravel5权限管理方法详解
2016/07/26 PHP
Thinkphp5.0自动生成模块及目录的方法详解
2017/04/17 PHP
jQuery中filter(),not(),split()使用方法
2010/07/06 Javascript
js jquery数组介绍
2012/07/15 Javascript
JS获取图片实际宽高及根据图片大小进行自适应
2013/08/11 Javascript
js 3种归并操作的实例代码
2013/10/30 Javascript
Javascript中封装window.open解决不兼容问题
2014/09/28 Javascript
jQuery实现的自动加载页面功能示例
2016/09/04 Javascript
JavaScript中cookie工具函数封装的示例代码
2016/10/11 Javascript
JavaScript实现的鼠标响应颜色渐变效果完整实例
2017/02/18 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
2017/08/15 jQuery
原生JS实现图片无缝滚动方法(附带封装的运动框架)
2017/10/01 Javascript
vue.js 微信支付前端代码分享
2018/02/10 Javascript
KOA+egg.js集成kafka消息队列的示例
2018/11/09 Javascript
微信小程序仿知乎实现评论留言功能
2018/11/28 Javascript
countUp.js实现数字动态变化效果
2019/10/17 Javascript
python多进程操作实例
2014/11/21 Python
归纳整理Python中的控制流语句的知识点
2015/04/14 Python
Python查找函数f(x)=0根的解决方法
2015/05/07 Python
Python存取XML的常见方法实例分析
2017/03/21 Python
CentOS7.3编译安装Python3.6.2的方法
2018/01/22 Python
使用python读取txt文件的内容,并删除重复的行数方法
2018/04/18 Python
wxPython实现窗口用图片做背景
2018/04/25 Python
pandas.DataFrame选取/排除特定行的方法
2018/07/03 Python
django框架实现一次性上传多个文件功能示例【批量上传】
2019/06/19 Python
python打开windows应用程序的实例
2019/06/28 Python
python中有关时间日期格式转换问题
2019/12/25 Python
jupyter notebook插入本地图片的实现
2020/04/13 Python
python中rc1什么意思
2020/06/19 Python
Django搭建项目实战与避坑细节详解
2020/12/06 Python
能否解释一下XSS cookie盗窃是什么意思
2012/06/02 面试题
工作会议欢迎词
2014/01/16 职场文书
就业推荐表自我鉴定
2014/03/21 职场文书
党的群众路线教育实践活动个人对照检查材料(校长)
2014/11/05 职场文书