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中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
Oct 23 Python
详解Python中的join()函数的用法
Apr 07 Python
讲解Python中的标识运算符
May 14 Python
Django的session中对于用户验证的支持
Jul 23 Python
Python2.7读取PDF文件的方法示例
Jul 13 Python
TF-IDF算法解析与Python实现方法详解
Nov 16 Python
Python pymongo模块用法示例
Mar 31 Python
使用Python的Django和layim实现即时通讯的方法
May 25 Python
Python + selenium + requests实现12306全自动抢票及验证码破解加自动点击功能
Nov 23 Python
Python中常用的8种字符串操作方法
May 06 Python
Pycharm 如何一键加引号的方法步骤
Feb 05 Python
Python 居然可以在 Excel 中画画你知道吗
Feb 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
新52大事件
2020/03/03 欧美动漫
《PHP编程最快明白》第八讲:php启发和小结
2010/11/01 PHP
编写php应用程序实现摘要式身份验证的方法详解
2013/06/08 PHP
smarty模板数学运算示例
2016/12/11 PHP
Yii2.0 RESTful API 基础配置教程详解
2018/12/26 PHP
js下用gb2312编码解码实现方法
2009/12/31 Javascript
Array.prototype.concat不是通用方法反驳[译]
2012/09/20 Javascript
AJAX跨域请求json数据的实现方法
2013/11/11 Javascript
JS判断客户端是手机还是PC的2个代码
2014/04/12 Javascript
JavaScript fontcolor方法入门实例(按照指定的颜色来显示字符串)
2014/10/17 Javascript
运用jQuery定时器的原理实现banner图片切换
2014/10/22 Javascript
javascript文本框内输入文字倒计数的方法
2015/02/24 Javascript
nodejs URL模块操作URL相关方法介绍
2015/03/03 NodeJs
jquery通过closest选择器修改上级元素的方法
2015/03/17 Javascript
AngularJs学习第五篇从Controller控制器谈谈$scope作用域
2016/06/08 Javascript
相册展示PhotoSwipe.js插件实现
2016/08/25 Javascript
codeMirror插件使用讲解
2017/01/16 Javascript
jQuery弹出窗口简单实现代码
2017/03/09 Javascript
Layui表格行工具事件与数据回填方法
2019/09/13 Javascript
js+canvas实现画板功能
2020/09/13 Javascript
Vue+element-ui添加自定义右键菜单的方法示例
2020/12/08 Vue.js
Python 通过URL打开图片实例详解
2017/06/01 Python
python通过tcp发送xml报文的方法
2018/12/28 Python
解决python线程卡死的问题
2019/02/18 Python
Python高级编程之消息队列(Queue)与进程池(Pool)实例详解
2019/11/01 Python
浅谈matplotlib.pyplot与axes的关系
2020/03/06 Python
django xadmin action兼容自定义model权限教程
2020/03/30 Python
keras 获取某层的输入/输出 tensor 尺寸操作
2020/06/10 Python
Python将字典转换为XML的方法
2020/08/01 Python
Django日志及中间件模块应用案例
2020/09/10 Python
孤独星球出版物:Lonely Planet Publications
2018/03/17 全球购物
儿媳婚宴答谢词
2014/01/14 职场文书
大家访活动实施方案
2014/03/10 职场文书
大学生安全教育心得体会
2016/01/15 职场文书
Ruby处理YAML和json数据
2022/04/18 Ruby
Golang ort 中的sortInts 方法
2022/04/24 Golang