python语言基础

1. Python 不会存在溢出问题

>>> sys.maxint
# 9223372036854775807
得到的结果为2^63-1,其实上得到2^31-1还是2^31-1取决于你的操作系统。

见Python源码的Misc/History:
sys.maxint is the
largest Python int, which is actually a C long

如果这句话属实, 它是由当前编译环境的"long"类型所决定的。 而在64位系统下, C的sizeof(long)通常也是4, 所以sys.maxint同32位下相同。

从 Python 手册中:

数字是数值或者为创建的内置功能和运算符的结果。 原始整数文本(包括二进制.hex,和八进制数字)生成纯整数, 除非它们指明的值过大, 无法表示为一个纯整数.在其中case表达一个长整数。 Integer文字加上一个 'L' or 'l' 长整型( 后缀产生 'L' 是首选选项, 因为 1l 看上去非常象十一个! ) 。

这句话表明,如果一个值超过 Integer 最大值,那么Python 会在最后加上 L

>>> import sys
>>> sys.maxint + 1
# 没错,结果就是9223372036854775808L
为此 Python 很好的解决了溢出问题。

需要了解更多请参考:[Python 2 到 3 系列]此整型非彼整型


2.判断python字典中key是否存在的两种方法

今天来说一下如何判断字典中是否存在某个key,一般有两种通用做法,下面为大家来分别讲解一下:
第一种方法:使用自带函数实现。
在python的字典的属性方法里面有一个has_key()方法,这个方法使用起来非常简单。
例:

#生成一个字典
d = {'name':{},'age':{},'sex':{}}
#打印返回值
print d.has_key('name')
#结果返回True

第二种方法:使用in方法
#生成一个字典
d = {'name':{},'age':{},'sex':{}}
#打印返回值,其中d.keys()是列出字典所有的key
print ‘name’ in d.keys()
#结果返回True
上面两种方式,我更推荐使用第二种,因为has_key()是python2.2之前的方法,而且使用in的方法会更快一些。
最后告诉大家一点:除了使用in还可以使用not in,判定这个key不存在哦~









  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值