时间的表示
python 中可以通过 time.time() 获得当前时刻,返回的值是以秒为单位,带微秒(1/1000 毫秒)精度的浮点值。例如:1530167364.8566。
计算机中时间的表示是从“1970 年 1 月 1 日 00:00:00”开始,以毫秒(1/1000 秒进行计算。我们也把 1970 年这个时刻成为"unix"时间点。
计算从1970年至今的时间间隔 单位秒,分钟,小时,天,年
>>> import time
>>> time.time()
1630416374.4692526
>>> b = int(time.time())
>>> b
1630416497
>>> totalMinutes = b/60
>>> totalMinutes
27173608.283333335
>>> totalMinutes = b//60
>>> totalMinutes
27173608
>>> totalHours = totalMinutes//60
>>> totalHours
452893
>>> totalDays = totalHours//24
>>> totalDays
18870
>>> totalYears = totalDays//365
>>> totalYears
51
>>>
布尔值
Python2 中没有布尔值,直接用数字 0 表示 False,用数字 1 表示 True。 Python3 中,把 True 和 False 定义成了关键字,但他们的本质还是 1 和 0,甚至可以和数字相加。
>>> a = True
>>> b = 3
>>> a+b
4
比较运算符
所有比较运算符返回 1 表示真,返回 0 表示假。这分别与特殊的变量 True 和 False 等价。 以下假设变量 a 为 15 变量 b 为 30:
逻辑运算符
>>> a = True
>>> b = False
>>> a or b
True
>>> a or 30
True
>>> b or 30
30
同一运算符
同一运算符用于比较两个对象的存储单元,实际比较的是对象的地址 is 用于判断对象是否引用同一个地址。 == 用于判断值是否相等,默认调用对象的 eq()方法。
>>> a =1000
>>> b = 1000
>>> a == b
True
>>> a is b
False
>>> id(a)
2217526562640
>>> id(b)
2217526562608
>>> c = 10
>>> d = 10
>>> c is d
True
>>> id(c)
2217487460944
>>> id(d)
2217487460944
整数缓存问题
Python 仅仅对比较小的整数对象进行缓存(范围为[-5, 256])缓存起来,而并非是所有整数对象。
总结
1、is 比较两个对象的 id 值是否相等,是否指向同一个内存地址; 2、== 比较的是两个对象的内容是否相等,值是否相等; 3、小整数对象[-5,256]在全局解释器范围内被放入缓存供重复使用; 4、is 运算符比 == 效率高,在变量和 None 进行比较时,应该使用 is。
|