017浮点数-自动转换-强制转换-增强赋值运算符 浮点数 称为float 用a*b^10形式表示的科学计数法,比如:3.14,314E-2或者314e-2 这些数字在内存当中也是按照科学计数法存储、
>>>float(3)3
>>>float(3)
3
>>>314E-23.14>>>float(“3.14”)3.14
>>>314E-2
3.14
>>>float(“3.14”)
3.14
>>>int(3.84)3>>>round(3.54)4>>>round(3.14)3
>>>int(3.84)
3
>>>round(3.54)
4
>>>round(3.14)
3
round(value)可以返回四舍五入的值
注意:但是不会改变原来的值,而是产生新的值。
增强型赋值运算符
运算符+,-,*,/,//,**和%和赋值符=结合可以构成增强型赋值与少奶奶福
a=a+1等价于a+=1
+和=之间不需要加空格 018时间表示-unix时间点-毫秒-微秒-time模块
时间的表示
计算机的时间表示是从1970年1月1日 00:00:00开始,以毫秒(1/1000秒)进行计算,我们也把1970年这个时刻成为unix时间点
python当中可以通过time.time()获得当前的时刻,返回的值是以秒为单位的,带有微妙(1/1000)毫秒的精度的浮点值,例如:1530167364.8566
布尔值
True,False
>>>import time>>>time.time()>>>b=int(time.time())>>>totalMinutes=b//60>>>totalMinutes>>>totalHours=totalMinutes//60>>>totalHours425046>>>totalDays17710>>>totalYears=totalays//365>>>totalYears>>>48
>>>import time
>>>time.time()
>>>b=int(time.time())
>>>totalMinutes=b//60
>>>totalMinutes
>>>totalHours=totalMinutes//60
>>>totalHours
425046
>>>totalDays
17710
>>>totalYears=totalays//365
>>>totalYears
>>>48
019多点坐标-绘制折线图-计算两点之间的距离
【操作】-定义多点坐标-绘制出折现,并计算起始点和终点的距离
import turtleimport math#定义多个点的坐标x1,y1=100,199x2,y2=100,-100x3,y3=-100,-100x4,y4=-100,100#绘制折现turtle.penup()turtle.goto(x1,y1)turtle.pendown()turtle.goto(x2,y2)turtle.goto(x3,y3)turtle.goto(x4,y4)#计算起始点和重点的距离distance=math.sqrt((x1-x4)**2+(y1-y4)**2)turtle.write(distance)
import turtle
import math
#定义多个点的坐标x1,y1=100,199
x2,y2=100,-100
x3,y3=-100,-100
x4,y4=-100,100
#绘制折现
turtle.penup()
turtle.goto(x1,y1)
turtle.pendown()
turtle.goto(x2,y2)
turtle.goto(x3,y3)
turtle.goto(x4,y4)
#计算起始点和重点的距离
distance=math.sqrt((x1-x4)**2+(y1-y4)**2)
turtle.write(distance)
运行结果: 020.布尔值-比较运算符-逻辑运算符-短路问题
布尔值:
Python2当中没有布尔值,直接用数字0表示False用数字1表示True
Python3当中:TRUE还有False
>>>a=True>>>b=3>>>a+b4
>>>a=True
>>>b=3
>>>a+b
4
比较运算符
逻辑运算符
x and y
>>>a=True
>>>b=False
>>>a or 30
True
>>>b or 30
30
>>>a or 30/0
True
x or y
如果说x为true则不再计算y了,直接返回True
021同一运算符-整数缓存问题
同一运算符用于比较两个对象的存储单元,实际上比较的是对象的值
is
is是判断两个标识符是不是引用同一个对象
is not
is not是判断两个标识符是不是引用不同的对象
is和===的区别:
is用于判断两个变量的引用的对象是否是同一个,即比较对象的地址
==
用于判断引用变量引用对象的值是否是相等的,默认调用的对象是_eq_()方法
>>>a=1000>>>b=1000>>>a==bTrue>>> a is bFalse>>id(a)46764560>>id(b)46766216
>>>a=1000
>>>b=1000
>>>a==b
True
>>> a is b
False
>>id(a)
46764560
>>id(b)
46766216
整数缓存的问题
Python仅仅对比较小的整数对象进行缓存(范围是[-5,256])缓存起来,而并非是所有的整数对象,需要注意的是,这仅仅是在命令行中执行,而在Pycharm或者保存为文件执行,结果是不一样的,这是因为解释器做了一部分的游侠(范围是[-5,任意正整数])
>>>c=10>>>d=10>>>c is dTrue>>>id(c)138831648>>>id(d)138831648
>>>c=10
>>>d=10
>>>c is d
True
>>>id(c)
138831648
>>>id(d)
138831648
总结:
- IS比较两个对象的id的值是否相等,是否指向同一个内存地址
- ==比较的是两个对象的内容是否相等,值是否相等
- 小整数对象[-5,256]在全局解释器范围内被放入缓存供重复使用
- IS运算符比==效率高,在变量和None进行比较的时候,应该使用is