基础语法
一、python2与3的除法区别
在python2中:
a = 10
b = 20
a / b = 0(整数与整数相除,结果是整数,只取结果的整数部分)
如果想得到小数,需要将a或者b装换成浮点型,如下
a / float(b) = 0.5
在python3中(a、b的赋值与python2中的一致):
a / b = 0.5
如果想要得到整数,忽略小数部分,需要用//(整除),如下:
a // b = 0
二、python3新引入了if表达式
a = 4
a if a > 0 else 0
输出a的值为4
三、python中没有switch语句,完全可以用if-elif-else语句代替
四、遍历可迭代对象的元素时,循环体不应该修改迭代器
for item in iterator:
block(block中的代码不应该修改iterator中的内容)
五、range函数
在python2中,
range(10)直接产生一个0到9的list对象,在python中,整数数值可以无限大,
如果range函数的参数足够大,会产生一个足够占满所有内存的list对象;
xrange(10)则产生一个xrange可迭代对象,在调用的时候才取值,相比range节省内存。
在python3中,没有xrange函数,只有range函数(实际上,把python2中的xrange函数重命名为range);
range(10)返回一个range对象,如果要迭代出里面的元素,如下:
r = range(10)
iter(r)(返回一个range_iterator类型的可迭代对象,对其进行迭代)
也可以使用内置的list函数,将r对象转换成list对象,进行遍历操作:
list(r)
六、else子句
如果循环体没有break退出,else子句就会执行,否则,else子句不被执行,如下:
for x in range(0, 10, 2):
if x % 2 != 0:
break
else:
print("OK")
以上else子句等价于如下代码(通过对比,else简化了程序代码):
is_ok = True
for x in range(0, 10, 2):
if x % 2 != 0:
is_ok = False
break
if is_ok:
print("OK")
。。。
网友评论