读书笔记
《Introducton to Programming Using Python》 chapter two
一. int 和 eval的区别
- 对于计算字符串,如’3+4’, 用int()会报错,
而eval(),会计算出数值
num1 = int('3 + 4') #报错
num2 = eval('3 + 4')
print(num1) # 报错
print(num2)
- 对于字符串前有可以缺省的0,eval()报错, int()正常运行
num3 = int('0002')
num4 = eval('001') # 报错
print(num3) # 显示2
print(num4) # 报错
二. \ 继续符号,告诉python 解释器,这条语句继续到下一行
sum = 1 + 2 + 3 \
+ 4 + 5
print(sum)
三. 交换两个变量的值
x = 2
y = 3
#交换两个数的值,不知道在c语言中是否存在 同时赋值
x, y = y, x
print( x, y )
四. 科学计数法
e 或者 E 来表示科学记数法
x = 1.2e6
print(x)
五. 优先级
# 阶乘的优先级更高
x = 16 / 2 ** 2
print(x)
六. 指定小数点后几位输出
比如说小数点后两位输出,num = 1.23456
法一:
print(int(num * 100) / 100)
自增100倍后,通过类型转换截取了整数部分,保留了小数点后两位,之后 缩小100 倍,从而实现了保留小数点后两位,但这样不能四舍五入。当然可以舍近求远用round ()函数来处理。 如下:
print(round(num * 100) / 100)
法二:
对于round() 函数,参数为 round( number, ndigits=None). 所以函数本身提供了指定位数的四舍五入, 如下:
print(round(num, 2))
便实现了保留小数点后两位,且为四舍五入的结果。
这里的表述存在问题,可以参阅这篇文章。
青南的文章 - 知乎
https://zhuanlan.zhihu.com/p/60952919