python语言基础

来源:互联网 发布:淘宝透明睡衣买家秀 编辑:程序博客网 时间:2024/06/16 12:40

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()是列出字典所有的keyprint ‘name’ in d.keys()#结果返回True
上面两种方式,我更推荐使用第二种,因为has_key()是python2.2之前的方法,而且使用in的方法会更快一些。
最后告诉大家一点:除了使用in还可以使用not in,判定这个key不存在哦~









3 0