第三天 知识点总结
一、变量赋值的原理
经典面试题:
python是否能够计算出9999**9999的值。
答案是可以的。 但是java和c不能。理由是低沉的原理
python定义变量的原理:
python定义变量时,先申请内存,申请的内存大小为数据的内存大小,然后将数据保存到内存中,再把数据和内存进行绑定。
python重新赋值的原理
python重新给变量赋值, 需要重新申请一个内存,然后把变量和新的内存进行绑定,并且将原来的内存释放掉 。
java和c定义变量的原理
java和c在定义变量的时候,先根据数据类型去申请内存,然后将数据与内存进行绑定
java和c重新赋值原理
java和c在重新给变量赋值,直接把原来的数据删除掉,然后重新加一个进去
比较:
因为python需要先计算数据的内存,然后再申请内存,而java和c直接申请该数据的类型所占的内存,所以python的运行速度比java和C语言慢。
python中的申请的内存是数据的内存大小,而java和c数据类型决定所占内存的大小,所以python比java和c更节约内存。
二、运算符
1、数学运算符 +、 —、 *、 / 、%(取余;取模)、 //(整除)、 **(幂运算)
(1)+ - * / 与小学数学的加减乘除一样
注:+、-、*、中如果运算对象中有浮点数,输出的结果就是浮点数。如果运算对象全为整数,输出的结果就是整数。
python中除法运算的结果是浮点数,而java和c中,如果运算对象全为整数,输出的结果就是整数。
print(5/2) # 2.5
而在java中,5/2的输出结果为2, 5.0/2的输出结果为2.5
(2)% - x%y:求X除以Y的余数
运用一: 判断一个数是否能够被某个数整除,余数是0则能被整除
运用二: 取一个整数的低位数,对10或者10的幂次方求余
# 取58的个位数
num=58
print(num%10)
(3)整除 // - 求商并且对商取最大整数
应用一:去掉低位数
去掉5847中的7
print(5847//10)
应用二: 获取任何一个整数的十位数
num=4782
# 方法一
print(num//10