Python_学习笔记

基础语法

2018-03-30  本文已影响0人  Shun2018

基础语法

一、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")

。。。

上一篇 下一篇

猜你喜欢

热点阅读